⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winddk.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 5 页
字号:
      ULONG DataSize;      ULONG Reserved1;      ULONG Reserved2;    } DeviceSpecificData;  } u;} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Type */#define CmResourceTypeNull                0#define CmResourceTypePort                1#define CmResourceTypeInterrupt           2#define CmResourceTypeMemory              3#define CmResourceTypeDma                 4#define CmResourceTypeDeviceSpecific      5#define CmResourceTypeBusNumber           6#define CmResourceTypeMaximum             7#define CmResourceTypeNonArbitrated     128#define CmResourceTypeConfigData        128#define CmResourceTypeDevicePrivate     129#define CmResourceTypePcCardConfig      130#define CmResourceTypeMfCardConfig      131/* CM_PARTIAL_RESOURCE_DESCRIPTOR.ShareDisposition */typedef enum _CM_SHARE_DISPOSITION {  CmResourceShareUndetermined,  CmResourceShareDeviceExclusive,  CmResourceShareDriverExclusive,  CmResourceShareShared} CM_SHARE_DISPOSITION;/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypePort */#define CM_RESOURCE_PORT_MEMORY           0x0000#define CM_RESOURCE_PORT_IO               0x0001#define CM_RESOURCE_PORT_10_BIT_DECODE    0x0004#define CM_RESOURCE_PORT_12_BIT_DECODE    0x0008#define CM_RESOURCE_PORT_16_BIT_DECODE    0x0010#define CM_RESOURCE_PORT_POSITIVE_DECODE  0x0020#define CM_RESOURCE_PORT_PASSIVE_DECODE   0x0040#define CM_RESOURCE_PORT_WINDOW_DECODE    0x0080/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeInterrupt */#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000#define CM_RESOURCE_INTERRUPT_LATCHED         0x0001/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeMemory */#define CM_RESOURCE_MEMORY_READ_WRITE     0x0000#define CM_RESOURCE_MEMORY_READ_ONLY      0x0001#define CM_RESOURCE_MEMORY_WRITE_ONLY     0x0002#define CM_RESOURCE_MEMORY_PREFETCHABLE   0x0004#define CM_RESOURCE_MEMORY_COMBINEDWRITE  0x0008#define CM_RESOURCE_MEMORY_24             0x0010#define CM_RESOURCE_MEMORY_CACHEABLE      0x0020/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeDma */#define CM_RESOURCE_DMA_8                 0x0000#define CM_RESOURCE_DMA_16                0x0001#define CM_RESOURCE_DMA_32                0x0002#define CM_RESOURCE_DMA_8_AND_16          0x0004#define CM_RESOURCE_DMA_BUS_MASTER        0x0008#define CM_RESOURCE_DMA_TYPE_A            0x0010#define CM_RESOURCE_DMA_TYPE_B            0x0020#define CM_RESOURCE_DMA_TYPE_F            0x0040typedef struct _CM_PARTIAL_RESOURCE_LIST {  USHORT  Version;  USHORT  Revision;  ULONG  Count;  CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;typedef struct _CM_FULL_RESOURCE_DESCRIPTOR {  INTERFACE_TYPE  InterfaceType;  ULONG  BusNumber;  CM_PARTIAL_RESOURCE_LIST  PartialResourceList;} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;typedef struct _CM_RESOURCE_LIST {  ULONG  Count;  CM_FULL_RESOURCE_DESCRIPTOR  List[1];} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;typedef struct _CM_INT13_DRIVE_PARAMETER {  USHORT  DriveSelect;  ULONG  MaxCylinders;  USHORT  SectorsPerTrack;  USHORT  MaxHeads;  USHORT  NumberDrives;} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;#include <poppack.h>typedef struct _CM_KEYBOARD_DEVICE_DATA {  USHORT  Version;  USHORT  Revision;  UCHAR  Type;  UCHAR  Subtype;  USHORT  KeyboardFlags;} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;#define KEYBOARD_INSERT_ON                0x80#define KEYBOARD_CAPS_LOCK_ON             0x40#define KEYBOARD_NUM_LOCK_ON              0x20#define KEYBOARD_SCROLL_LOCK_ON           0x10#define KEYBOARD_ALT_KEY_DOWN             0x08#define KEYBOARD_CTRL_KEY_DOWN            0x04#define KEYBOARD_LEFT_SHIFT_DOWN          0x02#define KEYBOARD_RIGHT_SHIFT_DOWN         0x01typedef struct _CM_MCA_POS_DATA {  USHORT  AdapterId;  UCHAR  PosData1;  UCHAR  PosData2;  UCHAR  PosData3;  UCHAR  PosData4;} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;typedef struct CM_Power_Data_s {  ULONG  PD_Size;  DEVICE_POWER_STATE  PD_MostRecentPowerState;  ULONG  PD_Capabilities;  ULONG  PD_D1Latency;  ULONG  PD_D2Latency;  ULONG  PD_D3Latency;  DEVICE_POWER_STATE  PD_PowerStateMapping[PowerSystemMaximum];} CM_POWER_DATA, *PCM_POWER_DATA;#define PDCAP_D0_SUPPORTED                0x00000001#define PDCAP_D1_SUPPORTED                0x00000002#define PDCAP_D2_SUPPORTED                0x00000004#define PDCAP_D3_SUPPORTED                0x00000008#define PDCAP_WAKE_FROM_D0_SUPPORTED      0x00000010#define PDCAP_WAKE_FROM_D1_SUPPORTED      0x00000020#define PDCAP_WAKE_FROM_D2_SUPPORTED      0x00000040#define PDCAP_WAKE_FROM_D3_SUPPORTED      0x00000080#define PDCAP_WARM_EJECT_SUPPORTED        0x00000100typedef struct _CM_SCSI_DEVICE_DATA {  USHORT  Version;  USHORT  Revision;  UCHAR  HostIdentifier;} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;typedef struct _CM_SERIAL_DEVICE_DATA {  USHORT  Version;  USHORT  Revision;  ULONG  BaudClock;} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;/* IO_RESOURCE_DESCRIPTOR.Option */#define IO_RESOURCE_PREFERRED             0x01#define IO_RESOURCE_DEFAULT               0x02#define IO_RESOURCE_ALTERNATIVE           0x08typedef struct _IO_RESOURCE_DESCRIPTOR {  UCHAR  Option;  UCHAR  Type;  UCHAR  ShareDisposition;  UCHAR  Spare1;  USHORT  Flags;  USHORT  Spare2;  union {    struct {      ULONG  Length;      ULONG  Alignment;      PHYSICAL_ADDRESS  MinimumAddress;      PHYSICAL_ADDRESS  MaximumAddress;    } Port;    struct {      ULONG  Length;      ULONG  Alignment;      PHYSICAL_ADDRESS  MinimumAddress;      PHYSICAL_ADDRESS  MaximumAddress;    } Memory;    struct {      ULONG  MinimumVector;      ULONG  MaximumVector;    } Interrupt;    struct {      ULONG  MinimumChannel;      ULONG  MaximumChannel;    } Dma;    struct {      ULONG  Length;      ULONG  Alignment;      PHYSICAL_ADDRESS  MinimumAddress;      PHYSICAL_ADDRESS  MaximumAddress;    } Generic;    struct {      ULONG  Data[3];    } DevicePrivate;    struct {      ULONG  Length;      ULONG  MinBusNumber;      ULONG  MaxBusNumber;      ULONG  Reserved;    } BusNumber;    struct {      ULONG  Priority;      ULONG  Reserved1;      ULONG  Reserved2;    } ConfigData;  } u;} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;typedef struct _IO_RESOURCE_LIST {  USHORT  Version;  USHORT  Revision;  ULONG  Count;  IO_RESOURCE_DESCRIPTOR  Descriptors[1];} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;typedef struct _IO_RESOURCE_REQUIREMENTS_LIST {  ULONG  ListSize;  INTERFACE_TYPE  InterfaceType;  ULONG  BusNumber;  ULONG  SlotNumber;  ULONG  Reserved[3];  ULONG  AlternativeLists;  IO_RESOURCE_LIST  List[1];} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;typedef struct _CONTROLLER_OBJECT {  CSHORT  Type;  CSHORT  Size;  PVOID  ControllerExtension;  KDEVICE_QUEUE  DeviceWaitQueue;  ULONG  Spare1;  LARGE_INTEGER  Spare2;} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;typedef enum _DMA_WIDTH {  Width8Bits,  Width16Bits,  Width32Bits,  MaximumDmaWidth} DMA_WIDTH, *PDMA_WIDTH;typedef enum _DMA_SPEED {  Compatible,  TypeA,  TypeB,  TypeC,  TypeF,  MaximumDmaSpeed} DMA_SPEED, *PDMA_SPEED;/* DEVICE_DESCRIPTION.Version */#define DEVICE_DESCRIPTION_VERSION        0x0000#define DEVICE_DESCRIPTION_VERSION1       0x0001#define DEVICE_DESCRIPTION_VERSION2       0x0002typedef struct _DEVICE_DESCRIPTION {  ULONG  Version;  BOOLEAN  Master;  BOOLEAN  ScatterGather;  BOOLEAN  DemandMode;  BOOLEAN  AutoInitialize;  BOOLEAN  Dma32BitAddresses;  BOOLEAN  IgnoreCount;  BOOLEAN  Reserved1;  BOOLEAN  Dma64BitAddresses;  ULONG  BusNumber;   ULONG  DmaChannel;  INTERFACE_TYPE  InterfaceType;  DMA_WIDTH  DmaWidth;  DMA_SPEED  DmaSpeed;  ULONG  MaximumLength;  ULONG  DmaPort;} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;/* VPB.Flags */#define VPB_MOUNTED                       0x0001#define VPB_LOCKED                        0x0002#define VPB_PERSISTENT                    0x0004#define VPB_REMOVE_PENDING                0x0008#define VPB_RAW_MOUNT                     0x0010#define MAXIMUM_VOLUME_LABEL_LENGTH       (32 * sizeof(WCHAR))typedef struct _VPB {  CSHORT  Type;  CSHORT  Size;  USHORT  Flags;  USHORT  VolumeLabelLength;  struct _DEVICE_OBJECT  *DeviceObject;  struct _DEVICE_OBJECT  *RealDevice;  ULONG  SerialNumber;  ULONG  ReferenceCount;  WCHAR  VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];} VPB, *PVPB;/* DEVICE_OBJECT.Flags */#define DO_VERIFY_VOLUME                  0x00000002      #define DO_BUFFERED_IO                    0x00000004      #define DO_EXCLUSIVE                      0x00000008      #define DO_DIRECT_IO                      0x00000010      #define DO_MAP_IO_BUFFER                  0x00000020      #define DO_DEVICE_HAS_NAME                0x00000040      #define DO_DEVICE_INITIALIZING            0x00000080      #define DO_SYSTEM_BOOT_PARTITION          0x00000100      #define DO_LONG_TERM_REQUESTS             0x00000200      #define DO_NEVER_LAST_DEVICE              0x00000400      #define DO_SHUTDOWN_REGISTERED            0x00000800      #define DO_BUS_ENUMERATED_DEVICE          0x00001000      #define DO_POWER_PAGABLE                  0x00002000      #define DO_POWER_INRUSH                   0x00004000      #define DO_LOW_PRIORITY_FILESYSTEM        0x00010000      /* DEVICE_OBJECT.Characteristics */#define FILE_REMOVABLE_MEDIA            0x00000001#define FILE_READ_ONLY_DEVICE           0x00000002#define FILE_FLOPPY_DISKETTE            0x00000004#define FILE_WRITE_ONCE_MEDIA           0x00000008#define FILE_REMOTE_DEVICE              0x00000010#define FILE_DEVICE_IS_MOUNTED          0x00000020#define FILE_VIRTUAL_VOLUME             0x00000040#define FILE_AUTOGENERATED_DEVICE_NAME  0x00000080#define FILE_DEVICE_SECURE_OPEN         0x00000100/* DEVICE_OBJECT.AlignmentRequirement */#define FILE_BYTE_ALIGNMENT             0x00000000#define FILE_WORD_ALIGNMENT             0x00000001#define FILE_LONG_ALIGNMENT             0x00000003#define FILE_QUAD_ALIGNMENT             0x00000007#define FILE_OCTA_ALIGNMENT             0x0000000f#define FILE_32_BYTE_ALIGNMENT          0x0000001f#define FILE_64_BYTE_ALIGNMENT          0x0000003f#define FILE_128_BYTE_ALIGNMENT         0x0000007f#define FILE_256_BYTE_ALIGNMENT         0x000000ff#define FILE_512_BYTE_ALIGNMENT         0x000001ff/* DEVICE_OBJECT.DeviceType */#define DEVICE_TYPE ULONG#define FILE_DEVICE_BEEP                  0x00000001#define FILE_DEVICE_CD_ROM                0x00000002#define FILE_DEVICE_CD_ROM_FILE_SYSTEM    0x00000003#define FILE_DEVICE_CONTROLLER            0x00000004#define FILE_DEVICE_DATALINK              0x00000005#define FILE_DEVICE_DFS                   0x00000006#define FILE_DEVICE_DISK                  0x00000007#define FILE_DEVICE_DISK_FILE_SYSTEM      0x00000008#define FILE_DEVICE_FILE_SYSTEM           0x00000009#define FILE_DEVICE_INPORT_PORT           0x0000000a#define FILE_DEVICE_KEYBOARD              0x0000000b#define FILE_DEVICE_MAILSLOT              0x0000000c#define FILE_DEVICE_MIDI_IN               0x0000000d#define FILE_DEVICE_MIDI_OUT              0x0000000e#define FILE_DEVICE_MOUSE                 0x0000000f#define FILE_DEVICE_MULTI_UNC_PROVIDER    0x00000010#define FILE_DEVICE_NAMED_PIPE            0x00000011#define FILE_DEVICE_NETWORK               0x00000012#define FILE_DEVICE_NETWORK_BROWSER       0x00000013#define FILE_DEVICE_NETWORK_FILE_SYSTEM   0x00000014#define FILE_DEVICE_NULL                  0x00000015#define FILE_DEVICE_PARALLEL_PORT         0x00000016#define FILE_DEVICE_PHYSICAL_NETCARD      0x00000017#define FILE_DEVICE_PRINTER               0x00000018#define FILE_DEVICE_SCANNER               0x00000019#define FILE_DEVICE_SERIAL_MOUSE_PORT     0x0000001a#define FILE_DEVICE_SERIAL_PORT           0x0000001b#define FILE_DEVICE_SCREEN                0x0000001c#define FILE_DEVICE_SOUND                 0x0000001d#define FILE_DEVICE_STREAMS               0x0000001e#define FILE_DEVICE_TAPE                  0x0000001f#define FILE_DEVICE_TAPE_FILE_SYSTEM      0x00000020#define FILE_DEVICE_TRANSPORT             0x00000021#define FILE_DEVICE_UNKNOWN               0x00000022#define FILE_DEVICE_VIDEO                 0x00000023#define FILE_DEVICE_VIRTUAL_DISK          0x00000024#define FILE_DEVICE_WAVE_IN               0x00000025#define FILE_DEVICE_WAVE_OUT              0x00000026#define FILE_DEVICE_8042_PORT             0x00000027#define FILE_DEVICE_NETWORK_REDIRECTOR    0x00000028#define FILE_DEVICE_BATTERY               0x00000029#define FILE_DEVICE_BUS_EXTENDER          0x0000002a#define FILE_DEVICE_MODEM                 0x0000002b#define FILE_DEVICE_VDM                   0x0000002c#define FILE_DEVICE_MASS_STORAGE          0x0000002d#define FILE_DEVICE_SMB                   0x0000002e#define FILE_DEVICE_KS                    0x0000002f#define FILE_DEVICE_CHANGER               0x00000030#define FILE_DEVICE_SMARTCARD             0x00000031#define FILE_DEVICE_ACPI                  0x00000032#define FILE_DEVICE_DVD                   0x00000033#define FILE_DEVICE_FULLSCREEN_VIDEO      0x00000034#define FILE_DEVICE_DFS_FILE_SYSTEM       0x00000035#define FILE_DEVICE_DFS_VOLUME            0x00000036#define FILE_DEVICE_SERENUM               0x00000037#define FILE_DEVICE_TERMSRV               0x00000038#define FILE_DEVICE_KSEC                  0x00000039#define FILE_DEVICE_FIPS		              0x0000003atypedef struct _DEVICE_OBJECT {  CSHORT  Type;  USHORT  Size;  LONG  ReferenceCount;  struct _DRIVER_OBJECT  *DriverObject;  struct _DEVICE_OBJECT  *NextDevice;  struct _DEVICE_OBJECT  *AttachedDevice;  struct _IRP  *CurrentIrp;  PIO_TIMER  Timer;  ULONG  Flags;  ULONG  Characteristics;  PVPB  Vpb;  PVOID  DeviceExtension;  DEVICE_TYPE  DeviceType;  CCHAR  StackSize;  union {    LIST_ENTRY  ListEntry;    WAIT_CONTEXT_BLOCK  Wcb;  } Queue;  ULONG  AlignmentRequirement;  KDEVICE_QUEUE  DeviceQueue;  KDPC  Dpc;  ULONG  ActiveThreadCount;  PSECURITY_DESCRIPTOR  SecurityDescriptor;  KEVENT  DeviceLock;  USHORT  SectorSize;  USHORT  Spare1;  struct _DEVOBJ_EXTENSION  *DeviceObjectExtension;  PVOID  Reserved;} DEVICE_OBJECT;typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -