typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
-typedef struct _BUS_HANDLER *PBUS_HANDLER;
typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT;
typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
typedef struct _ETHREAD *PETHREAD;
typedef UCHAR KPROCESSOR_MODE;
typedef LONG KPRIORITY;
+typedef ULONG EXECUTION_STATE;
+
typedef enum _MODE {
KernelMode,
UserMode,
ULONG Period;
} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;
+typedef BOOLEAN
+(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
+ IN PVOID SynchronizeContext);
+
+typedef enum _POOL_TYPE {
+ NonPagedPool,
+ PagedPool,
+ NonPagedPoolMustSucceed,
+ DontUseThisType,
+ NonPagedPoolCacheAligned,
+ PagedPoolCacheAligned,
+ NonPagedPoolCacheAlignedMustS,
+ MaxPoolType,
+ NonPagedPoolSession = 32,
+ PagedPoolSession,
+ NonPagedPoolMustSucceedSession,
+ DontUseThisTypeSession,
+ NonPagedPoolCacheAlignedSession,
+ PagedPoolCacheAlignedSession,
+ NonPagedPoolCacheAlignedMustSSession
+} POOL_TYPE;
+
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
{
StandardDesign,
LOGICAL
NTAPI
MmIsDriverVerifying(
- IN PDRIVER_OBJECT DriverObject);
+ IN struct _DRIVER_OBJECT *DriverObject);
NTKERNELAPI
PVOID
VOID
NTAPI
MmProbeAndLockPages(
- IN OUT PMDLX MemoryDescriptorList,
+ IN OUT PMDL MemoryDescriptorList,
IN KPROCESSOR_MODE AccessMode,
IN LOCK_OPERATION Operation);
VOID
NTAPI
MmUnlockPages(
- IN OUT PMDLX MemoryDescriptorList);
+ IN OUT PMDL MemoryDescriptorList);
NTKERNELAPI
VOID
NTSTATUS
NTAPI
MmProtectMdlSystemAddress(
- IN PMDLX MemoryDescriptorList,
+ IN PMDL MemoryDescriptorList,
IN ULONG NewProtect);
NTKERNELAPI
MmUnmapReservedMapping(
IN PVOID BaseAddress,
IN ULONG PoolTag,
- IN PMDLX MemoryDescriptorList);
+ IN PMDL MemoryDescriptorList);
#endif
PowerDeviceMaximum
} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;
+typedef union _POWER_STATE {
+ SYSTEM_POWER_STATE SystemState;
+ DEVICE_POWER_STATE DeviceState;
+} POWER_STATE, *PPOWER_STATE;
+
+typedef enum _POWER_STATE_TYPE {
+ SystemPowerState = 0,
+ DevicePowerState
+} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
+
+typedef VOID
+(DDKAPI *PREQUEST_POWER_COMPLETE)(
+ IN struct _DEVICE_OBJECT *DeviceObject,
+ IN UCHAR MinorFunction,
+ IN POWER_STATE PowerState,
+ IN PVOID Context,
+ IN struct _IO_STATUS_BLOCK *IoStatus);
+
/******************************************************************************
* Power Management Support Functions *
******************************************************************************/
NTSTATUS
NTAPI
PoCallDriver(
- IN PDEVICE_OBJECT DeviceObject,
- IN OUT PIRP Irp);
+ IN struct _DEVICE_OBJECT *DeviceObject,
+ IN OUT struct _IRP *Irp);
NTKERNELAPI
PULONG
NTAPI
PoRegisterDeviceForIdleDetection(
- IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DEVICE_OBJECT *DeviceObject,
IN ULONG ConservationIdleTime,
IN ULONG PerformanceIdleTime,
IN DEVICE_POWER_STATE State);
NTSTATUS
NTAPI
PoRequestPowerIrp(
- IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DEVICE_OBJECT *DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PREQUEST_POWER_COMPLETE CompletionFunction OPTIONAL,
IN PVOID Context OPTIONAL,
- OUT PIRP *Irp OPTIONAL);
+ OUT struct _IRP *Irp OPTIONAL);
NTKERNELAPI
POWER_STATE
NTAPI
PoSetPowerState(
- IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DEVICE_OBJECT *DeviceObject,
IN POWER_STATE_TYPE Type,
IN POWER_STATE State);
VOID
NTAPI
PoStartNextPowerIrp(
- IN OUT PIRP Irp);
+ IN OUT struct _IRP *Irp);
NTKERNELAPI
VOID
#define IO_REPARSE 0x0
#define IO_REMOUNT 0x1
-typedef union _POWER_STATE {
- SYSTEM_POWER_STATE SystemState;
- DEVICE_POWER_STATE DeviceState;
-} POWER_STATE, *PPOWER_STATE;
-
-typedef enum _POWER_STATE_TYPE {
- SystemPowerState = 0,
- DevicePowerState
-} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
-
typedef struct _IO_STATUS_BLOCK {
_ANONYMOUS_UNION union {
NTSTATUS Status;
ULONG_PTR Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
-typedef VOID
-(DDKAPI *PREQUEST_POWER_COMPLETE)(
- IN PDEVICE_OBJECT DeviceObject,
- IN UCHAR MinorFunction,
- IN POWER_STATE PowerState,
- IN PVOID Context,
- IN PIO_STATUS_BLOCK IoStatus);
-
typedef struct _PCI_SLOT_NUMBER {
union {
struct {
IN struct _DEVICE_OBJECT *DeviceObject,
IN PVOID Context);
-typedef BOOLEAN
-(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
- IN PVOID SynchronizeContext);
-
typedef struct _IO_SECURITY_CONTEXT {
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
PACCESS_STATE AccessState;
#define PORT_MAXIMUM_MESSAGE_LENGTH 256
#endif
-typedef enum _POOL_TYPE {
- NonPagedPool,
- PagedPool,
- NonPagedPoolMustSucceed,
- DontUseThisType,
- NonPagedPoolCacheAligned,
- PagedPoolCacheAligned,
- NonPagedPoolCacheAlignedMustS,
- MaxPoolType,
- NonPagedPoolSession = 32,
- PagedPoolSession,
- NonPagedPoolMustSucceedSession,
- DontUseThisTypeSession,
- NonPagedPoolCacheAlignedSession,
- PagedPoolCacheAlignedSession,
- NonPagedPoolCacheAlignedMustSSession
-} POOL_TYPE;
-
typedef enum _SUITE_TYPE {
SmallBusiness,
Enterprise,
LT_LOWEST_LATENCY
} LATENCY_TIME;
-
-typedef ULONG EXECUTION_STATE;
-
/* Constants */
#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 )
#define ZwCurrentProcess() NtCurrentProcess()