www.pudn.com > USBÉ豸¶Áд.rar > usbhead.h


 
#include "devioctl.h" 
#include "usbdi.h" 
#include 						 
#include 					 
 
extern "C" { 
#include "hidsdi.h" 
#include  
} 
#define DRVUNKNOWN		0 
#define DRVFIXED		1 
#define DRVREMOTE		2 
#define DRVRAM			3 
#define DRVCD			4 
#define DRVREMOVE		5 
typedef enum _STORAGE_BUS_TYPE { 
    BusTypeUnknown = 0x00, 
    BusTypeScsi, 
    BusTypeAtapi, 
    BusTypeAta, 
    BusType1394, 
    BusTypeSsa, 
    BusTypeFibre, 
    BusTypeUsb, 
    BusTypeRAID, 
    BusTypeMaxReserved = 0x7F 
} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE; 
typedef struct _STORAGE_DEVICE_DESCRIPTOR { 
  ULONG  Version; 
  ULONG  Size; 
  UCHAR  DeviceType; 
  UCHAR  DeviceTypeModifier; 
  BOOLEAN  RemovableMedia; 
  BOOLEAN  CommandQueueing; 
  ULONG  VendorIdOffset; 
  ULONG  ProductIdOffset; 
  ULONG  ProductRevisionOffset; 
  ULONG  SerialNumberOffset; 
  STORAGE_BUS_TYPE  BusType; 
  ULONG  RawPropertiesLength; 
  UCHAR  RawDeviceProperties[1]; 
 
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR; 
typedef enum _STORAGE_QUERY_TYPE { 
  PropertyStandardQuery = 0, 
  PropertyExistsQuery, 
  PropertyMaskQuery, 
  PropertyQueryMaxDefined 
 
} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE; 
 
typedef enum _STORAGE_PROPERTY_ID { 
  StorageDeviceProperty = 0, 
  StorageAdapterProperty, 
  StorageDeviceIdProperty 
 
} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID; 
 
typedef struct _STORAGE_PROPERTY_QUERY { 
  STORAGE_PROPERTY_ID  PropertyId; 
  STORAGE_QUERY_TYPE  QueryType; 
  UCHAR  AdditionalParameters[1]; 
 
} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY; 
 
typedef struct _STRING_DESCRIPTOR_NODE 
{ 
    struct _STRING_DESCRIPTOR_NODE *Next; 
    UCHAR                           DescriptorIndex; 
    USHORT                          LanguageID; 
    USB_STRING_DESCRIPTOR           StringDescriptor[0]; 
} STRING_DESCRIPTOR_NODE, *PSTRING_DESCRIPTOR_NODE; 
extern void WINAPI HIDIOCompletionRoutine(DWORD, DWORD, LPOVERLAPPED); 
#define IOCTL_STORAGE_QUERY_PROPERTY   CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)