mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[PSDK]
- Add devpropdef.h and evntprov.h - Fix UOW redefinition. [DDK] - Fix PGUID redefinition. [XDK] - Add wmitypes.h and include it in wdm.h autogeneration template. - Move several definitions to their appropriate places. - Add HalGetDmaAlignment, LEGACY_BUS_INFORMATION, IO_DEVICE_EJECT_CALLBACK, PLUGPLAY_PROPERTY_PERSISTENT, and several missing Io*, DEVICE_*, REENUMERATE_*, PCI_*, PNP_*, Ob*, OB_*, PO_*, Wmi*, Etw* and ACPI related definitions. - Add CmKeyObjectType to exported object types. - Fix UOW redefinition. - Group some related definitions. [WDM] - Update wdm.h to reflect XDK changes. svn path=/branches/header-work/; revision=46329
This commit is contained in:
parent
e9047cd524
commit
b5c5fd533b
15 changed files with 3374 additions and 426 deletions
|
@ -12,7 +12,10 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
#define STDMETHODCALLTYPE __stdcall
|
||||
|
||||
#ifndef _WDMDDK_
|
||||
typedef GUID *PGUID;
|
||||
#endif
|
||||
|
||||
/* Types */
|
||||
|
||||
|
|
1687
include/ddk/wdm.h
1687
include/ddk/wdm.h
File diff suppressed because it is too large
Load diff
84
include/psdk/devpropdef.h
Normal file
84
include/psdk/devpropdef.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
#ifndef _DEVPROPDEF_H_
|
||||
#define _DEVPROPDEF_H_
|
||||
|
||||
typedef ULONG DEVPROPTYPE, *PDEVPROPTYPE;
|
||||
|
||||
#define DEVPROP_TYPEMOD_ARRAY 0x00001000
|
||||
#define DEVPROP_TYPEMOD_LIST 0x00002000
|
||||
|
||||
#define DEVPROP_TYPE_EMPTY 0x00000000
|
||||
#define DEVPROP_TYPE_NULL 0x00000001
|
||||
#define DEVPROP_TYPE_SBYTE 0x00000002
|
||||
#define DEVPROP_TYPE_BYTE 0x00000003
|
||||
#define DEVPROP_TYPE_INT16 0x00000004
|
||||
#define DEVPROP_TYPE_UINT16 0x00000005
|
||||
#define DEVPROP_TYPE_INT32 0x00000006
|
||||
#define DEVPROP_TYPE_UINT32 0x00000007
|
||||
#define DEVPROP_TYPE_INT64 0x00000008
|
||||
#define DEVPROP_TYPE_UINT64 0x00000009
|
||||
#define DEVPROP_TYPE_FLOAT 0x0000000A
|
||||
#define DEVPROP_TYPE_DOUBLE 0x0000000B
|
||||
#define DEVPROP_TYPE_DECIMAL 0x0000000C
|
||||
#define DEVPROP_TYPE_GUID 0x0000000D
|
||||
#define DEVPROP_TYPE_CURRENCY 0x0000000E
|
||||
#define DEVPROP_TYPE_DATE 0x0000000F
|
||||
#define DEVPROP_TYPE_FILETIME 0x00000010
|
||||
#define DEVPROP_TYPE_BOOLEAN 0x00000011
|
||||
#define DEVPROP_TYPE_STRING 0x00000012
|
||||
#define DEVPROP_TYPE_STRING_LIST (DEVPROP_TYPE_STRING|DEVPROP_TYPEMOD_LIST)
|
||||
#define DEVPROP_TYPE_SECURITY_DESCRIPTOR 0x00000013
|
||||
#define DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING 0x00000014
|
||||
#define DEVPROP_TYPE_DEVPROPKEY 0x00000015
|
||||
#define DEVPROP_TYPE_DEVPROPTYPE 0x00000016
|
||||
#define DEVPROP_TYPE_BINARY (DEVPROP_TYPE_BYTE|DEVPROP_TYPEMOD_ARRAY)
|
||||
#define DEVPROP_TYPE_ERROR 0x00000017
|
||||
#define DEVPROP_TYPE_NTSTATUS 0x00000018
|
||||
#define DEVPROP_TYPE_STRING_INDIRECT 0x00000019
|
||||
|
||||
#define MAX_DEVPROP_TYPE 0x00000019
|
||||
#define MAX_DEVPROP_TYPEMOD 0x00002000
|
||||
|
||||
#define DEVPROP_MASK_TYPE 0x00000FFF
|
||||
#define DEVPROP_MASK_TYPEMOD 0x0000F000
|
||||
|
||||
typedef CHAR DEVPROP_BOOLEAN, *PDEVPROP_BOOLEAN;
|
||||
|
||||
#define DEVPROP_TRUE ((DEVPROP_BOOLEAN)-1)
|
||||
#define DEVPROP_FALSE ((DEVPROP_BOOLEAN) 0)
|
||||
|
||||
#ifndef DEVPROPKEY_DEFINED
|
||||
#define DEVPROPKEY_DEFINED
|
||||
|
||||
typedef GUID DEVPROPGUID, *PDEVPROPGUID;
|
||||
typedef ULONG DEVPROPID, *PDEVPROPID;
|
||||
|
||||
typedef struct _DEVPROPKEY {
|
||||
DEVPROPGUID fmtid;
|
||||
DEVPROPID pid;
|
||||
} DEVPROPKEY, *PDEVPROPKEY;
|
||||
|
||||
#endif /* DEVPROPKEY_DEFINED */
|
||||
|
||||
#define DEVPROPID_FIRST_USABLE 2
|
||||
|
||||
#endif /* _DEVPROPDEF_H_ */
|
||||
|
||||
#ifdef DEFINE_DEVPROPKEY
|
||||
#undef DEFINE_DEVPROPKEY
|
||||
#endif
|
||||
#ifdef INITGUID
|
||||
#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const DEVPROPKEY DECLSPEC_SELECTANY name = {{ l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}, pid}
|
||||
#else
|
||||
#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const DEVPROPKEY name
|
||||
#endif /* INITGUID */
|
||||
|
||||
#ifndef IsEqualDevPropKey
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define IsEqualDevPropKey(a, b) (((a).pid == (b).pid) && IsEqualIID((a).fmtid, (b).fmtid))
|
||||
#else
|
||||
#define IsEqualDevPropKey(a, b) (((a).pid == (b).pid) && IsEqualIID(&(a).fmtid, &(b).fmtid))
|
||||
#endif
|
||||
|
||||
#endif /* !IsEqualDevPropKey */
|
||||
|
335
include/psdk/evntprov.h
Normal file
335
include/psdk/evntprov.h
Normal file
|
@ -0,0 +1,335 @@
|
|||
#pragma once
|
||||
|
||||
#ifndef EVNTAPI
|
||||
#ifndef MIDL_PASS
|
||||
#ifdef _EVNT_SOURCE_
|
||||
#define EVNTAPI __stdcall
|
||||
#else
|
||||
#define EVNTAPI DECLSPEC_IMPORT __stdcall
|
||||
#endif /* _EVNT_SOURCE_ */
|
||||
#endif /* MIDL_PASS */
|
||||
#endif /* EVNTAPI */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define EVENT_MIN_LEVEL (0)
|
||||
#define EVENT_MAX_LEVEL (0xff)
|
||||
|
||||
#define EVENT_ACTIVITY_CTRL_GET_ID (1)
|
||||
#define EVENT_ACTIVITY_CTRL_SET_ID (2)
|
||||
#define EVENT_ACTIVITY_CTRL_CREATE_ID (3)
|
||||
#define EVENT_ACTIVITY_CTRL_GET_SET_ID (4)
|
||||
#define EVENT_ACTIVITY_CTRL_CREATE_SET_ID (5)
|
||||
|
||||
typedef ULONGLONG REGHANDLE, *PREGHANDLE;
|
||||
|
||||
#define MAX_EVENT_DATA_DESCRIPTORS (128)
|
||||
#define MAX_EVENT_FILTER_DATA_SIZE (1024)
|
||||
|
||||
#define EVENT_FILTER_TYPE_SCHEMATIZED (0x80000000)
|
||||
|
||||
typedef struct _EVENT_DATA_DESCRIPTOR {
|
||||
ULONGLONG Ptr;
|
||||
ULONG Size;
|
||||
ULONG Reserved;
|
||||
} EVENT_DATA_DESCRIPTOR, *PEVENT_DATA_DESCRIPTOR;
|
||||
|
||||
typedef struct _EVENT_DESCRIPTOR {
|
||||
USHORT Id;
|
||||
UCHAR Version;
|
||||
UCHAR Channel;
|
||||
UCHAR Level;
|
||||
UCHAR Opcode;
|
||||
USHORT Task;
|
||||
ULONGLONG Keyword;
|
||||
} EVENT_DESCRIPTOR, *PEVENT_DESCRIPTOR;
|
||||
typedef const EVENT_DESCRIPTOR *PCEVENT_DESCRIPTOR;
|
||||
|
||||
typedef struct _EVENT_FILTER_DESCRIPTOR {
|
||||
ULONGLONG Ptr;
|
||||
ULONG Size;
|
||||
ULONG Type;
|
||||
} EVENT_FILTER_DESCRIPTOR, *PEVENT_FILTER_DESCRIPTOR;
|
||||
|
||||
typedef struct _EVENT_FILTER_HEADER {
|
||||
USHORT Id;
|
||||
UCHAR Version;
|
||||
UCHAR Reserved[5];
|
||||
ULONGLONG InstanceId;
|
||||
ULONG Size;
|
||||
ULONG NextOffset;
|
||||
} EVENT_FILTER_HEADER, *PEVENT_FILTER_HEADER;
|
||||
|
||||
#ifndef _ETW_KM_
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PENABLECALLBACK)(
|
||||
IN LPCGUID SourceId,
|
||||
IN ULONG IsEnabled,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG MatchAnyKeyword,
|
||||
IN ULONGLONG MatchAllKeyword,
|
||||
IN PEVENT_FILTER_DESCRIPTOR FilterData OPTIONAL,
|
||||
IN OUT PVOID CallbackContext OPTIONAL);
|
||||
|
||||
#if (WINVER >= _WIN32_WINNT_VISTA)
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventRegister(
|
||||
IN LPCGUID ProviderId,
|
||||
IN PENABLECALLBACK EnableCallback OPTIONAL,
|
||||
IN PVOID CallbackContext OPTIONAL,
|
||||
OUT PREGHANDLE RegHandle);
|
||||
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventUnregister(
|
||||
IN REGHANDLE RegHandle);
|
||||
|
||||
BOOLEAN
|
||||
EVNTAPI
|
||||
EventEnabled(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor);
|
||||
|
||||
BOOLEAN
|
||||
EVNTAPI
|
||||
EventProviderEnabled(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG Keyword);
|
||||
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventWrite(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData);
|
||||
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventWriteTransfer(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN LPCGUID RelatedActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventWriteString(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG Keyword,
|
||||
IN PCWSTR String);
|
||||
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventActivityIdControl(
|
||||
IN ULONG ControlCode,
|
||||
IN OUT LPGUID ActivityId);
|
||||
|
||||
#endif /* (WINVER >= _WIN32_WINNT_VISTA) */
|
||||
|
||||
#if (WINVER >= _WIN32_WINNT_WIN7)
|
||||
ULONG
|
||||
EVNTAPI
|
||||
EventWriteEx(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN ULONG64 Filter,
|
||||
IN ULONG Flags,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN LPCGUID RelatedActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
#endif
|
||||
|
||||
#endif // _ETW_KM_
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
EventDataDescCreate(
|
||||
OUT PEVENT_DATA_DESCRIPTOR EventDataDescriptor,
|
||||
IN const VOID* DataPtr,
|
||||
IN ULONG DataSize)
|
||||
{
|
||||
EventDataDescriptor->Ptr = (ULONGLONG)(ULONG_PTR)DataPtr;
|
||||
EventDataDescriptor->Size = DataSize;
|
||||
EventDataDescriptor->Reserved = 0;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
EventDescCreate(
|
||||
OUT PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN USHORT Id,
|
||||
IN UCHAR Version,
|
||||
IN UCHAR Channel,
|
||||
IN UCHAR Level,
|
||||
IN USHORT Task,
|
||||
IN UCHAR Opcode,
|
||||
IN ULONGLONG Keyword)
|
||||
{
|
||||
EventDescriptor->Id = Id;
|
||||
EventDescriptor->Version = Version;
|
||||
EventDescriptor->Channel = Channel;
|
||||
EventDescriptor->Level = Level;
|
||||
EventDescriptor->Task = Task;
|
||||
EventDescriptor->Opcode = Opcode;
|
||||
EventDescriptor->Keyword = Keyword;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
EventDescZero(
|
||||
OUT PEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
memset(EventDescriptor, 0, sizeof(EVENT_DESCRIPTOR));
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
USHORT
|
||||
EventDescGetId(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Id);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
UCHAR
|
||||
EventDescGetVersion(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Version);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
USHORT
|
||||
EventDescGetTask(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Task);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
UCHAR
|
||||
EventDescGetOpcode(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Opcode);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
UCHAR
|
||||
EventDescGetChannel(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Channel);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
UCHAR
|
||||
EventDescGetLevel(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Level);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
ULONGLONG
|
||||
EventDescGetKeyword(
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor)
|
||||
{
|
||||
return (EventDescriptor->Keyword);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetId(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN USHORT Id)
|
||||
{
|
||||
EventDescriptor->Id = Id;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetVersion(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN UCHAR Version)
|
||||
{
|
||||
EventDescriptor->Version = Version;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetTask(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN USHORT Task)
|
||||
{
|
||||
EventDescriptor->Task = Task;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetOpcode(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN UCHAR Opcode)
|
||||
{
|
||||
EventDescriptor->Opcode = Opcode;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetLevel(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN UCHAR Level)
|
||||
{
|
||||
EventDescriptor->Level = Level;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetChannel(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN UCHAR Channel)
|
||||
{
|
||||
EventDescriptor->Channel = Channel;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescSetKeyword(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN ULONGLONG Keyword)
|
||||
{
|
||||
EventDescriptor->Keyword = Keyword;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
|
||||
FORCEINLINE
|
||||
PEVENT_DESCRIPTOR
|
||||
EventDescOrKeyword(
|
||||
IN PEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN ULONGLONG Keyword)
|
||||
{
|
||||
EventDescriptor->Keyword |= Keyword;
|
||||
return (EventDescriptor);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
@ -72,7 +72,10 @@
|
|||
#define MAX_TRANSACTION_DESCRIPTION_LENGTH 64
|
||||
#define MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH 64
|
||||
|
||||
#ifndef _WDMDDK_
|
||||
typedef GUID UOW, *PUOW;
|
||||
#endif
|
||||
|
||||
typedef GUID CRM_PROTOCOL_ID, *PCRM_PROTOCOL_ID;
|
||||
typedef ULONG NOTIFICATION_MASK;
|
||||
typedef ULONG SAVEPOINT_ID, *PSAVEPOINT_ID;
|
||||
|
|
|
@ -50,5 +50,19 @@ HalReadDmaCounter(
|
|||
return counter;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
ULONG
|
||||
HalGetDmaAlignment(
|
||||
IN PDMA_ADAPTER DmaAdapter)
|
||||
{
|
||||
PGET_DMA_ALIGNMENT getDmaAlignment;
|
||||
ULONG alignment;
|
||||
|
||||
getDmaAlignment = *(DmaAdapter)->DmaOperations->GetDmaAlignment;
|
||||
ASSERT( getDmaAlignment != NULL );
|
||||
alignment = getDmaAlignment( DmaAdapter );
|
||||
return alignment;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1498,10 +1498,54 @@ IoFreeSfioStreamIdentifier(
|
|||
IN PFILE_OBJECT FileObject,
|
||||
IN PVOID Signature);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoRequestDeviceEjectEx(
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||
IN PIO_DEVICE_EJECT_CALLBACK Callback OPTIONAL,
|
||||
IN PVOID Context OPTIONAL,
|
||||
IN PDRIVER_OBJECT DriverObject OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoSetDevicePropertyData(
|
||||
IN PDEVICE_OBJECT Pdo,
|
||||
IN CONST DEVPROPKEY *PropertyKey,
|
||||
IN LCID Lcid,
|
||||
IN ULONG Flags,
|
||||
IN DEVPROPTYPE Type,
|
||||
IN ULONG Size,
|
||||
IN PVOID Data OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoGetDevicePropertyData(
|
||||
PDEVICE_OBJECT Pdo,
|
||||
CONST DEVPROPKEY *PropertyKey,
|
||||
LCID Lcid,
|
||||
ULONG Flags,
|
||||
ULONG Size,
|
||||
PVOID Data,
|
||||
PULONG RequiredSize,
|
||||
PDEVPROPTYPE Type);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
#define IoCallDriverStackSafeDefault(a, b) IoCallDriver(a, b)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS08)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoReplacePartitionUnit(
|
||||
IN PDEVICE_OBJECT TargetPdo,
|
||||
IN PDEVICE_OBJECT SparePdo,
|
||||
IN ULONG Flags);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
|
||||
NTKERNELAPI
|
||||
|
@ -1533,7 +1577,20 @@ NTAPI
|
|||
IoUnregisterContainerNotification(
|
||||
IN PVOID CallbackRegistration);
|
||||
|
||||
#endif
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoUnregisterPlugPlayNotificationEx(
|
||||
IN PVOID NotificationEntry);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoGetDeviceNumaNode(
|
||||
IN PDEVICE_OBJECT Pdo,
|
||||
OUT PUSHORT NodeNumber);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
#if defined(_WIN64)
|
||||
NTKERNELAPI
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -345,21 +345,6 @@ typedef BOOLEAN
|
|||
IN BOOLEAN Handled);
|
||||
typedef NMI_CALLBACK *PNMI_CALLBACK;
|
||||
|
||||
typedef enum _TRACE_INFORMATION_CLASS {
|
||||
TraceIdClass,
|
||||
TraceHandleClass,
|
||||
TraceEnableFlagsClass,
|
||||
TraceEnableLevelClass,
|
||||
GlobalLoggerHandleClass,
|
||||
EventLoggerHandleClass,
|
||||
AllLoggerHandlesClass,
|
||||
TraceHandleByNameClass,
|
||||
LoggerEventsLostClass,
|
||||
TraceSessionSettingsClass,
|
||||
LoggerEventsLoggedClass,
|
||||
MaxTraceInformationClass
|
||||
} TRACE_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE {
|
||||
KeProcessorAddStartNotify = 0,
|
||||
KeProcessorAddCompleteNotify,
|
||||
|
|
|
@ -56,5 +56,86 @@ ObReleaseObjectSecurity(
|
|||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObDereferenceObjectDeferDelete(
|
||||
IN PVOID Object);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObRegisterCallbacks(
|
||||
IN POB_CALLBACK_REGISTRATION CallbackRegistration,
|
||||
OUT PVOID *RegistrationHandle);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObUnRegisterCallbacks(
|
||||
IN PVOID RegistrationHandle);
|
||||
|
||||
NTKERNELAPI
|
||||
USHORT
|
||||
NTAPI
|
||||
ObGetFilterVersion(VOID);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByHandleWithTag(
|
||||
IN HANDLE Handle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Tag,
|
||||
OUT PVOID *Object,
|
||||
OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
LONG_PTR
|
||||
FASTCALL
|
||||
ObfReferenceObjectWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG Tag);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByPointerWithTag(
|
||||
IN PVOID Object,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Tag);
|
||||
|
||||
NTKERNELAPI
|
||||
LONG_PTR
|
||||
FASTCALL
|
||||
ObfDereferenceObjectWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG Tag);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObDereferenceObjectDeferDeleteWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG Tag);
|
||||
|
||||
#define ObDereferenceObject ObfDereferenceObject
|
||||
#define ObReferenceObject ObfReferenceObject
|
||||
#define ObDereferenceObjectWithTag ObfDereferenceObjectWithTag
|
||||
#define ObReferenceObjectWithTag ObfReferenceObjectWithTag
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
$endif
|
||||
|
||||
|
|
|
@ -2,11 +2,110 @@
|
|||
* Object Manager Types *
|
||||
******************************************************************************/
|
||||
|
||||
#define OB_FLT_REGISTRATION_VERSION_0100 0x0100
|
||||
#define OB_FLT_REGISTRATION_VERSION OB_FLT_REGISTRATION_VERSION_0100
|
||||
|
||||
typedef ULONG OB_OPERATION;
|
||||
|
||||
#define OB_OPERATION_HANDLE_CREATE 0x00000001
|
||||
#define OB_OPERATION_HANDLE_DUPLICATE 0x00000002
|
||||
|
||||
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
|
||||
IN OUT ACCESS_MASK DesiredAccess;
|
||||
IN ACCESS_MASK OriginalDesiredAccess;
|
||||
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION {
|
||||
IN OUT ACCESS_MASK DesiredAccess;
|
||||
IN ACCESS_MASK OriginalDesiredAccess;
|
||||
IN PVOID SourceProcess;
|
||||
IN PVOID TargetProcess;
|
||||
} OB_PRE_DUPLICATE_HANDLE_INFORMATION, *POB_PRE_DUPLICATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef union _OB_PRE_OPERATION_PARAMETERS {
|
||||
IN OUT OB_PRE_CREATE_HANDLE_INFORMATION CreateHandleInformation;
|
||||
IN OUT OB_PRE_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
|
||||
} OB_PRE_OPERATION_PARAMETERS, *POB_PRE_OPERATION_PARAMETERS;
|
||||
|
||||
typedef struct _OB_PRE_OPERATION_INFORMATION {
|
||||
IN OB_OPERATION Operation;
|
||||
union {
|
||||
IN ULONG Flags;
|
||||
struct {
|
||||
IN ULONG KernelHandle:1;
|
||||
IN ULONG Reserved:31;
|
||||
};
|
||||
};
|
||||
IN PVOID Object;
|
||||
IN POBJECT_TYPE ObjectType;
|
||||
OUT PVOID CallContext;
|
||||
IN POB_PRE_OPERATION_PARAMETERS Parameters;
|
||||
} OB_PRE_OPERATION_INFORMATION, *POB_PRE_OPERATION_INFORMATION;
|
||||
|
||||
typedef struct _OB_POST_CREATE_HANDLE_INFORMATION {
|
||||
IN ACCESS_MASK GrantedAccess;
|
||||
} OB_POST_CREATE_HANDLE_INFORMATION, *POB_POST_CREATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATION {
|
||||
IN ACCESS_MASK GrantedAccess;
|
||||
} OB_POST_DUPLICATE_HANDLE_INFORMATION, *POB_POST_DUPLICATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef union _OB_POST_OPERATION_PARAMETERS {
|
||||
IN OB_POST_CREATE_HANDLE_INFORMATION CreateHandleInformation;
|
||||
IN OB_POST_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
|
||||
} OB_POST_OPERATION_PARAMETERS, *POB_POST_OPERATION_PARAMETERS;
|
||||
|
||||
typedef struct _OB_POST_OPERATION_INFORMATION {
|
||||
IN OB_OPERATION Operation;
|
||||
union {
|
||||
IN ULONG Flags;
|
||||
struct {
|
||||
IN ULONG KernelHandle:1;
|
||||
IN ULONG Reserved:31;
|
||||
};
|
||||
};
|
||||
IN PVOID Object;
|
||||
IN POBJECT_TYPE ObjectType;
|
||||
IN PVOID CallContext;
|
||||
IN NTSTATUS ReturnStatus;
|
||||
IN POB_POST_OPERATION_PARAMETERS Parameters;
|
||||
} OB_POST_OPERATION_INFORMATION,*POB_POST_OPERATION_INFORMATION;
|
||||
|
||||
typedef enum _OB_PREOP_CALLBACK_STATUS {
|
||||
OB_PREOP_SUCCESS
|
||||
} OB_PREOP_CALLBACK_STATUS, *POB_PREOP_CALLBACK_STATUS;
|
||||
|
||||
typedef OB_PREOP_CALLBACK_STATUS
|
||||
(NTAPI *POB_PRE_OPERATION_CALLBACK)(
|
||||
IN PVOID RegistrationContext,
|
||||
IN OUT POB_PRE_OPERATION_INFORMATION OperationInformation);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *POB_POST_OPERATION_CALLBACK)(
|
||||
IN PVOID RegistrationContext,
|
||||
IN POB_POST_OPERATION_INFORMATION OperationInformation);
|
||||
|
||||
typedef struct _OB_OPERATION_REGISTRATION {
|
||||
IN POBJECT_TYPE *ObjectType;
|
||||
IN OB_OPERATION Operations;
|
||||
IN POB_PRE_OPERATION_CALLBACK PreOperation;
|
||||
IN POB_POST_OPERATION_CALLBACK PostOperation;
|
||||
} OB_OPERATION_REGISTRATION, *POB_OPERATION_REGISTRATION;
|
||||
|
||||
typedef struct _OB_CALLBACK_REGISTRATION {
|
||||
IN USHORT Version;
|
||||
IN USHORT OperationRegistrationCount;
|
||||
IN UNICODE_STRING Altitude;
|
||||
IN PVOID RegistrationContext;
|
||||
IN OB_OPERATION_REGISTRATION *OperationRegistration;
|
||||
} OB_CALLBACK_REGISTRATION, *POB_CALLBACK_REGISTRATION;
|
||||
|
||||
typedef struct _OBJECT_NAME_INFORMATION {
|
||||
UNICODE_STRING Name;
|
||||
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
|
||||
|
||||
/* Exported object types */
|
||||
extern POBJECT_TYPE NTSYSAPI CmKeyObjectType;
|
||||
extern POBJECT_TYPE NTSYSAPI ExEventObjectType;
|
||||
extern POBJECT_TYPE NTSYSAPI ExSemaphoreObjectType;
|
||||
extern POBJECT_TYPE NTSYSAPI IoFileObjectType;
|
||||
|
|
|
@ -5,6 +5,13 @@
|
|||
#ifndef _PO_DDK_
|
||||
#define _PO_DDK_
|
||||
|
||||
#define PO_CB_SYSTEM_POWER_POLICY 0
|
||||
#define PO_CB_AC_STATUS 1
|
||||
#define PO_CB_BUTTON_COLLISION 2
|
||||
#define PO_CB_SYSTEM_STATE_LOCK 3
|
||||
#define PO_CB_LID_SWITCH_STATE 4
|
||||
#define PO_CB_PROCESSOR_POWER_POLICY 5
|
||||
|
||||
/* Power States/Levels */
|
||||
typedef enum _SYSTEM_POWER_STATE {
|
||||
PowerSystemUnspecified = 0,
|
||||
|
@ -385,19 +392,21 @@ DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82
|
|||
#define POWER_DEVICE_IDLE_POLICY_CONSERVATIVE 1
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PREQUEST_POWER_COMPLETE)(
|
||||
(NTAPI REQUEST_POWER_COMPLETE)(
|
||||
IN struct _DEVICE_OBJECT *DeviceObject,
|
||||
IN UCHAR MinorFunction,
|
||||
IN POWER_STATE PowerState,
|
||||
IN PVOID Context,
|
||||
IN struct _IO_STATUS_BLOCK *IoStatus);
|
||||
typedef REQUEST_POWER_COMPLETE *PREQUEST_POWER_COMPLETE;
|
||||
|
||||
typedef
|
||||
NTSTATUS
|
||||
(NTAPI *PPOWER_SETTING_CALLBACK)(
|
||||
(NTAPI POWER_SETTING_CALLBACK)(
|
||||
IN LPCGUID SettingGuid,
|
||||
IN PVOID Value,
|
||||
IN ULONG ValueLength,
|
||||
IN OUT PVOID Context OPTIONAL);
|
||||
typedef POWER_SETTING_CALLBACK *PPOWER_SETTING_CALLBACK;
|
||||
|
||||
|
||||
|
|
|
@ -44,6 +44,12 @@
|
|||
#include <guiddef.h>
|
||||
#endif
|
||||
|
||||
#ifndef _KTMTYPES_
|
||||
typedef GUID UOW, *PUOW;
|
||||
#endif
|
||||
|
||||
typedef GUID *PGUID;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#include <dpfilter.h>
|
||||
#endif
|
||||
|
@ -154,6 +160,7 @@ $include (cmtypes.h)
|
|||
$include (iotypes.h)
|
||||
$include (obtypes.h)
|
||||
$include (pstypes.h)
|
||||
$include (wmitypes.h)
|
||||
|
||||
#if defined(_M_IX86)
|
||||
$include(x86/ke.h)
|
||||
|
@ -268,7 +275,6 @@ extern PBOOLEAN Mm64BitPhysicalAddress;
|
|||
|
||||
extern PVOID MmBadPointer;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
******************************************************************************/
|
||||
|
||||
#ifdef RUN_WPP
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
|
@ -15,8 +14,7 @@ WmiTraceMessage(
|
|||
IN USHORT MessageNumber,
|
||||
IN ...);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif /* RUN_WPP */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
|
@ -43,5 +41,112 @@ WmiTraceMessageVa(
|
|||
IN va_list MessageArgList);
|
||||
#endif
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
#ifndef TRACE_INFORMATION_CLASS_DEFINE
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
WmiQueryTraceInformation(
|
||||
IN TRACE_INFORMATION_CLASS TraceInformationClass,
|
||||
OUT PVOID TraceInformation,
|
||||
IN ULONG TraceInformationLength,
|
||||
OUT PULONG RequiredLength OPTIONAL,
|
||||
IN PVOID Buffer OPTIONAL);
|
||||
#endif
|
||||
|
||||
#define TRACE_INFORMATION_CLASS_DEFINE
|
||||
|
||||
#endif /* TRACE_INFOPRMATION_CLASS_DEFINE */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwRegister(
|
||||
IN LPCGUID ProviderId,
|
||||
IN PETWENABLECALLBACK EnableCallback OPTIONAL,
|
||||
IN PVOID CallbackContext OPTIONAL,
|
||||
OUT PREGHANDLE RegHandle);
|
||||
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwUnregister(
|
||||
IN REGHANDLE RegHandle);
|
||||
|
||||
BOOLEAN
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwEventEnabled(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor);
|
||||
|
||||
BOOLEAN
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwProviderEnabled(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG Keyword);
|
||||
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwActivityIdControl(
|
||||
IN ULONG ControlCode,
|
||||
IN OUT LPGUID ActivityId);
|
||||
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWrite(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWriteTransfer(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN LPCGUID RelatedActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWriteString(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG Keyword,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN PCWSTR String);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWriteEx(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN ULONG64 Filter,
|
||||
IN ULONG Flags,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN LPCGUID RelatedActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
57
include/xdk/wmitypes.h
Normal file
57
include/xdk/wmitypes.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/******************************************************************************
|
||||
* WMI Library Support Types *
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef RUN_WPP
|
||||
#include <evntrace.h>
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#ifndef TRACE_INFORMATION_CLASS_DEFINE
|
||||
|
||||
typedef struct _ETW_TRACE_SESSION_SETTINGS {
|
||||
ULONG Version;
|
||||
ULONG BufferSize;
|
||||
ULONG MinimumBuffers;
|
||||
ULONG MaximumBuffers;
|
||||
ULONG LoggerMode;
|
||||
ULONG FlushTimer;
|
||||
ULONG FlushThreshold;
|
||||
ULONG ClockType;
|
||||
} ETW_TRACE_SESSION_SETTINGS, *PETW_TRACE_SESSION_SETTINGS;
|
||||
|
||||
typedef enum _TRACE_INFORMATION_CLASS {
|
||||
TraceIdClass,
|
||||
TraceHandleClass,
|
||||
TraceEnableFlagsClass,
|
||||
TraceEnableLevelClass,
|
||||
GlobalLoggerHandleClass,
|
||||
EventLoggerHandleClass,
|
||||
AllLoggerHandlesClass,
|
||||
TraceHandleByNameClass,
|
||||
LoggerEventsLostClass,
|
||||
TraceSessionSettingsClass,
|
||||
LoggerEventsLoggedClass,
|
||||
MaxTraceInformationClass
|
||||
} TRACE_INFORMATION_CLASS;
|
||||
|
||||
#endif /* TRACE_INFORMATION_CLASS_DEFINE */
|
||||
|
||||
#ifndef _ETW_KM_
|
||||
#define _ETW_KM_
|
||||
#endif
|
||||
|
||||
#include <evntprov.h>
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PETWENABLECALLBACK)(
|
||||
IN LPCGUID SourceId,
|
||||
IN ULONG ControlCode,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG MatchAnyKeyword,
|
||||
IN ULONGLONG MatchAllKeyword,
|
||||
IN PEVENT_FILTER_DESCRIPTOR FilterData OPTIONAL,
|
||||
IN OUT PVOID CallbackContext OPTIONAL);
|
||||
|
||||
#define EVENT_WRITE_FLAG_NO_FAULTING 0x00000001
|
||||
|
Loading…
Reference in a new issue