mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 00:45:43 +00:00
[PSDK/DDK]: Add more missing definitions. Fix classpnp.h.
svn path=/trunk/; revision=48864
This commit is contained in:
parent
7c9e442a28
commit
c0e90cf2dd
3 changed files with 193 additions and 9 deletions
|
@ -41,6 +41,42 @@
|
||||||
|
|
||||||
#define IS_SCSIOP_READWRITE(opCode) (IS_SCSIOP_READ(opCode) || IS_SCSIOP_WRITE(opCode))
|
#define IS_SCSIOP_READWRITE(opCode) (IS_SCSIOP_READ(opCode) || IS_SCSIOP_WRITE(opCode))
|
||||||
|
|
||||||
|
#define ADJUST_FUA_FLAG(fdoExt) { \
|
||||||
|
if (TEST_FLAG(fdoExt->DeviceFlags, DEV_WRITE_CACHE) && \
|
||||||
|
!TEST_FLAG(fdoExt->DeviceFlags, DEV_POWER_PROTECTED) && \
|
||||||
|
!TEST_FLAG(fdoExt->ScanForSpecialFlags, CLASS_SPECIAL_FUA_NOT_SUPPORTED) ) { \
|
||||||
|
fdoExt->CdbForceUnitAccess = TRUE; \
|
||||||
|
} else { \
|
||||||
|
fdoExt->CdbForceUnitAccess = FALSE; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define FREE_POOL(_PoolPtr) \
|
||||||
|
if (_PoolPtr != NULL) { \
|
||||||
|
ExFreePool(_PoolPtr); \
|
||||||
|
_PoolPtr = NULL; \
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef POOL_TAGGING
|
||||||
|
#undef ExAllocatePool
|
||||||
|
#undef ExAllocatePoolWithQuota
|
||||||
|
#define ExAllocatePool(a,b) ExAllocatePoolWithTag(a,b,'nUcS')
|
||||||
|
//#define ExAllocatePool(a,b) #assert(0)
|
||||||
|
#define ExAllocatePoolWithQuota(a,b) ExAllocatePoolWithQuotaTag(a,b,'nUcS')
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define CLASS_TAG_AUTORUN_DISABLE 'ALcS'
|
||||||
|
#define CLASS_TAG_FILE_OBJECT_EXTENSION 'FLcS'
|
||||||
|
#define CLASS_TAG_MEDIA_CHANGE_DETECTION 'MLcS'
|
||||||
|
#define CLASS_TAG_MOUNT 'mLcS'
|
||||||
|
#define CLASS_TAG_RELEASE_QUEUE 'qLcS'
|
||||||
|
#define CLASS_TAG_POWER 'WLcS'
|
||||||
|
#define CLASS_TAG_WMI 'wLcS'
|
||||||
|
#define CLASS_TAG_FAILURE_PREDICT 'fLcS'
|
||||||
|
#define CLASS_TAG_DEVICE_CONTROL 'OIcS'
|
||||||
|
#define CLASS_TAG_MODE_DATA 'oLcS'
|
||||||
|
#define CLASS_TAG_MULTIPATH 'mPcS'
|
||||||
|
|
||||||
#define MAXIMUM_RETRIES 4
|
#define MAXIMUM_RETRIES 4
|
||||||
|
|
||||||
#define CLASS_DRIVER_EXTENSION_KEY ((PVOID) ClassInitialize)
|
#define CLASS_DRIVER_EXTENSION_KEY ((PVOID) ClassInitialize)
|
||||||
|
@ -217,12 +253,9 @@ typedef struct _CLASS_PRIVATE_COMMON_DATA CLASS_PRIVATE_COMMON_DATA, *PCLASS_PRI
|
||||||
struct _MEDIA_CHANGE_DETECTION_INFO;
|
struct _MEDIA_CHANGE_DETECTION_INFO;
|
||||||
typedef struct _MEDIA_CHANGE_DETECTION_INFO MEDIA_CHANGE_DETECTION_INFO, *PMEDIA_CHANGE_DETECTION_INFO;
|
typedef struct _MEDIA_CHANGE_DETECTION_INFO MEDIA_CHANGE_DETECTION_INFO, *PMEDIA_CHANGE_DETECTION_INFO;
|
||||||
|
|
||||||
struct _DICTIONARY_HEADER;
|
|
||||||
typedef struct _DICTIONARY_HEADER DICTIONARY_HEADER, *PDICTIONARY_HEADER;
|
|
||||||
|
|
||||||
typedef struct _DICTIONARY {
|
typedef struct _DICTIONARY {
|
||||||
ULONGLONG Signature;
|
ULONGLONG Signature;
|
||||||
PDICTIONARY_HEADER List;
|
struct _DICTIONARY_HEADER* List;
|
||||||
KSPIN_LOCK SpinLock;
|
KSPIN_LOCK SpinLock;
|
||||||
} DICTIONARY, *PDICTIONARY;
|
} DICTIONARY, *PDICTIONARY;
|
||||||
|
|
||||||
|
@ -558,9 +591,6 @@ typedef struct _PHYSICAL_DEVICE_EXTENSION {
|
||||||
ULONG_PTR Reserved4;
|
ULONG_PTR Reserved4;
|
||||||
} PHYSICAL_DEVICE_EXTENSION, *PPHYSICAL_DEVICE_EXTENSION;
|
} PHYSICAL_DEVICE_EXTENSION, *PPHYSICAL_DEVICE_EXTENSION;
|
||||||
|
|
||||||
struct _FAILURE_PREDICTION_INFO;
|
|
||||||
typedef struct _FAILURE_PREDICTION_INFO *PFAILURE_PREDICTION_INFO;
|
|
||||||
|
|
||||||
typedef struct _CLASS_POWER_OPTIONS {
|
typedef struct _CLASS_POWER_OPTIONS {
|
||||||
ULONG PowerDown:1;
|
ULONG PowerDown:1;
|
||||||
ULONG LockQueue:1;
|
ULONG LockQueue:1;
|
||||||
|
@ -652,7 +682,7 @@ typedef struct _FUNCTIONAL_DEVICE_EXTENSION {
|
||||||
BOOLEAN ReleaseQueueIrpFromPool;
|
BOOLEAN ReleaseQueueIrpFromPool;
|
||||||
BOOLEAN FailurePredicted;
|
BOOLEAN FailurePredicted;
|
||||||
ULONG FailureReason;
|
ULONG FailureReason;
|
||||||
PFAILURE_PREDICTION_INFO FailurePredictionInfo;
|
struct _FAILURE_PREDICTION_INFO* FailurePredictionInfo;
|
||||||
BOOLEAN PowerDownInProgress;
|
BOOLEAN PowerDownInProgress;
|
||||||
ULONG EnumerationInterlock;
|
ULONG EnumerationInterlock;
|
||||||
KEVENT ChildLock;
|
KEVENT ChildLock;
|
||||||
|
@ -733,6 +763,14 @@ ClassDeviceControl(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
SCSIPORTAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
ClassIoComplete(
|
||||||
|
PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp,
|
||||||
|
PVOID Context);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -848,7 +886,7 @@ NTAPI
|
||||||
ClassGetDescriptor(
|
ClassGetDescriptor(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PSTORAGE_PROPERTY_ID PropertyId,
|
PSTORAGE_PROPERTY_ID PropertyId,
|
||||||
PVOID *Descriptor);
|
PSTORAGE_DESCRIPTOR_HEADER *Descriptor);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
|
@ -1007,6 +1045,13 @@ NTAPI
|
||||||
ClassReleaseChildLock(
|
ClassReleaseChildLock(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
ClassSignalCompletion(
|
||||||
|
PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp,
|
||||||
|
PKEVENT Event);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendStartUnit(
|
ClassSendStartUnit(
|
||||||
|
@ -1019,12 +1064,28 @@ ClassRemoveDevice(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
UCHAR RemoveType);
|
UCHAR RemoveType);
|
||||||
|
|
||||||
|
SCSIPORTAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
ClassAsynchronousCompletion(
|
||||||
|
PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp,
|
||||||
|
PVOID Event);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassCheckMediaState(
|
ClassCheckMediaState(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
|
SCSIPORTAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
ClassCheckVerifyComplete(
|
||||||
|
PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp,
|
||||||
|
PVOID Context);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -617,6 +617,12 @@ typedef struct _GROUP_AFFINITY {
|
||||||
|
|
||||||
#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
|
#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
|
||||||
|
|
||||||
|
#define RTL_SIZEOF_THROUGH_FIELD(type, field) \
|
||||||
|
(FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field))
|
||||||
|
|
||||||
|
#define RTL_CONTAINS_FIELD(Struct, Size, Field) \
|
||||||
|
( (((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size)) )
|
||||||
|
|
||||||
#define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0]))
|
#define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0]))
|
||||||
#define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A)
|
#define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A)
|
||||||
#ifdef ENABLE_RTL_NUMBER_OF_V2
|
#ifdef ENABLE_RTL_NUMBER_OF_V2
|
||||||
|
|
|
@ -25,6 +25,123 @@ typedef struct _WNODE_HEADER
|
||||||
ULONG Flags;
|
ULONG Flags;
|
||||||
} WNODE_HEADER, *PWNODE_HEADER;
|
} WNODE_HEADER, *PWNODE_HEADER;
|
||||||
|
|
||||||
|
#define WNODE_FLAG_ALL_DATA 0x00000001
|
||||||
|
#define WNODE_FLAG_SINGLE_INSTANCE 0x00000002
|
||||||
|
#define WNODE_FLAG_SINGLE_ITEM 0x00000004
|
||||||
|
#define WNODE_FLAG_EVENT_ITEM 0x00000008
|
||||||
|
#define WNODE_FLAG_FIXED_INSTANCE_SIZE 0x00000010
|
||||||
|
#define WNODE_FLAG_TOO_SMALL 0x00000020
|
||||||
|
#define WNODE_FLAG_INSTANCES_SAME 0x00000040
|
||||||
|
#define WNODE_FLAG_STATIC_INSTANCE_NAMES 0x00000080
|
||||||
|
#define WNODE_FLAG_INTERNAL 0x00000100
|
||||||
|
#define WNODE_FLAG_USE_TIMESTAMP 0x00000200
|
||||||
|
#define WNODE_FLAG_PERSIST_EVENT 0x00000400
|
||||||
|
#define WNODE_FLAG_EVENT_REFERENCE 0x00002000
|
||||||
|
#define WNODE_FLAG_ANSI_INSTANCENAMES 0x00004000
|
||||||
|
#define WNODE_FLAG_METHOD_ITEM 0x00008000
|
||||||
|
#define WNODE_FLAG_PDO_INSTANCE_NAMES 0x00010000
|
||||||
|
#define WNODE_FLAG_TRACED_GUID 0x00020000
|
||||||
|
#define WNODE_FLAG_LOG_WNODE 0x00040000
|
||||||
|
#define WNODE_FLAG_USE_GUID_PTR 0x00080000
|
||||||
|
#define WNODE_FLAG_USE_MOF_PTR 0x00100000
|
||||||
|
#define WNODE_FLAG_NO_HEADER 0x00200000
|
||||||
|
#define WNODE_FLAG_SEVERITY_MASK 0xff000000
|
||||||
|
|
||||||
|
typedef struct tagWNODE_TOO_SMALL
|
||||||
|
{
|
||||||
|
struct _WNODE_HEADER WnodeHeader;
|
||||||
|
ULONG SizeNeeded;
|
||||||
|
} WNODE_TOO_SMALL, *PWNODE_TOO_SMALL;
|
||||||
|
|
||||||
|
typedef struct tagWNODE_SINGLE_INSTANCE
|
||||||
|
{
|
||||||
|
struct _WNODE_HEADER WnodeHeader;
|
||||||
|
ULONG OffsetInstanceName;
|
||||||
|
ULONG InstanceIndex;
|
||||||
|
ULONG DataBlockOffset;
|
||||||
|
ULONG SizeDataBlock;
|
||||||
|
UCHAR VariableData[];
|
||||||
|
} WNODE_SINGLE_INSTANCE, *PWNODE_SINGLE_INSTANCE;
|
||||||
|
|
||||||
|
#define WMIREG_FLAG_EXPENSIVE 0x00000001
|
||||||
|
#define WMIREG_FLAG_INSTANCE_LIST 0x00000004
|
||||||
|
#define WMIREG_FLAG_INSTANCE_BASENAME 0x00000008
|
||||||
|
#define WMIREG_FLAG_INSTANCE_PDO 0x00000020
|
||||||
|
#define WMIREG_FLAG_REMOVE_GUID 0x00010000
|
||||||
|
#define WMIREG_FLAG_RESERVED1 0x00020000
|
||||||
|
#define WMIREG_FLAG_RESERVED2 0x00040000
|
||||||
|
#define WMIREG_FLAG_TRACED_GUID 0x00080000
|
||||||
|
#define WMIREG_FLAG_TRACE_CONTROL_GUID 0x00001000
|
||||||
|
#define WMIREG_FLAG_EVENT_ONLY_GUID 0x00000040
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
GUID Guid;
|
||||||
|
ULONG Flags;
|
||||||
|
ULONG InstanceCount;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
ULONG InstanceNameList;
|
||||||
|
ULONG BaseNameOffset;
|
||||||
|
ULONG_PTR Pdo;
|
||||||
|
ULONG_PTR InstanceInfo;
|
||||||
|
};
|
||||||
|
} WMIREGGUIDW, *PWMIREGGUIDW;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
ULONG BufferSize;
|
||||||
|
ULONG NextWmiRegInfo;
|
||||||
|
ULONG RegistryPath;
|
||||||
|
ULONG MofResourceName;
|
||||||
|
ULONG GuidCount;
|
||||||
|
WMIREGGUIDW WmiRegGuid[];
|
||||||
|
} WMIREGINFOW, *PWMIREGINFOW;
|
||||||
|
|
||||||
|
typedef WMIREGINFOW WMIREGINFO;
|
||||||
|
typedef PWMIREGINFOW PWMIREGINFO;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
ULONG OffsetInstanceData;
|
||||||
|
ULONG LengthInstanceData;
|
||||||
|
} OFFSETINSTANCEDATAANDLENGTH, *POFFSETINSTANCEDATAANDLENGTH;
|
||||||
|
|
||||||
|
typedef struct tagWNODE_ALL_DATA
|
||||||
|
{
|
||||||
|
struct _WNODE_HEADER WnodeHeader;
|
||||||
|
ULONG DataBlockOffset;
|
||||||
|
ULONG InstanceCount;
|
||||||
|
ULONG OffsetInstanceNameOffsets;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
ULONG FixedInstanceSize;
|
||||||
|
OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[0];
|
||||||
|
};
|
||||||
|
} WNODE_ALL_DATA, *PWNODE_ALL_DATA;
|
||||||
|
|
||||||
|
typedef struct tagWNODE_SINGLE_ITEM
|
||||||
|
{
|
||||||
|
struct _WNODE_HEADER WnodeHeader;
|
||||||
|
ULONG OffsetInstanceName;
|
||||||
|
ULONG InstanceIndex;
|
||||||
|
ULONG ItemId;
|
||||||
|
ULONG DataBlockOffset;
|
||||||
|
ULONG SizeDataItem;
|
||||||
|
UCHAR VariableData[];
|
||||||
|
} WNODE_SINGLE_ITEM, *PWNODE_SINGLE_ITEM;
|
||||||
|
|
||||||
|
typedef struct tagWNODE_METHOD_ITEM
|
||||||
|
{
|
||||||
|
struct _WNODE_HEADER WnodeHeader;
|
||||||
|
ULONG OffsetInstanceName;
|
||||||
|
ULONG InstanceIndex;
|
||||||
|
ULONG MethodId;
|
||||||
|
ULONG DataBlockOffset;
|
||||||
|
ULONG SizeDataBlock;
|
||||||
|
UCHAR VariableData[];
|
||||||
|
} WNODE_METHOD_ITEM, *PWNODE_METHOD_ITEM;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
WMI_GET_ALL_DATA = 0,
|
WMI_GET_ALL_DATA = 0,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue