wine  6.0.1
About: Wine is an Open Source implementation of the MS Windows API on top of X, OpenGL, and Unix. Think of Wine as a compatibility layer for running Windows programs.
  Fossies Dox: wine-6.0.1.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

wdm.h File Reference
#include <ntstatus.h>
#include <pshpack4.h>
#include <poppack.h>
Include dependency graph for wdm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _DISPATCHER_HEADER
 
struct  _KEVENT
 
struct  _KSEMAPHORE
 
struct  _KDPC
 
struct  _KDEVICE_QUEUE_ENTRY
 
struct  _KDEVICE_QUEUE
 
struct  _KMUTANT
 
struct  _DEFERRED_REVERSE_BARRIER
 
struct  _KWAIT_BLOCK
 
struct  _OWNER_ENTRY
 
struct  _ERESOURCE
 
struct  _KAPC_STATE
 
struct  _FAST_MUTEX
 
struct  _VPB
 
struct  _WAIT_CONTEXT_BLOCK
 
struct  _DEVICE_OBJECT
 
struct  _DEVICE_RELATIONS
 
struct  _DRIVER_EXTENSION
 
struct  _DRIVER_OBJECT
 
struct  _KAPC
 
struct  _IRP
 
struct  _INTERFACE
 
struct  _SECTION_OBJECT_POINTERS
 
struct  _IO_COMPLETION_CONTEXT
 
struct  _FILE_OBJECT
 
struct  _INITIAL_PRIVILEGE_SET
 
struct  _SECURITY_SUBJECT_CONTEXT
 
struct  _ACCESS_STATE
 
struct  _IO_SECURITY_CONTEXT
 
struct  _DEVICE_CAPABILITIES
 
struct  _DEVICE_INTERFACE_CHANGE_NOTIFICATION
 
struct  _IO_RESOURCE_DESCRIPTOR
 
struct  _IO_RESOURCE_LIST
 
struct  _IO_RESOURCE_REQUIREMENTS_LIST
 
struct  _POWER_SEQUENCE
 
union  _POWER_STATE
 
struct  _CM_PARTIAL_RESOURCE_DESCRIPTOR
 
struct  _CM_PARTIAL_RESOURCE_LIST
 
struct  _CM_FULL_RESOURCE_DESCRIPTOR
 
struct  _CM_RESOURCE_LIST
 
struct  _IO_STACK_LOCATION
 
struct  _MDL
 
struct  _KTIMER
 
struct  _KSYSTEM_TIME
 
struct  _KUSER_SHARED_DATA
 
struct  _IO_REMOVE_LOCK_COMMON_BLOCK
 
struct  _IO_REMOVE_LOCK_DBG_BLOCK
 
struct  _IO_REMOVE_LOCK
 
struct  _CALLBACK_OBJECT
 
struct  _KSPIN_LOCK_QUEUE
 
struct  _KLOCK_QUEUE_HANDLE
 
struct  _GENERAL_LOOKASIDE
 
struct  _GENERAL_LOOKASIDE_POOL
 
struct  _LOOKASIDE_LIST_EX
 
struct  _NPAGED_LOOKASIDE_LIST
 
struct  _PAGED_LOOKASIDE_LIST
 
struct  _OB_PRE_CREATE_HANDLE_INFORMATION
 
struct  _OB_PRE_DUPLICATE_HANDLE_INFORMATION
 
union  _OB_PRE_OPERATION_PARAMETERS
 
struct  _OB_PRE_OPERATION_INFORMATION
 
struct  _OB_POST_CREATE_HANDLE_INFORMATION
 
struct  _OB_POST_DUPLICATE_HANDLE_INFORMATION
 
union  _OB_POST_OPERATION_PARAMETERS
 
struct  _OB_POST_OPERATION_INFORMATION
 
struct  _OB_OPERATION_REGISTRATION
 
struct  _OB_CALLBACK_REGISTRATION
 

Macros

#define _NTDDK_
 
#define POINTER_ALIGNMENT
 
#define PAGE_SIZE   0x1000
 
#define PAGE_SHIFT   12
 
#define BYTE_OFFSET(va)   ((ULONG)((ULONG_PTR)(va) & (PAGE_SIZE - 1)))
 
#define PAGE_ALIGN(va)   ((PVOID)((ULONG_PTR)(va) & ~(PAGE_SIZE - 1)))
 
#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(va, length)    ((BYTE_OFFSET(va) + ((SIZE_T)(length)) + (PAGE_SIZE - 1)) >> PAGE_SHIFT)
 
#define ResourceNeverExclusive   0x0010
 
#define ResourceReleaseByOtherThread   0x0020
 
#define ResourceOwnedExclusive   0x0080
 
#define FM_LOCK_BIT   0x1
 
#define MAXIMUM_VOLUME_LABEL_LENGTH   (32 * sizeof(WCHAR))
 
#define POOL_QUOTA_FAIL_INSTEAD_OF_RAISE   0x0008
 
#define POOL_RAISE_IF_ALLOCATION_FAILURE   0x0010
 
#define POOL_COLD_ALLOCATION   0x0100
 
#define POOL_NX_ALLOCATION   0x0200
 
#define DO_BUFFERED_IO   0x00000004
 
#define DO_EXCLUSIVE   0x00000008
 
#define DO_DIRECT_IO   0x00000010
 
#define DO_MAP_IO_BUFFER   0x00000020
 
#define DO_DEVICE_INITIALIZING   0x00000080
 
#define DO_SHUTDOWN_REGISTERED   0x00000800
 
#define DO_BUS_ENUMERATED_DEVICE   0x00001000
 
#define DO_POWER_PAGABLE   0x00002000
 
#define DO_POWER_INRUSH   0x00004000
 
#define IO_NO_INCREMENT   0
 
#define IO_CD_ROM_INCREMENT   1
 
#define IO_DISK_INCREMENT   1
 
#define IO_KEYBOARD_INCREMENT   6
 
#define IO_MAILSLOT_INCREMENT   2
 
#define IO_MOUSE_INCREMENT   6
 
#define IO_NAMED_PIPE_INCREMENT   2
 
#define IO_NETWORK_INCREMENT   2
 
#define IO_PARALLEL_INCREMENT   1
 
#define IO_SERIAL_INCREMENT   2
 
#define IO_SOUND_INCREMENT   8
 
#define IO_VIDEO_INCREMENT   1
 
#define DEVICE_TYPE   ULONG
 
#define IRP_MJ_MAXIMUM_FUNCTION   0x1b
 
#define IRP_MJ_CREATE   0x00
 
#define IRP_MJ_CREATE_NAMED_PIPE   0x01
 
#define IRP_MJ_CLOSE   0x02
 
#define IRP_MJ_READ   0x03
 
#define IRP_MJ_WRITE   0x04
 
#define IRP_MJ_QUERY_INFORMATION   0x05
 
#define IRP_MJ_SET_INFORMATION   0x06
 
#define IRP_MJ_QUERY_EA   0x07
 
#define IRP_MJ_SET_EA   0x08
 
#define IRP_MJ_FLUSH_BUFFERS   0x09
 
#define IRP_MJ_QUERY_VOLUME_INFORMATION   0x0a
 
#define IRP_MJ_SET_VOLUME_INFORMATION   0x0b
 
#define IRP_MJ_DIRECTORY_CONTROL   0x0c
 
#define IRP_MJ_FILE_SYSTEM_CONTROL   0x0d
 
#define IRP_MJ_DEVICE_CONTROL   0x0e
 
#define IRP_MJ_INTERNAL_DEVICE_CONTROL   0x0f
 
#define IRP_MJ_SHUTDOWN   0x10
 
#define IRP_MJ_LOCK_CONTROL   0x11
 
#define IRP_MJ_CLEANUP   0x12
 
#define IRP_MJ_CREATE_MAILSLOT   0x13
 
#define IRP_MJ_QUERY_SECURITY   0x14
 
#define IRP_MJ_SET_SECURITY   0x15
 
#define IRP_MJ_POWER   0x16
 
#define IRP_MJ_SYSTEM_CONTROL   0x17
 
#define IRP_MJ_DEVICE_CHANGE   0x18
 
#define IRP_MJ_QUERY_QUOTA   0x19
 
#define IRP_MJ_SET_QUOTA   0x1a
 
#define IRP_MJ_PNP   0x1b
 
#define IRP_MN_START_DEVICE   0x00
 
#define IRP_MN_QUERY_REMOVE_DEVICE   0x01
 
#define IRP_MN_REMOVE_DEVICE   0x02
 
#define IRP_MN_CANCEL_REMOVE_DEVICE   0x03
 
#define IRP_MN_STOP_DEVICE   0x04
 
#define IRP_MN_QUERY_STOP_DEVICE   0x05
 
#define IRP_MN_CANCEL_STOP_DEVICE   0x06
 
#define IRP_MN_QUERY_DEVICE_RELATIONS   0x07
 
#define IRP_MN_QUERY_INTERFACE   0x08
 
#define IRP_MN_QUERY_CAPABILITIES   0x09
 
#define IRP_MN_QUERY_RESOURCES   0x0A
 
#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS   0x0B
 
#define IRP_MN_QUERY_DEVICE_TEXT   0x0C
 
#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS   0x0D
 
#define IRP_MN_READ_CONFIG   0x0F
 
#define IRP_MN_WRITE_CONFIG   0x10
 
#define IRP_MN_EJECT   0x11
 
#define IRP_MN_SET_LOCK   0x12
 
#define IRP_MN_QUERY_ID   0x13
 
#define IRP_MN_QUERY_PNP_DEVICE_STATE   0x14
 
#define IRP_MN_QUERY_BUS_INFORMATION   0x15
 
#define IRP_MN_DEVICE_USAGE_NOTIFICATION   0x16
 
#define IRP_MN_SURPRISE_REMOVAL   0x17
 
#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION   0x18
 
#define IRP_MN_WAIT_WAKE   0x00
 
#define IRP_MN_POWER_SEQUENCE   0x01
 
#define IRP_MN_SET_POWER   0x02
 
#define IRP_MN_QUERY_POWER   0x03
 
#define IRP_QUOTA_CHARGED   0x01
 
#define IRP_ALLOCATED_MUST_SUCCEED   0x02
 
#define IRP_ALLOCATED_FIXED_SIZE   0x04
 
#define IRP_LOOKASIDE_ALLOCATION   0x08
 
#define IO_TYPE_ADAPTER   0x01
 
#define IO_TYPE_CONTROLLER   0x02
 
#define IO_TYPE_DEVICE   0x03
 
#define IO_TYPE_DRIVER   0x04
 
#define IO_TYPE_FILE   0x05
 
#define IO_TYPE_IRP   0x06
 
#define IO_TYPE_MASTER_ADAPTER   0x07
 
#define IO_TYPE_OPEN_PACKET   0x08
 
#define IO_TYPE_TIMER   0x09
 
#define IO_TYPE_VPB   0x0a
 
#define IO_TYPE_ERROR_LOG   0x0b
 
#define IO_TYPE_ERROR_MESSAGE   0x0c
 
#define IO_TYPE_DEVICE_OBJECT_EXTENSION   0x0d
 
#define IRP_NOCACHE   0x0001
 
#define IRP_PAGING_IO   0x0002
 
#define IRP_MOUNT_COMPLETION   0x0002
 
#define IRP_SYNCHRONOUS_API   0x0004
 
#define IRP_ASSOCIATED_IRP   0x0008
 
#define IRP_BUFFERED_IO   0x0010
 
#define IRP_DEALLOCATE_BUFFER   0x0020
 
#define IRP_INPUT_OPERATION   0x0040
 
#define IRP_SYNCHRONOUS_PAGING_IO   0x0040
 
#define IRP_CREATE_OPERATION   0x0080
 
#define IRP_READ_OPERATION   0x0100
 
#define IRP_WRITE_OPERATION   0x0200
 
#define IRP_CLOSE_OPERATION   0x0400
 
#define IRP_DEFER_IO_COMPLETION   0x0800
 
#define IRP_OB_QUERY_NAME   0x1000
 
#define IRP_HOLD_DEVICE_QUEUE   0x2000
 
#define INITIAL_PRIVILEGE_COUNT   3
 
#define IO_RESOURCE_PREFERRED   0x01
 
#define IO_RESOURCE_DEFAULT   0x02
 
#define IO_RESOURCE_ALTERNATIVE   0x08
 
#define SL_PENDING_RETURNED   0x01
 
#define SL_INVOKE_ON_CANCEL   0x20
 
#define SL_INVOKE_ON_SUCCESS   0x40
 
#define SL_INVOKE_ON_ERROR   0x80
 
#define MDL_MAPPED_TO_SYSTEM_VA   0x0001
 
#define MDL_PAGES_LOCKED   0x0002
 
#define MDL_SOURCE_IS_NONPAGED_POOL   0x0004
 
#define MDL_ALLOCATED_FIXED_SIZE   0x0008
 
#define MDL_PARTIAL   0x0010
 
#define MDL_PARTIAL_HAS_BEEN_MAPPED   0x0020
 
#define MDL_IO_PAGE_READ   0x0040
 
#define MDL_WRITE_OPERATION   0x0080
 
#define MDL_PARENT_MAPPED_SYSTEM_VA   0x0100
 
#define MDL_FREE_EXTRA_PTES   0x0200
 
#define MDL_DESCRIBES_AWE   0x0400
 
#define MDL_IO_SPACE   0x0800
 
#define MDL_NETWORK_HEADER   0x1000
 
#define MDL_MAPPING_CAN_FAIL   0x2000
 
#define MDL_ALLOCATED_MUST_SUCCEED   0x4000
 
#define MDL_INTERNAL   0x8000
 
#define MDL_MAPPING_FLAGS
 
#define PROCESSOR_FEATURE_MAX   64
 
#define NX_SUPPORT_POLICY_ALWAYSOFF   0
 
#define NX_SUPPORT_POLICY_ALWAYSON   1
 
#define NX_SUPPORT_POLICY_OPTIN   2
 
#define NX_SUPPORT_POLICY_OPTOUT   3
 
#define LOOKASIDE_ALIGN
 
#define LOOKASIDE_MINIMUM_BLOCK_SIZE   (RTL_SIZEOF_THROUGH_FIELD(SLIST_ENTRY, Next))
 
#define GENERAL_LOOKASIDE_LAYOUT
 
#define OB_FLT_REGISTRATION_VERSION_0100   0x0100
 
#define OB_FLT_REGISTRATION_VERSION   OB_FLT_REGISTRATION_VERSION_0100
 
#define IoGetCurrentIrpStackLocation(_Irp)   ((_Irp)->Tail.Overlay.CurrentStackLocation)
 
#define IoGetNextIrpStackLocation(_Irp)   ((_Irp)->Tail.Overlay.CurrentStackLocation - 1)
 
#define IoSetCancelRoutine(irp, routine)    ((PDRIVER_CANCEL)InterlockedExchangePointer((void **)&(irp)->CancelRoutine, routine))
 
#define KernelMode   0
 
#define UserMode   1
 
#define DIRECTORY_QUERY   0x0001
 
#define DIRECTORY_TRAVERSE   0x0002
 
#define DIRECTORY_CREATE_OBJECT   0x0004
 
#define DIRECTORY_CREATE_SUBDIRECTORY   0x0008
 
#define DIRECTORY_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0xF)
 
#define SYMBOLIC_LINK_QUERY   0x0001
 
#define SYMBOLIC_LINK_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0x1)
 
#define KeAcquireSpinLock(lock, irql)   *(irql) = KeAcquireSpinLockRaiseToDpc( lock )
 
#define PsGetCurrentProcess()   IoGetCurrentProcess()
 
#define PsGetCurrentThread()   ((PETHREAD)KeGetCurrentThread())
 
#define RtlCopyMemoryNonTemporal   RtlCopyMemory
 

Typedefs

typedef LONG KPRIORITY
 
typedef ULONG_PTR KSPIN_LOCK
 
typedef ULONG_PTRPKSPIN_LOCK
 
typedef ULONG_PTR ERESOURCE_THREAD
 
typedef ERESOURCE_THREADPERESOURCE_THREAD
 
typedef struct _FILE_GET_QUOTA_INFORMATION * PFILE_GET_QUOTA_INFORMATION
 
typedef VOID(WINAPIPKSTART_ROUTINE) (PVOID)
 
typedef NTSTATUS(WINAPIPDRIVER_INITIALIZE) (struct _DRIVER_OBJECT *, PUNICODE_STRING)
 
typedef NTSTATUS(WINAPIPDRIVER_DISPATCH) (struct _DEVICE_OBJECT *, struct _IRP *)
 
typedef void(WINAPIPDRIVER_STARTIO) (struct _DEVICE_OBJECT *, struct _IRP *)
 
typedef void(WINAPIPDRIVER_UNLOAD) (struct _DRIVER_OBJECT *)
 
typedef NTSTATUS(WINAPIPDRIVER_ADD_DEVICE) (struct _DRIVER_OBJECT *, struct _DEVICE_OBJECT *)
 
typedef struct _DISPATCHER_HEADER DISPATCHER_HEADER
 
typedef struct _DISPATCHER_HEADERPDISPATCHER_HEADER
 
typedef struct _KEVENT KEVENT
 
typedef struct _KEVENTPKEVENT
 
typedef struct _KEVENT PRKEVENT
 
typedef struct _KSEMAPHORE KSEMAPHORE
 
typedef struct _KSEMAPHOREPKSEMAPHORE
 
typedef struct _KSEMAPHOREPRKSEMAPHORE
 
typedef struct _KDPC KDPC
 
typedef struct _KDPCPKDPC
 
typedef struct _KDPC PRKDPC
 
typedef enum _KDPC_IMPORTANCE KDPC_IMPORTANCE
 
typedef struct _KDEVICE_QUEUE_ENTRY KDEVICE_QUEUE_ENTRY
 
typedef struct _KDEVICE_QUEUE_ENTRYPKDEVICE_QUEUE_ENTRY
 
typedef struct _KDEVICE_QUEUE_ENTRY PRKDEVICE_QUEUE_ENTRY
 
typedef struct _KDEVICE_QUEUE KDEVICE_QUEUE
 
typedef struct _KDEVICE_QUEUEPKDEVICE_QUEUE
 
typedef struct _KDEVICE_QUEUE PRKDEVICE_QUEUE
 
typedef struct _KMUTANT KMUTANT
 
typedef struct _KMUTANTPKMUTANT
 
typedef struct _KMUTANT PRKMUTANT
 
typedef struct _KMUTANT KMUTEX
 
typedef struct _KMUTANTPKMUTEX
 
typedef struct _KMUTANT PRKMUTEX
 
typedef struct _DEFERRED_REVERSE_BARRIER DEFERRED_REVERSE_BARRIER
 
typedef enum _KWAIT_REASON KWAIT_REASON
 
typedef struct _KWAIT_BLOCK KWAIT_BLOCK
 
typedef struct _KWAIT_BLOCKPKWAIT_BLOCK
 
typedef struct _KWAIT_BLOCK PRKWAIT_BLOCK
 
typedef struct _OWNER_ENTRY OWNER_ENTRY
 
typedef struct _OWNER_ENTRYPOWNER_ENTRY
 
typedef struct _ERESOURCE ERESOURCE
 
typedef struct _ERESOURCEPERESOURCE
 
typedef struct _IO_TIMER * PIO_TIMER
 
typedef struct _IO_TIMER_ROUTINE * PIO_TIMER_ROUTINE
 
typedef struct _ETHREADPETHREAD
 
typedef struct _KTHREADPKTHREAD
 
typedef struct _KTHREADPRKTHREAD
 
typedef struct _EPROCESSPEPROCESS
 
typedef struct _KPROCESS KPROCESS
 
typedef struct _KPROCESS * PKPROCESS
 
typedef struct _KPROCESS * PRKPROCESS
 
typedef struct _IO_WORKITEMPIO_WORKITEM
 
typedef struct _OBJECT_TYPEPOBJECT_TYPE
 
typedef struct _OBJECT_HANDLE_INFORMATION * POBJECT_HANDLE_INFORMATION
 
typedef struct _ZONE_HEADER * PZONE_HEADER
 
typedef struct _LOOKASIDE_LIST_EXPLOOKASIDE_LIST_EX
 
typedef struct _KAPC_STATE KAPC_STATE
 
typedef struct _KAPC_STATEPKAPC_STATE
 
typedef struct _FAST_MUTEX FAST_MUTEX
 
typedef struct _FAST_MUTEXPFAST_MUTEX
 
typedef struct _VPB VPB
 
typedef struct _VPBPVPB
 
typedef enum _POOL_TYPE POOL_TYPE
 
typedef struct _WAIT_CONTEXT_BLOCK WAIT_CONTEXT_BLOCK
 
typedef struct _WAIT_CONTEXT_BLOCKPWAIT_CONTEXT_BLOCK
 
typedef struct _DEVICE_OBJECT DEVICE_OBJECT
 
typedef struct _DEVICE_OBJECTPDEVICE_OBJECT
 
typedef struct _DEVICE_RELATIONS DEVICE_RELATIONS
 
typedef struct _DEVICE_RELATIONSPDEVICE_RELATIONS
 
typedef struct _DRIVER_EXTENSION DRIVER_EXTENSION
 
typedef struct _DRIVER_EXTENSIONPDRIVER_EXTENSION
 
typedef struct _DRIVER_OBJECT DRIVER_OBJECT
 
typedef struct _DRIVER_OBJECTPDRIVER_OBJECT
 
typedef UCHAR KIRQL
 
typedef UCHARPKIRQL
 
typedef CCHAR KPROCESSOR_MODE
 
typedef enum _KAPC_ENVIRONMENT KAPC_ENVIRONMENT
 
typedef enum _KAPC_ENVIRONMENTPKAPC_ENVIRONMENT
 
typedef VOID(WINAPIPDRIVER_CANCEL) (IN struct _DEVICE_OBJECT *DeviceObject, IN struct _IRP *Irp)
 
typedef VOID(WINAPIPKNORMAL_ROUTINE) (IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
 
typedef VOID(WINAPIPKKERNEL_ROUTINE) (IN struct _KAPC *Apc, IN OUT PKNORMAL_ROUTINE *NormalRoutine, IN OUT PVOID *NormalContext, IN OUT PVOID *SystemArgument1, IN OUT PVOID *SystemArgument2)
 
typedef VOID(WINAPIPKRUNDOWN_ROUTINE) (IN struct _KAPC *Apc)
 
typedef struct _KAPC KAPC
 
typedef struct _KAPCPKAPC
 
typedef struct _KAPC PRKAPC
 
typedef struct _IRP IRP
 
typedef struct _IRPPIRP
 
typedef VOID(WINAPIPINTERFACE_REFERENCE) (PVOID Context)
 
typedef VOID(WINAPIPINTERFACE_DEREFERENCE) (PVOID Context)
 
typedef struct _INTERFACE INTERFACE
 
typedef struct _INTERFACEPINTERFACE
 
typedef struct _SECTION_OBJECT_POINTERS SECTION_OBJECT_POINTERS
 
typedef struct _SECTION_OBJECT_POINTERSPSECTION_OBJECT_POINTERS
 
typedef struct _IO_COMPLETION_CONTEXT IO_COMPLETION_CONTEXT
 
typedef struct _IO_COMPLETION_CONTEXTPIO_COMPLETION_CONTEXT
 
typedef enum _DEVICE_RELATION_TYPE DEVICE_RELATION_TYPE
 
typedef enum _DEVICE_RELATION_TYPEPDEVICE_RELATION_TYPE
 
typedef struct _FILE_OBJECT FILE_OBJECT
 
typedef struct _FILE_OBJECTPFILE_OBJECT
 
typedef struct _INITIAL_PRIVILEGE_SET INITIAL_PRIVILEGE_SET
 
typedef struct _INITIAL_PRIVILEGE_SETPINITIAL_PRIVILEGE_SET
 
typedef struct _SECURITY_SUBJECT_CONTEXT SECURITY_SUBJECT_CONTEXT
 
typedef struct _SECURITY_SUBJECT_CONTEXTPSECURITY_SUBJECT_CONTEXT
 
typedef struct _ACCESS_STATE ACCESS_STATE
 
typedef struct _ACCESS_STATEPACCESS_STATE
 
typedef struct _IO_SECURITY_CONTEXT IO_SECURITY_CONTEXT
 
typedef struct _IO_SECURITY_CONTEXTPIO_SECURITY_CONTEXT
 
typedef struct _DEVICE_CAPABILITIES DEVICE_CAPABILITIES
 
typedef struct _DEVICE_CAPABILITIESPDEVICE_CAPABILITIES
 
typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION DEVICE_INTERFACE_CHANGE_NOTIFICATION
 
typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATIONPDEVICE_INTERFACE_CHANGE_NOTIFICATION
 
typedef enum _INTERFACE_TYPE INTERFACE_TYPE
 
typedef enum _INTERFACE_TYPEPINTERFACE_TYPE
 
typedef LARGE_INTEGER PHYSICAL_ADDRESS
 
typedef LARGE_INTEGERPPHYSICAL_ADDRESS
 
typedef struct _IO_RESOURCE_DESCRIPTOR IO_RESOURCE_DESCRIPTOR
 
typedef struct _IO_RESOURCE_DESCRIPTORPIO_RESOURCE_DESCRIPTOR
 
typedef struct _IO_RESOURCE_LIST IO_RESOURCE_LIST
 
typedef struct _IO_RESOURCE_LISTPIO_RESOURCE_LIST
 
typedef struct _IO_RESOURCE_REQUIREMENTS_LIST IO_RESOURCE_REQUIREMENTS_LIST
 
typedef struct _IO_RESOURCE_REQUIREMENTS_LISTPIO_RESOURCE_REQUIREMENTS_LIST
 
typedef enum _BUS_QUERY_ID_TYPE BUS_QUERY_ID_TYPE
 
typedef enum _BUS_QUERY_ID_TYPEPBUS_QUERY_ID_TYPE
 
typedef enum _CREATE_FILE_TYPE CREATE_FILE_TYPE
 
typedef enum _DEVICE_TEXT_TYPE DEVICE_TEXT_TYPE
 
typedef enum _DEVICE_TEXT_TYPEPDEVICE_TEXT_TYPE
 
typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE DEVICE_USAGE_NOTIFICATION_TYPE
 
typedef struct _POWER_SEQUENCE POWER_SEQUENCE
 
typedef struct _POWER_SEQUENCEPPOWER_SEQUENCE
 
typedef enum _POWER_STATE_TYPE POWER_STATE_TYPE
 
typedef enum _POWER_STATE_TYPEPPOWER_STATE_TYPE
 
typedef union _POWER_STATE POWER_STATE
 
typedef union _POWER_STATEPPOWER_STATE
 
typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR CM_PARTIAL_RESOURCE_DESCRIPTOR
 
typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTORPCM_PARTIAL_RESOURCE_DESCRIPTOR
 
typedef struct _CM_PARTIAL_RESOURCE_LIST CM_PARTIAL_RESOURCE_LIST
 
typedef struct _CM_PARTIAL_RESOURCE_LISTPCM_PARTIAL_RESOURCE_LIST
 
typedef struct _CM_FULL_RESOURCE_DESCRIPTOR CM_FULL_RESOURCE_DESCRIPTOR
 
typedef struct _CM_FULL_RESOURCE_DESCRIPTORPCM_FULL_RESOURCE_DESCRIPTOR
 
typedef struct _CM_RESOURCE_LIST CM_RESOURCE_LIST
 
typedef struct _CM_RESOURCE_LISTPCM_RESOURCE_LIST
 
typedef NTSTATUS(WINAPIPIO_COMPLETION_ROUTINE) (IN struct _DEVICE_OBJECT *DeviceObject, IN struct _IRP *Irp, IN PVOID Context)
 
typedef struct _IO_STACK_LOCATION IO_STACK_LOCATION
 
typedef struct _IO_STACK_LOCATIONPIO_STACK_LOCATION
 
typedef struct _MDL MDL
 
typedef struct _MDLPMDL
 
typedef MDLPMDLX
 
typedef ULONG PFN_NUMBER
 
typedef ULONGPPFN_NUMBER
 
typedef struct _KTIMER KTIMER
 
typedef struct _KTIMERPKTIMER
 
typedef struct _KSYSTEM_TIME KSYSTEM_TIME
 
typedef struct _KSYSTEM_TIMEPKSYSTEM_TIME
 
typedef enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
 
typedef enum _NT_PRODUCT_TYPEPNT_PRODUCT_TYPE
 
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ALTERNATIVE_ARCHITECTURE_TYPE
 
typedef struct _KUSER_SHARED_DATA KSHARED_USER_DATA
 
typedef struct _KUSER_SHARED_DATAPKSHARED_USER_DATA
 
typedef enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE
 
typedef enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY
 
typedef enum _MM_SYSTEM_SIZE MM_SYSTEMSIZE
 
typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK IO_REMOVE_LOCK_COMMON_BLOCK
 
typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK
 
typedef struct _IO_REMOVE_LOCK_DBG_BLOCK IO_REMOVE_LOCK_DBG_BLOCK
 
typedef struct _IO_REMOVE_LOCK IO_REMOVE_LOCK
 
typedef struct _IO_REMOVE_LOCKPIO_REMOVE_LOCK
 
typedef struct _CALLBACK_OBJECT CALLBACK_OBJECT
 
typedef struct _CALLBACK_OBJECTPCALLBACK_OBJECT
 
typedef struct _KSPIN_LOCK_QUEUE KSPIN_LOCK_QUEUE
 
typedef struct _KSPIN_LOCK_QUEUEPKSPIN_LOCK_QUEUE
 
typedef struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE
 
typedef struct _KLOCK_QUEUE_HANDLEPKLOCK_QUEUE_HANDLE
 
typedef void *(NTAPIPALLOCATE_FUNCTION) (POOL_TYPE, SIZE_T, ULONG)
 
typedef void *(NTAPIPALLOCATE_FUNCTION_EX) (POOL_TYPE, SIZE_T, ULONG, PLOOKASIDE_LIST_EX)
 
typedef void(NTAPIPFREE_FUNCTION) (void *)
 
typedef void(NTAPIPFREE_FUNCTION_EX) (void *, PLOOKASIDE_LIST_EX)
 
typedef void(NTAPIPCALLBACK_FUNCTION) (void *, void *, void *)
 
typedef struct _GENERAL_LOOKASIDE GENERAL_LOOKASIDE
 
typedef struct _GENERAL_LOOKASIDE_POOL GENERAL_LOOKASIDE_POOL
 
typedef struct _GENERAL_LOOKASIDE_POOLPGENERAL_LOOKASIDE_POOL
 
typedef struct _LOOKASIDE_LIST_EX LOOKASIDE_LIST_EX
 
typedef struct _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
 
typedef struct _NPAGED_LOOKASIDE_LISTPNPAGED_LOOKASIDE_LIST
 
typedef struct _PAGED_LOOKASIDE_LIST PAGED_LOOKASIDE_LIST
 
typedef struct _PAGED_LOOKASIDE_LISTPPAGED_LOOKASIDE_LIST
 
typedef voidArgument1
 
typedef void voidArgument2
 
typedef EX_CALLBACK_FUNCTION * PEX_CALLBACK_FUNCTION
 
typedef ULONG OB_OPERATION
 
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION OB_PRE_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATIONPOB_PRE_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION OB_PRE_DUPLICATE_HANDLE_INFORMATION
 
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATIONPOB_PRE_DUPLICATE_HANDLE_INFORMATION
 
typedef union _OB_PRE_OPERATION_PARAMETERS OB_PRE_OPERATION_PARAMETERS
 
typedef union _OB_PRE_OPERATION_PARAMETERSPOB_PRE_OPERATION_PARAMETERS
 
typedef struct _OB_PRE_OPERATION_INFORMATION OB_PRE_OPERATION_INFORMATION
 
typedef struct _OB_PRE_OPERATION_INFORMATIONPOB_PRE_OPERATION_INFORMATION
 
typedef struct _OB_POST_CREATE_HANDLE_INFORMATION OB_POST_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_POST_CREATE_HANDLE_INFORMATIONPOB_POST_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATION OB_POST_DUPLICATE_HANDLE_INFORMATION
 
typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATIONPOB_POST_DUPLICATE_HANDLE_INFORMATION
 
typedef union _OB_POST_OPERATION_PARAMETERS OB_POST_OPERATION_PARAMETERS
 
typedef union _OB_POST_OPERATION_PARAMETERSPOB_POST_OPERATION_PARAMETERS
 
typedef struct _OB_POST_OPERATION_INFORMATION OB_POST_OPERATION_INFORMATION
 
typedef struct _OB_POST_OPERATION_INFORMATIONPOB_POST_OPERATION_INFORMATION
 
typedef enum _OB_PREOP_CALLBACK_STATUS OB_PREOP_CALLBACK_STATUS
 
typedef enum _OB_PREOP_CALLBACK_STATUSPOB_PREOP_CALLBACK_STATUS
 
typedef OB_PREOP_CALLBACK_STATUS(WINAPIPOB_PRE_OPERATION_CALLBACK) (void *context, POB_PRE_OPERATION_INFORMATION information)
 
typedef void(WINAPIPOB_POST_OPERATION_CALLBACK) (void *context, POB_POST_OPERATION_INFORMATION information)
 
typedef struct _OB_OPERATION_REGISTRATION OB_OPERATION_REGISTRATION
 
typedef struct _OB_OPERATION_REGISTRATIONPOB_OPERATION_REGISTRATION
 
typedef struct _OB_CALLBACK_REGISTRATION OB_CALLBACK_REGISTRATION
 
typedef struct _OB_CALLBACK_REGISTRATIONPOB_CALLBACK_REGISTRATION
 
typedef enum _DIRECTORY_NOTIFY_INFORMATION_CLASS DIRECTORY_NOTIFY_INFORMATION_CLASS
 
typedef enum _DIRECTORY_NOTIFY_INFORMATION_CLASSPDIRECTORY_NOTIFY_INFORMATION_CLASS
 
typedef enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
 
typedef void(WINAPIPIO_WORKITEM_ROUTINE) (PDEVICE_OBJECT, void *)
 

Enumerations

enum  _KDPC_IMPORTANCE { LowImportance , MediumImportance , HighImportance , MediumHighImportance }
 
enum  _KWAIT_REASON {
  Executive , FreePage , PageIn , PoolAllocation ,
  DelayExecution , Suspended , UserRequest , WrExecutive ,
  WrFreePage , WrPageIn , WrDelayExecution , WrSuspended ,
  WrUserRequest , WrQueue , WrLpcReceive , WrLpcReply ,
  WrVirtualMemory , WrPageOut , WrRendezvous , Spare2 ,
  Spare3 , Spare4 , Spare5 , Spare6 ,
  WrKernel , MaximumWaitReason
}
 
enum  _POOL_TYPE {
  NonPagedPool , PagedPool , NonPagedPoolMustSucceed , DontUseThisType ,
  NonPagedPoolCacheAligned , PagedPoolCacheAligned , NonPagedPoolCacheAlignedMustS , MaxPoolType
}
 
enum  _KAPC_ENVIRONMENT { OriginalApcEnvironment , AttachedApcEnvironment , CurrentApcEnvironment , InsertApcEnvironment }
 
enum  _DEVICE_RELATION_TYPE {
  BusRelations , EjectionRelations , PowerRelations , RemovalRelations ,
  TargetDeviceRelation , SingleBusRelations
}
 
enum  _INTERFACE_TYPE {
  InterfaceTypeUndefined = -1 , Internal , Isa , Eisa ,
  MicroChannel , TurboChannel , PCIBus , VMEBus ,
  NuBus , PCMCIABus , CBus , MPIBus ,
  MPSABus , ProcessorInternal , InternalPowerBus , PNPISABus ,
  PNPBus , MaximumInterfaceType
}
 
enum  _BUS_QUERY_ID_TYPE {
  BusQueryDeviceID , BusQueryHardwareIDs , BusQueryCompatibleIDs , BusQueryInstanceID ,
  BusQueryDeviceSerialNumber
}
 
enum  _CREATE_FILE_TYPE { CreateFileTypeNone , CreateFileTypeNamedPipe , CreateFileTypeMailslot }
 
enum  DEVICE_REGISTRY_PROPERTY {
  DevicePropertyDeviceDescription , DevicePropertyHardwareID , DevicePropertyCompatibleIDs , DevicePropertyBootConfiguration ,
  DevicePropertyBootConfigurationTranslated , DevicePropertyClassName , DevicePropertyClassGuid , DevicePropertyDriverKeyName ,
  DevicePropertyManufacturer , DevicePropertyFriendlyName , DevicePropertyLocationInformation , DevicePropertyPhysicalDeviceObjectName ,
  DevicePropertyBusTypeGuid , DevicePropertyLegacyBusType , DevicePropertyBusNumber , DevicePropertyEnumeratorName ,
  DevicePropertyAddress , DevicePropertyUINumber , DevicePropertyInstallState , DevicePropertyRemovalPolicy
}
 
enum  _DEVICE_TEXT_TYPE { DeviceTextDescription , DeviceTextLocationInformation }
 
enum  _DEVICE_USAGE_NOTIFICATION_TYPE { DeviceUsageTypeUndefined , DeviceUsageTypePaging , DeviceUsageTypeHibernation , DeviceUsageTypeDumpFile }
 
enum  _POWER_STATE_TYPE { SystemPowerState , DevicePowerState }
 
enum  _NT_PRODUCT_TYPE { NtProductWinNt = 1 , NtProductLanManNt , NtProductServer }
 
enum  _ALTERNATIVE_ARCHITECTURE_TYPE { StandardDesign , NEC98x86 , EndAlternatives }
 
enum  _MEMORY_CACHING_TYPE {
  MmNonCached = 0 , MmCached = 1 , MmWriteCombined = 2 , MmHardwareCoherentCached = 3 ,
  MmNonCachedUnordered = 4 , MmUSWCCached = 5 , MmMaximumCacheType = 6
}
 
enum  _MM_PAGE_PRIORITY { LowPagePriority , NormalPagePriority = 16 , HighPagePriority = 32 }
 
enum  _MM_SYSTEM_SIZE { MmSmallSystem , MmMediumSystem , MmLargeSystem }
 
enum  LOCK_OPERATION { IoReadAccess , IoWriteAccess , IoModifyAccess }
 
enum  _OB_PREOP_CALLBACK_STATUS { OB_PREOP_SUCCESS }
 
enum  _DIRECTORY_NOTIFY_INFORMATION_CLASS { DirectoryNotifyInformation = 1 , DirectoryNotifyExtendedInformation }
 
enum  _WORK_QUEUE_TYPE { CriticalWorkQueue , DelayedWorkQueue , HyperCriticalWorkQueue , MaximumWorkQueue }
 

Functions

typedef VOID (WINAPI *PKDEFERRED_ROUTINE)(struct _KDPC *
 
static void MmInitializeMdl (MDL *mdl, void *va, SIZE_T length)
 
typedef NTSTATUS (NTAPI EX_CALLBACK_FUNCTION)(void *CallbackContext
 
NTSTATUS WINAPI ObCloseHandle (IN HANDLE handle)
 
static void IoSkipCurrentIrpStackLocation (IRP *irp)
 
static void IoSetCompletionRoutine (IRP *irp, PIO_COMPLETION_ROUTINE routine, void *context, BOOLEAN on_success, BOOLEAN on_error, BOOLEAN on_cancel)
 
static void IoMarkIrpPending (IRP *irp)
 
static void IoCopyCurrentIrpStackLocationToNext (IRP *irp)
 
NTSTATUS WINAPI DbgQueryDebugFilterState (ULONG, ULONG)
 
void FASTCALL ExAcquireFastMutexUnsafe (PFAST_MUTEX)
 
BOOLEAN WINAPI ExAcquireResourceExclusiveLite (ERESOURCE *, BOOLEAN)
 
BOOLEAN WINAPI ExAcquireResourceSharedLite (ERESOURCE *, BOOLEAN)
 
BOOLEAN WINAPI ExAcquireSharedStarveExclusive (ERESOURCE *, BOOLEAN)
 
BOOLEAN WINAPI ExAcquireSharedWaitForExclusive (ERESOURCE *, BOOLEAN)
 
PVOID WINAPI ExAllocatePool (POOL_TYPE, SIZE_T)
 
PVOID WINAPI ExAllocatePoolWithQuota (POOL_TYPE, SIZE_T)
 
PVOID WINAPI ExAllocatePoolWithTag (POOL_TYPE, SIZE_T, ULONG)
 
PVOID WINAPI ExAllocatePoolWithQuotaTag (POOL_TYPE, SIZE_T, ULONG)
 
void WINAPI ExDeleteNPagedLookasideList (PNPAGED_LOOKASIDE_LIST)
 
void WINAPI ExDeletePagedLookasideList (PPAGED_LOOKASIDE_LIST)
 
NTSTATUS WINAPI ExDeleteResourceLite (ERESOURCE *)
 
void WINAPI ExFreePool (PVOID)
 
void WINAPI ExFreePoolWithTag (PVOID, ULONG)
 
ULONG WINAPI ExGetExclusiveWaiterCount (ERESOURCE *)
 
ULONG WINAPI ExGetSharedWaiterCount (ERESOURCE *)
 
void WINAPI ExInitializeNPagedLookasideList (PNPAGED_LOOKASIDE_LIST, PALLOCATE_FUNCTION, PFREE_FUNCTION, ULONG, SIZE_T, ULONG, USHORT)
 
void WINAPI ExInitializePagedLookasideList (PPAGED_LOOKASIDE_LIST, PALLOCATE_FUNCTION, PFREE_FUNCTION, ULONG, SIZE_T, ULONG, USHORT)
 
NTSTATUS WINAPI ExInitializeResourceLite (ERESOURCE *)
 
PSLIST_ENTRY WINAPI ExInterlockedFlushSList (PSLIST_HEADER)
 
PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList (PSLIST_HEADER, PKSPIN_LOCK)
 
PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList (PSLIST_HEADER, PSLIST_ENTRY, PKSPIN_LOCK)
 
LIST_ENTRY *WINAPI ExInterlockedRemoveHeadList (LIST_ENTRY *, KSPIN_LOCK *)
 
BOOLEAN WINAPI ExIsResourceAcquiredExclusiveLite (ERESOURCE *)
 
ULONG WINAPI ExIsResourceAcquiredSharedLite (ERESOURCE *)
 
void *WINAPI ExRegisterCallback (PCALLBACK_OBJECT, PCALLBACK_FUNCTION, void *)
 
void FASTCALL ExReleaseFastMutexUnsafe (PFAST_MUTEX)
 
void WINAPI ExReleaseResourceForThreadLite (ERESOURCE *, ERESOURCE_THREAD)
 
ULONG WINAPI ExSetTimerResolution (ULONG, BOOLEAN)
 
void WINAPI ExUnregisterCallback (void *)
 
void WINAPI IoAcquireCancelSpinLock (KIRQL *)
 
NTSTATUS WINAPI IoAcquireRemoveLockEx (IO_REMOVE_LOCK *, void *, const char *, ULONG, ULONG)
 
NTSTATUS WINAPI IoAllocateDriverObjectExtension (PDRIVER_OBJECT, PVOID, ULONG, PVOID *)
 
PVOID WINAPI IoAllocateErrorLogEntry (PVOID, UCHAR)
 
PIRP WINAPI IoAllocateIrp (CCHAR, BOOLEAN)
 
PMDL WINAPI IoAllocateMdl (PVOID, ULONG, BOOLEAN, BOOLEAN, IRP *)
 
PIO_WORKITEM WINAPI IoAllocateWorkItem (PDEVICE_OBJECT)
 
void WINAPI IoDetachDevice (PDEVICE_OBJECT)
 
PDEVICE_OBJECT WINAPI IoAttachDeviceToDeviceStack (PDEVICE_OBJECT, PDEVICE_OBJECT)
 
PIRP WINAPI IoBuildAsynchronousFsdRequest (ULONG, DEVICE_OBJECT *, void *, ULONG, LARGE_INTEGER *, IO_STATUS_BLOCK *)
 
PIRP WINAPI IoBuildDeviceIoControlRequest (ULONG, DEVICE_OBJECT *, PVOID, ULONG, PVOID, ULONG, BOOLEAN, PKEVENT, IO_STATUS_BLOCK *)
 
PIRP WINAPI IoBuildSynchronousFsdRequest (ULONG, DEVICE_OBJECT *, PVOID, ULONG, PLARGE_INTEGER, PKEVENT, IO_STATUS_BLOCK *)
 
NTSTATUS WINAPI IoCallDriver (DEVICE_OBJECT *, IRP *)
 
BOOLEAN WINAPI IoCancelIrp (IRP *)
 
VOID WINAPI IoCompleteRequest (IRP *, UCHAR)
 
NTSTATUS WINAPI IoCreateDevice (DRIVER_OBJECT *, ULONG, UNICODE_STRING *, ULONG, ULONG, BOOLEAN, DEVICE_OBJECT **)
 
NTSTATUS WINAPI IoCreateDriver (UNICODE_STRING *, PDRIVER_INITIALIZE)
 
NTSTATUS WINAPI IoCreateSymbolicLink (UNICODE_STRING *, UNICODE_STRING *)
 
PKEVENT WINAPI IoCreateSynchronizationEvent (UNICODE_STRING *, HANDLE *)
 
void WINAPI IoDeleteDevice (DEVICE_OBJECT *)
 
void WINAPI IoDeleteDriver (DRIVER_OBJECT *)
 
NTSTATUS WINAPI IoDeleteSymbolicLink (UNICODE_STRING *)
 
void WINAPI IoFreeIrp (IRP *)
 
void WINAPI IoFreeMdl (MDL *)
 
void WINAPI IoFreeWorkItem (PIO_WORKITEM)
 
DEVICE_OBJECT *WINAPI IoGetAttachedDeviceReference (DEVICE_OBJECT *)
 
PEPROCESS WINAPI IoGetCurrentProcess (void)
 
NTSTATUS WINAPI IoGetDeviceInterfaces (const GUID *, PDEVICE_OBJECT, ULONG, PWSTR *)
 
NTSTATUS WINAPI IoGetDeviceObjectPointer (UNICODE_STRING *, ACCESS_MASK, PFILE_OBJECT *, PDEVICE_OBJECT *)
 
NTSTATUS WINAPI IoGetDeviceProperty (PDEVICE_OBJECT, DEVICE_REGISTRY_PROPERTY, ULONG, PVOID, PULONG)
 
PVOID WINAPI IoGetDriverObjectExtension (PDRIVER_OBJECT, PVOID)
 
PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject (PFILE_OBJECT)
 
void WINAPI IoGetStackLimits (ULONG_PTR *, ULONG_PTR *)
 
void WINAPI IoInitializeIrp (IRP *, USHORT, CCHAR)
 
VOID WINAPI IoInitializeRemoveLockEx (PIO_REMOVE_LOCK, ULONG, ULONG, ULONG, ULONG)
 
void WINAPI IoInvalidateDeviceRelations (PDEVICE_OBJECT, DEVICE_RELATION_TYPE)
 
NTSTATUS WINAPI IoOpenDeviceRegistryKey (DEVICE_OBJECT *, ULONG, ACCESS_MASK, HANDLE *)
 
void WINAPI IoQueueWorkItem (PIO_WORKITEM, PIO_WORKITEM_ROUTINE, WORK_QUEUE_TYPE, void *)
 
NTSTATUS WINAPI IoRegisterDeviceInterface (PDEVICE_OBJECT, const GUID *, PUNICODE_STRING, PUNICODE_STRING)
 
void WINAPI IoReleaseCancelSpinLock (KIRQL)
 
void WINAPI IoReleaseRemoveLockAndWaitEx (IO_REMOVE_LOCK *, void *, ULONG)
 
void WINAPI IoReleaseRemoveLockEx (IO_REMOVE_LOCK *, void *, ULONG)
 
void WINAPI IoReuseIrp (IRP *, NTSTATUS)
 
NTSTATUS WINAPI IoSetDeviceInterfaceState (UNICODE_STRING *, BOOLEAN)
 
NTSTATUS WINAPI IoWMIRegistrationControl (PDEVICE_OBJECT, ULONG)
 
void FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel (KSPIN_LOCK *, KLOCK_QUEUE_HANDLE *)
 
KIRQL WINAPI KeAcquireSpinLockRaiseToDpc (KSPIN_LOCK *)
 
void WINAPI KeAcquireSpinLockAtDpcLevel (KSPIN_LOCK *)
 
void WINAPI DECLSPEC_NORETURN KeBugCheckEx (ULONG, ULONG_PTR, ULONG_PTR, ULONG_PTR, ULONG_PTR)
 
BOOLEAN WINAPI KeCancelTimer (KTIMER *)
 
void WINAPI KeClearEvent (PRKEVENT)
 
NTSTATUS WINAPI KeDelayExecutionThread (KPROCESSOR_MODE, BOOLEAN, LARGE_INTEGER *)
 
void WINAPI KeEnterCriticalRegion (void)
 
void WINAPI KeGenericCallDpc (PKDEFERRED_ROUTINE, PVOID)
 
ULONG WINAPI KeGetCurrentProcessorNumber (void)
 
PKTHREAD WINAPI KeGetCurrentThread (void)
 
void WINAPI KeInitializeDpc (KDPC *, PKDEFERRED_ROUTINE, void *)
 
void WINAPI KeInitializeEvent (PRKEVENT, EVENT_TYPE, BOOLEAN)
 
void WINAPI KeInitializeMutex (PRKMUTEX, ULONG)
 
void WINAPI KeInitializeSemaphore (PRKSEMAPHORE, LONG, LONG)
 
void WINAPI KeInitializeSpinLock (KSPIN_LOCK *)
 
void WINAPI KeInitializeTimerEx (PKTIMER, TIMER_TYPE)
 
void WINAPI KeInitializeTimer (KTIMER *)
 
void WINAPI KeLeaveCriticalRegion (void)
 
ULONG WINAPI KeQueryActiveProcessorCountEx (USHORT)
 
KAFFINITY WINAPI KeQueryActiveProcessors (void)
 
void WINAPI KeQuerySystemTime (LARGE_INTEGER *)
 
void WINAPI KeQueryTickCount (LARGE_INTEGER *)
 
ULONG WINAPI KeQueryTimeIncrement (void)
 
LONG WINAPI KeReadStateEvent (PRKEVENT)
 
void FASTCALL KeReleaseInStackQueuedSpinLockFromDpcLevel (KLOCK_QUEUE_HANDLE *)
 
LONG WINAPI KeReleaseMutex (PRKMUTEX, BOOLEAN)
 
LONG WINAPI KeReleaseSemaphore (PRKSEMAPHORE, KPRIORITY, LONG, BOOLEAN)
 
void WINAPI KeReleaseSpinLock (KSPIN_LOCK *, KIRQL)
 
void WINAPI KeReleaseSpinLockFromDpcLevel (KSPIN_LOCK *)
 
LONG WINAPI KeResetEvent (PRKEVENT)
 
void WINAPI KeRevertToUserAffinityThread (void)
 
void WINAPI KeRevertToUserAffinityThreadEx (KAFFINITY affinity)
 
LONG WINAPI KeSetEvent (PRKEVENT, KPRIORITY, BOOLEAN)
 
KPRIORITY WINAPI KeSetPriorityThread (PKTHREAD, KPRIORITY)
 
void WINAPI KeSetSystemAffinityThread (KAFFINITY)
 
KAFFINITY WINAPI KeSetSystemAffinityThreadEx (KAFFINITY affinity)
 
BOOLEAN WINAPI KeSetTimer (KTIMER *, LARGE_INTEGER, KDPC *)
 
BOOLEAN WINAPI KeSetTimerEx (KTIMER *, LARGE_INTEGER, LONG, KDPC *)
 
void WINAPI KeSignalCallDpcDone (void *)
 
BOOLEAN WINAPI KeSignalCallDpcSynchronize (void *)
 
NTSTATUS WINAPI KeWaitForMultipleObjects (ULONG, void *[], WAIT_TYPE, KWAIT_REASON, KPROCESSOR_MODE, BOOLEAN, LARGE_INTEGER *, KWAIT_BLOCK *)
 
NTSTATUS WINAPI KeWaitForSingleObject (void *, KWAIT_REASON, KPROCESSOR_MODE, BOOLEAN, LARGE_INTEGER *)
 
PVOID WINAPI MmAllocateContiguousMemory (SIZE_T, PHYSICAL_ADDRESS)
 
PVOID WINAPI MmAllocateNonCachedMemory (SIZE_T)
 
PMDL WINAPI MmAllocatePagesForMdl (PHYSICAL_ADDRESS, PHYSICAL_ADDRESS, PHYSICAL_ADDRESS, SIZE_T)
 
void WINAPI MmBuildMdlForNonPagedPool (MDL *)
 
NTSTATUS WINAPI MmCopyVirtualMemory (PEPROCESS, void *, PEPROCESS, void *, SIZE_T, KPROCESSOR_MODE, SIZE_T *)
 
void WINAPI MmFreeNonCachedMemory (PVOID, SIZE_T)
 
void *WINAPI MmGetSystemRoutineAddress (UNICODE_STRING *)
 
PVOID WINAPI MmMapLockedPagesSpecifyCache (PMDLX, KPROCESSOR_MODE, MEMORY_CACHING_TYPE, PVOID, ULONG, MM_PAGE_PRIORITY)
 
MM_SYSTEMSIZE WINAPI MmQuerySystemSize (void)
 
void WINAPI MmProbeAndLockPages (PMDLX, KPROCESSOR_MODE, LOCK_OPERATION)
 
void WINAPI MmUnmapLockedPages (void *, PMDL)
 
static voidMmGetSystemAddressForMdlSafe (MDL *mdl, ULONG priority)
 
void FASTCALL ObfReferenceObject (void *)
 
void WINAPI ObDereferenceObject (void *)
 
USHORT WINAPI ObGetFilterVersion (void)
 
NTSTATUS WINAPI ObRegisterCallbacks (POB_CALLBACK_REGISTRATION, void **)
 
NTSTATUS WINAPI ObReferenceObjectByHandle (HANDLE, ACCESS_MASK, POBJECT_TYPE, KPROCESSOR_MODE, PVOID *, POBJECT_HANDLE_INFORMATION)
 
NTSTATUS WINAPI ObReferenceObjectByName (UNICODE_STRING *, ULONG, ACCESS_STATE *, ACCESS_MASK, POBJECT_TYPE, KPROCESSOR_MODE, void *, void **)
 
NTSTATUS WINAPI ObReferenceObjectByPointer (void *, ACCESS_MASK, POBJECT_TYPE, KPROCESSOR_MODE)
 
void WINAPI ObUnRegisterCallbacks (void *)
 
NTSTATUS WINAPI PoCallDriver (DEVICE_OBJECT *, IRP *)
 
POWER_STATE WINAPI PoSetPowerState (PDEVICE_OBJECT, POWER_STATE_TYPE, POWER_STATE)
 
void WINAPI PoStartNextPowerIrp (IRP *)
 
NTSTATUS WINAPI PsCreateSystemThread (PHANDLE, ULONG, POBJECT_ATTRIBUTES, HANDLE, PCLIENT_ID, PKSTART_ROUTINE, PVOID)
 
HANDLE WINAPI PsGetCurrentProcessId (void)
 
HANDLE WINAPI PsGetCurrentThreadId (void)
 
HANDLE WINAPI PsGetProcessInheritedFromUniqueProcessId (PEPROCESS)
 
BOOLEAN WINAPI PsGetVersion (ULONG *, ULONG *, ULONG *, UNICODE_STRING *)
 
NTSTATUS WINAPI PsTerminateSystemThread (NTSTATUS)
 
BOOLEAN WINAPI RtlIsNtDdiVersionAvailable (ULONG)
 
NTSTATUS WINAPI ZwAddBootEntry (PUNICODE_STRING, PUNICODE_STRING)
 
NTSTATUS WINAPI ZwAccessCheckAndAuditAlarm (PUNICODE_STRING, HANDLE, PUNICODE_STRING, PUNICODE_STRING, PSECURITY_DESCRIPTOR, ACCESS_MASK, PGENERIC_MAPPING, BOOLEAN, PACCESS_MASK, PBOOLEAN, PBOOLEAN)
 
NTSTATUS WINAPI ZwAdjustPrivilegesToken (HANDLE, BOOLEAN, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD)
 
NTSTATUS WINAPI ZwAlertThread (HANDLE ThreadHandle)
 
NTSTATUS WINAPI ZwAllocateVirtualMemory (HANDLE, PVOID *, ULONG, SIZE_T *, ULONG, ULONG)
 
NTSTATUS WINAPI ZwCancelIoFile (HANDLE, PIO_STATUS_BLOCK)
 
NTSTATUS WINAPI ZwCancelTimer (HANDLE, BOOLEAN *)
 
NTSTATUS WINAPI ZwClearEvent (HANDLE)
 
NTSTATUS WINAPI ZwClose (HANDLE)
 
NTSTATUS WINAPI ZwCloseObjectAuditAlarm (PUNICODE_STRING, HANDLE, BOOLEAN)
 
NTSTATUS WINAPI ZwConnectPort (PHANDLE, PUNICODE_STRING, PSECURITY_QUALITY_OF_SERVICE, PLPC_SECTION_WRITE, PLPC_SECTION_READ, PULONG, PVOID, PULONG)
 
NTSTATUS WINAPI ZwCreateDirectoryObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES)
 
NTSTATUS WINAPI ZwCreateEvent (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, BOOLEAN, BOOLEAN)
 
NTSTATUS WINAPI ZwCreateFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, PLARGE_INTEGER, ULONG, ULONG, ULONG, ULONG, PVOID, ULONG)
 
NTSTATUS WINAPI ZwCreateKey (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG, const UNICODE_STRING *, ULONG, PULONG)
 
NTSTATUS WINAPI ZwCreateSection (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const LARGE_INTEGER *, ULONG, ULONG, HANDLE)
 
NTSTATUS WINAPI ZwCreateSymbolicLinkObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PUNICODE_STRING)
 
NTSTATUS WINAPI ZwCreateTimer (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, TIMER_TYPE)
 
NTSTATUS WINAPI ZwDeleteAtom (RTL_ATOM)
 
NTSTATUS WINAPI ZwDeleteFile (POBJECT_ATTRIBUTES)
 
NTSTATUS WINAPI ZwDeleteKey (HANDLE)
 
NTSTATUS WINAPI ZwDeleteValueKey (HANDLE, const UNICODE_STRING *)
 
NTSTATUS WINAPI ZwDeviceIoControlFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PVOID, ULONG)
 
NTSTATUS WINAPI ZwDisplayString (PUNICODE_STRING)
 
NTSTATUS WINAPI ZwDuplicateObject (HANDLE, HANDLE, HANDLE, PHANDLE, ACCESS_MASK, ULONG, ULONG)
 
NTSTATUS WINAPI ZwDuplicateToken (HANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, PHANDLE)
 
NTSTATUS WINAPI ZwEnumerateKey (HANDLE, ULONG, KEY_INFORMATION_CLASS, void *, DWORD, DWORD *)
 
NTSTATUS WINAPI ZwEnumerateValueKey (HANDLE, ULONG, KEY_VALUE_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSTATUS WINAPI ZwFlushInstructionCache (HANDLE, LPCVOID, SIZE_T)
 
NTSTATUS WINAPI ZwFlushKey (HANDLE)
 
NTSTATUS WINAPI ZwFlushVirtualMemory (HANDLE, LPCVOID *, SIZE_T *, ULONG)
 
NTSTATUS WINAPI ZwFreeVirtualMemory (HANDLE, PVOID *, SIZE_T *, ULONG)
 
NTSTATUS WINAPI ZwFsControlFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PVOID, ULONG)
 
NTSTATUS WINAPI ZwInitiatePowerAction (POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN)
 
NTSTATUS WINAPI ZwLoadDriver (const UNICODE_STRING *)
 
NTSTATUS WINAPI ZwLoadKey (const OBJECT_ATTRIBUTES *, OBJECT_ATTRIBUTES *)
 
NTSTATUS WINAPI ZwLockVirtualMemory (HANDLE, PVOID *, SIZE_T *, ULONG)
 
NTSTATUS WINAPI ZwMakeTemporaryObject (HANDLE)
 
NTSTATUS WINAPI ZwMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG, SIZE_T, const LARGE_INTEGER *, SIZE_T *, SECTION_INHERIT, ULONG, ULONG)
 
NTSTATUS WINAPI ZwNotifyChangeKey (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, BOOLEAN, PVOID, ULONG, BOOLEAN)
 
NTSTATUS WINAPI ZwOpenDirectoryObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES)
 
NTSTATUS WINAPI ZwOpenEvent (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSTATUS WINAPI ZwOpenFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, ULONG, ULONG)
 
NTSTATUS WINAPI ZwOpenKey (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSTATUS WINAPI ZwOpenProcess (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const CLIENT_ID *)
 
NTSTATUS WINAPI ZwOpenProcessToken (HANDLE, DWORD, HANDLE *)
 
NTSTATUS WINAPI ZwOpenSection (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSTATUS WINAPI ZwOpenSymbolicLinkObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES)
 
NTSTATUS WINAPI ZwOpenThread (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const CLIENT_ID *)
 
NTSTATUS WINAPI ZwOpenThreadToken (HANDLE, DWORD, BOOLEAN, HANDLE *)
 
NTSTATUS WINAPI ZwOpenTimer (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSTATUS WINAPI ZwPowerInformation (POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG)
 
NTSTATUS WINAPI ZwPulseEvent (HANDLE, PULONG)
 
NTSTATUS WINAPI ZwQueryDefaultLocale (BOOLEAN, LCID *)
 
NTSTATUS WINAPI ZwQueryDefaultUILanguage (LANGID *)
 
NTSTATUS WINAPI ZwQueryDirectoryFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, FILE_INFORMATION_CLASS, BOOLEAN, PUNICODE_STRING, BOOLEAN)
 
NTSTATUS WINAPI ZwQueryDirectoryObject (HANDLE, PDIRECTORY_BASIC_INFORMATION, ULONG, BOOLEAN, BOOLEAN, PULONG, PULONG)
 
NTSTATUS WINAPI ZwQueryEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, BOOLEAN, PVOID, ULONG, PVOID, BOOLEAN)
 
NTSTATUS WINAPI ZwQueryFullAttributesFile (const OBJECT_ATTRIBUTES *, FILE_NETWORK_OPEN_INFORMATION *)
 
NTSTATUS WINAPI ZwQueryInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, LONG, FILE_INFORMATION_CLASS)
 
NTSTATUS WINAPI ZwQueryInformationThread (HANDLE, THREADINFOCLASS, PVOID, ULONG, PULONG)
 
NTSTATUS WINAPI ZwQueryInformationToken (HANDLE, DWORD, PVOID, DWORD, LPDWORD)
 
NTSTATUS WINAPI ZwQueryInstallUILanguage (LANGID *)
 
NTSTATUS WINAPI ZwQueryKey (HANDLE, KEY_INFORMATION_CLASS, void *, DWORD, DWORD *)
 
NTSTATUS WINAPI ZwQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSTATUS WINAPI ZwQuerySecurityObject (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, ULONG, PULONG)
 
NTSTATUS WINAPI ZwQuerySection (HANDLE, SECTION_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSTATUS WINAPI ZwQuerySymbolicLinkObject (HANDLE, PUNICODE_STRING, PULONG)
 
NTSTATUS WINAPI ZwQuerySystemInformation (SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSTATUS WINAPI ZwQueryTimerResolution (PULONG, PULONG, PULONG)
 
NTSTATUS WINAPI ZwQueryValueKey (HANDLE, const UNICODE_STRING *, KEY_VALUE_INFORMATION_CLASS, void *, DWORD, DWORD *)
 
NTSTATUS WINAPI ZwQueryVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS)
 
NTSTATUS WINAPI ZwReadFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG)
 
NTSTATUS WINAPI ZwReplaceKey (POBJECT_ATTRIBUTES, HANDLE, POBJECT_ATTRIBUTES)
 
NTSTATUS WINAPI ZwRequestWaitReplyPort (HANDLE, PLPC_MESSAGE, PLPC_MESSAGE)
 
NTSTATUS WINAPI ZwResetEvent (HANDLE, PULONG)
 
NTSTATUS WINAPI ZwRestoreKey (HANDLE, HANDLE, ULONG)
 
NTSTATUS WINAPI ZwSaveKey (HANDLE, HANDLE)
 
NTSTATUS WINAPI ZwSecureConnectPort (PHANDLE, PUNICODE_STRING, PSECURITY_QUALITY_OF_SERVICE, PLPC_SECTION_WRITE, PSID, PLPC_SECTION_READ, PULONG, PVOID, PULONG)
 
NTSTATUS WINAPI ZwSetDefaultLocale (BOOLEAN, LCID)
 
NTSTATUS WINAPI ZwSetDefaultUILanguage (LANGID)
 
NTSTATUS WINAPI ZwSetEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG)
 
NTSTATUS WINAPI ZwSetEvent (HANDLE, PULONG)
 
NTSTATUS WINAPI ZwSetInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FILE_INFORMATION_CLASS)
 
NTSTATUS WINAPI ZwSetInformationKey (HANDLE, const int, PVOID, ULONG)
 
NTSTATUS WINAPI ZwSetInformationObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG)
 
NTSTATUS WINAPI ZwSetInformationProcess (HANDLE, PROCESS_INFORMATION_CLASS, PVOID, ULONG)
 
NTSTATUS WINAPI ZwSetInformationThread (HANDLE, THREADINFOCLASS, LPCVOID, ULONG)
 
NTSTATUS WINAPI ZwSetIoCompletion (HANDLE, ULONG, ULONG, NTSTATUS, ULONG)
 
NTSTATUS WINAPI ZwSetLdtEntries (ULONG, ULONG, ULONG, ULONG, ULONG, ULONG)
 
NTSTATUS WINAPI ZwSetSecurityObject (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR)
 
NTSTATUS WINAPI ZwSetSystemInformation (SYSTEM_INFORMATION_CLASS, PVOID, ULONG)
 
NTSTATUS WINAPI ZwSetSystemTime (const LARGE_INTEGER *, LARGE_INTEGER *)
 
NTSTATUS WINAPI ZwSetTimer (HANDLE, const LARGE_INTEGER *, PTIMER_APC_ROUTINE, PVOID, BOOLEAN, ULONG, BOOLEAN *)
 
NTSTATUS WINAPI ZwSetValueKey (HANDLE, const UNICODE_STRING *, ULONG, ULONG, const void *, ULONG)
 
NTSTATUS WINAPI ZwSetVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS)
 
NTSTATUS WINAPI ZwSuspendThread (HANDLE, PULONG)
 
NTSTATUS WINAPI ZwTerminateProcess (HANDLE, LONG)
 
NTSTATUS WINAPI ZwUnloadDriver (const UNICODE_STRING *)
 
NTSTATUS WINAPI ZwUnloadKey (HANDLE)
 
NTSTATUS WINAPI ZwUnmapViewOfSection (HANDLE, PVOID)
 
NTSTATUS WINAPI ZwWaitForSingleObject (HANDLE, BOOLEAN, const LARGE_INTEGER *)
 
NTSTATUS WINAPI ZwWaitForMultipleObjects (ULONG, const HANDLE *, BOOLEAN, BOOLEAN, const LARGE_INTEGER *)
 
NTSTATUS WINAPI ZwWriteFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, const void *, ULONG, PLARGE_INTEGER, PULONG)
 
NTSTATUS WINAPI ZwYieldExecution (void)
 
static void ExInitializeFastMutex (FAST_MUTEX *mutex)
 

Variables

typedef PVOID
 

Macro Definition Documentation

◆ _NTDDK_

#define _NTDDK_

Definition at line 21 of file wdm.h.

◆ ADDRESS_AND_SIZE_TO_SPAN_PAGES

#define ADDRESS_AND_SIZE_TO_SPAN_PAGES (   va,
  length 
)     ((BYTE_OFFSET(va) + ((SIZE_T)(length)) + (PAGE_SIZE - 1)) >> PAGE_SHIFT)

Definition at line 39 of file wdm.h.

◆ BYTE_OFFSET

#define BYTE_OFFSET (   va)    ((ULONG)((ULONG_PTR)(va) & (PAGE_SIZE - 1)))

Definition at line 37 of file wdm.h.

◆ DEVICE_TYPE

#define DEVICE_TYPE   ULONG

Definition at line 319 of file wdm.h.

◆ DIRECTORY_ALL_ACCESS

#define DIRECTORY_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0xF)

Definition at line 1628 of file wdm.h.

◆ DIRECTORY_CREATE_OBJECT

#define DIRECTORY_CREATE_OBJECT   0x0004

Definition at line 1626 of file wdm.h.

◆ DIRECTORY_CREATE_SUBDIRECTORY

#define DIRECTORY_CREATE_SUBDIRECTORY   0x0008

Definition at line 1627 of file wdm.h.

◆ DIRECTORY_QUERY

#define DIRECTORY_QUERY   0x0001

Definition at line 1624 of file wdm.h.

◆ DIRECTORY_TRAVERSE

#define DIRECTORY_TRAVERSE   0x0002

Definition at line 1625 of file wdm.h.

◆ DO_BUFFERED_IO

#define DO_BUFFERED_IO   0x00000004

Definition at line 295 of file wdm.h.

◆ DO_BUS_ENUMERATED_DEVICE

#define DO_BUS_ENUMERATED_DEVICE   0x00001000

Definition at line 301 of file wdm.h.

◆ DO_DEVICE_INITIALIZING

#define DO_DEVICE_INITIALIZING   0x00000080

Definition at line 299 of file wdm.h.

◆ DO_DIRECT_IO

#define DO_DIRECT_IO   0x00000010

Definition at line 297 of file wdm.h.

◆ DO_EXCLUSIVE

#define DO_EXCLUSIVE   0x00000008

Definition at line 296 of file wdm.h.

◆ DO_MAP_IO_BUFFER

#define DO_MAP_IO_BUFFER   0x00000020

Definition at line 298 of file wdm.h.

◆ DO_POWER_INRUSH

#define DO_POWER_INRUSH   0x00004000

Definition at line 303 of file wdm.h.

◆ DO_POWER_PAGABLE

#define DO_POWER_PAGABLE   0x00002000

Definition at line 302 of file wdm.h.

◆ DO_SHUTDOWN_REGISTERED

#define DO_SHUTDOWN_REGISTERED   0x00000800

Definition at line 300 of file wdm.h.

◆ FM_LOCK_BIT

#define FM_LOCK_BIT   0x1

Definition at line 244 of file wdm.h.

◆ GENERAL_LOOKASIDE_LAYOUT

#define GENERAL_LOOKASIDE_LAYOUT

Definition at line 1390 of file wdm.h.

◆ INITIAL_PRIVILEGE_COUNT

#define INITIAL_PRIVILEGE_COUNT   3

Definition at line 649 of file wdm.h.

◆ IO_CD_ROM_INCREMENT

#define IO_CD_ROM_INCREMENT   1

Definition at line 306 of file wdm.h.

◆ IO_DISK_INCREMENT

#define IO_DISK_INCREMENT   1

Definition at line 307 of file wdm.h.

◆ IO_KEYBOARD_INCREMENT

#define IO_KEYBOARD_INCREMENT   6

Definition at line 308 of file wdm.h.

◆ IO_MAILSLOT_INCREMENT

#define IO_MAILSLOT_INCREMENT   2

Definition at line 309 of file wdm.h.

◆ IO_MOUSE_INCREMENT

#define IO_MOUSE_INCREMENT   6

Definition at line 310 of file wdm.h.

◆ IO_NAMED_PIPE_INCREMENT

#define IO_NAMED_PIPE_INCREMENT   2

Definition at line 311 of file wdm.h.

◆ IO_NETWORK_INCREMENT

#define IO_NETWORK_INCREMENT   2

Definition at line 312 of file wdm.h.

◆ IO_NO_INCREMENT

#define IO_NO_INCREMENT   0

Definition at line 305 of file wdm.h.

◆ IO_PARALLEL_INCREMENT

#define IO_PARALLEL_INCREMENT   1

Definition at line 313 of file wdm.h.

◆ IO_RESOURCE_ALTERNATIVE

#define IO_RESOURCE_ALTERNATIVE   0x08

Definition at line 759 of file wdm.h.

◆ IO_RESOURCE_DEFAULT

#define IO_RESOURCE_DEFAULT   0x02

Definition at line 758 of file wdm.h.

◆ IO_RESOURCE_PREFERRED

#define IO_RESOURCE_PREFERRED   0x01

Definition at line 757 of file wdm.h.

◆ IO_SERIAL_INCREMENT

#define IO_SERIAL_INCREMENT   2

Definition at line 314 of file wdm.h.

◆ IO_SOUND_INCREMENT

#define IO_SOUND_INCREMENT   8

Definition at line 315 of file wdm.h.

◆ IO_TYPE_ADAPTER

#define IO_TYPE_ADAPTER   0x01

Definition at line 386 of file wdm.h.

◆ IO_TYPE_CONTROLLER

#define IO_TYPE_CONTROLLER   0x02

Definition at line 387 of file wdm.h.

◆ IO_TYPE_DEVICE

#define IO_TYPE_DEVICE   0x03

Definition at line 388 of file wdm.h.

◆ IO_TYPE_DEVICE_OBJECT_EXTENSION

#define IO_TYPE_DEVICE_OBJECT_EXTENSION   0x0d

Definition at line 398 of file wdm.h.

◆ IO_TYPE_DRIVER

#define IO_TYPE_DRIVER   0x04

Definition at line 389 of file wdm.h.

◆ IO_TYPE_ERROR_LOG

#define IO_TYPE_ERROR_LOG   0x0b

Definition at line 396 of file wdm.h.

◆ IO_TYPE_ERROR_MESSAGE

#define IO_TYPE_ERROR_MESSAGE   0x0c

Definition at line 397 of file wdm.h.

◆ IO_TYPE_FILE

#define IO_TYPE_FILE   0x05

Definition at line 390 of file wdm.h.

◆ IO_TYPE_IRP

#define IO_TYPE_IRP   0x06

Definition at line 391 of file wdm.h.

◆ IO_TYPE_MASTER_ADAPTER

#define IO_TYPE_MASTER_ADAPTER   0x07

Definition at line 392 of file wdm.h.

◆ IO_TYPE_OPEN_PACKET

#define IO_TYPE_OPEN_PACKET   0x08

Definition at line 393 of file wdm.h.

◆ IO_TYPE_TIMER

#define IO_TYPE_TIMER   0x09

Definition at line 394 of file wdm.h.

◆ IO_TYPE_VPB

#define IO_TYPE_VPB   0x0a

Definition at line 395 of file wdm.h.

◆ IO_VIDEO_INCREMENT

#define IO_VIDEO_INCREMENT   1

Definition at line 316 of file wdm.h.

◆ IoGetCurrentIrpStackLocation

#define IoGetCurrentIrpStackLocation (   _Irp)    ((_Irp)->Tail.Overlay.CurrentStackLocation)

Definition at line 1586 of file wdm.h.

◆ IoGetNextIrpStackLocation

#define IoGetNextIrpStackLocation (   _Irp)    ((_Irp)->Tail.Overlay.CurrentStackLocation - 1)

Definition at line 1587 of file wdm.h.

◆ IoSetCancelRoutine

#define IoSetCancelRoutine (   irp,
  routine 
)     ((PDRIVER_CANCEL)InterlockedExchangePointer((void **)&(irp)->CancelRoutine, routine))

Definition at line 1592 of file wdm.h.

◆ IRP_ALLOCATED_FIXED_SIZE

#define IRP_ALLOCATED_FIXED_SIZE   0x04

Definition at line 383 of file wdm.h.

◆ IRP_ALLOCATED_MUST_SUCCEED

#define IRP_ALLOCATED_MUST_SUCCEED   0x02

Definition at line 382 of file wdm.h.

◆ IRP_ASSOCIATED_IRP

#define IRP_ASSOCIATED_IRP   0x0008

Definition at line 571 of file wdm.h.

◆ IRP_BUFFERED_IO

#define IRP_BUFFERED_IO   0x0010

Definition at line 572 of file wdm.h.

◆ IRP_CLOSE_OPERATION

#define IRP_CLOSE_OPERATION   0x0400

Definition at line 579 of file wdm.h.

◆ IRP_CREATE_OPERATION

#define IRP_CREATE_OPERATION   0x0080

Definition at line 576 of file wdm.h.

◆ IRP_DEALLOCATE_BUFFER

#define IRP_DEALLOCATE_BUFFER   0x0020

Definition at line 573 of file wdm.h.

◆ IRP_DEFER_IO_COMPLETION

#define IRP_DEFER_IO_COMPLETION   0x0800

Definition at line 580 of file wdm.h.

◆ IRP_HOLD_DEVICE_QUEUE

#define IRP_HOLD_DEVICE_QUEUE   0x2000

Definition at line 582 of file wdm.h.

◆ IRP_INPUT_OPERATION

#define IRP_INPUT_OPERATION   0x0040

Definition at line 574 of file wdm.h.

◆ IRP_LOOKASIDE_ALLOCATION

#define IRP_LOOKASIDE_ALLOCATION   0x08

Definition at line 384 of file wdm.h.

◆ IRP_MJ_CLEANUP

#define IRP_MJ_CLEANUP   0x12

Definition at line 340 of file wdm.h.

◆ IRP_MJ_CLOSE

#define IRP_MJ_CLOSE   0x02

Definition at line 324 of file wdm.h.

◆ IRP_MJ_CREATE

#define IRP_MJ_CREATE   0x00

Definition at line 322 of file wdm.h.

◆ IRP_MJ_CREATE_MAILSLOT

#define IRP_MJ_CREATE_MAILSLOT   0x13

Definition at line 341 of file wdm.h.

◆ IRP_MJ_CREATE_NAMED_PIPE

#define IRP_MJ_CREATE_NAMED_PIPE   0x01

Definition at line 323 of file wdm.h.

◆ IRP_MJ_DEVICE_CHANGE

#define IRP_MJ_DEVICE_CHANGE   0x18

Definition at line 346 of file wdm.h.

◆ IRP_MJ_DEVICE_CONTROL

#define IRP_MJ_DEVICE_CONTROL   0x0e

Definition at line 336 of file wdm.h.

◆ IRP_MJ_DIRECTORY_CONTROL

#define IRP_MJ_DIRECTORY_CONTROL   0x0c

Definition at line 334 of file wdm.h.

◆ IRP_MJ_FILE_SYSTEM_CONTROL

#define IRP_MJ_FILE_SYSTEM_CONTROL   0x0d

Definition at line 335 of file wdm.h.

◆ IRP_MJ_FLUSH_BUFFERS

#define IRP_MJ_FLUSH_BUFFERS   0x09

Definition at line 331 of file wdm.h.

◆ IRP_MJ_INTERNAL_DEVICE_CONTROL

#define IRP_MJ_INTERNAL_DEVICE_CONTROL   0x0f

Definition at line 337 of file wdm.h.

◆ IRP_MJ_LOCK_CONTROL

#define IRP_MJ_LOCK_CONTROL   0x11

Definition at line 339 of file wdm.h.

◆ IRP_MJ_MAXIMUM_FUNCTION

#define IRP_MJ_MAXIMUM_FUNCTION   0x1b

Definition at line 321 of file wdm.h.

◆ IRP_MJ_PNP

#define IRP_MJ_PNP   0x1b

Definition at line 349 of file wdm.h.

◆ IRP_MJ_POWER

#define IRP_MJ_POWER   0x16

Definition at line 344 of file wdm.h.

◆ IRP_MJ_QUERY_EA

#define IRP_MJ_QUERY_EA   0x07

Definition at line 329 of file wdm.h.

◆ IRP_MJ_QUERY_INFORMATION

#define IRP_MJ_QUERY_INFORMATION   0x05

Definition at line 327 of file wdm.h.

◆ IRP_MJ_QUERY_QUOTA

#define IRP_MJ_QUERY_QUOTA   0x19

Definition at line 347 of file wdm.h.

◆ IRP_MJ_QUERY_SECURITY

#define IRP_MJ_QUERY_SECURITY   0x14

Definition at line 342 of file wdm.h.

◆ IRP_MJ_QUERY_VOLUME_INFORMATION

#define IRP_MJ_QUERY_VOLUME_INFORMATION   0x0a

Definition at line 332 of file wdm.h.

◆ IRP_MJ_READ

#define IRP_MJ_READ   0x03

Definition at line 325 of file wdm.h.

◆ IRP_MJ_SET_EA

#define IRP_MJ_SET_EA   0x08

Definition at line 330 of file wdm.h.

◆ IRP_MJ_SET_INFORMATION

#define IRP_MJ_SET_INFORMATION   0x06

Definition at line 328 of file wdm.h.

◆ IRP_MJ_SET_QUOTA

#define IRP_MJ_SET_QUOTA   0x1a

Definition at line 348 of file wdm.h.

◆ IRP_MJ_SET_SECURITY

#define IRP_MJ_SET_SECURITY   0x15

Definition at line 343 of file wdm.h.

◆ IRP_MJ_SET_VOLUME_INFORMATION

#define IRP_MJ_SET_VOLUME_INFORMATION   0x0b

Definition at line 333 of file wdm.h.

◆ IRP_MJ_SHUTDOWN

#define IRP_MJ_SHUTDOWN   0x10

Definition at line 338 of file wdm.h.

◆ IRP_MJ_SYSTEM_CONTROL

#define IRP_MJ_SYSTEM_CONTROL   0x17

Definition at line 345 of file wdm.h.

◆ IRP_MJ_WRITE

#define IRP_MJ_WRITE   0x04

Definition at line 326 of file wdm.h.

◆ IRP_MN_CANCEL_REMOVE_DEVICE

#define IRP_MN_CANCEL_REMOVE_DEVICE   0x03

Definition at line 354 of file wdm.h.

◆ IRP_MN_CANCEL_STOP_DEVICE

#define IRP_MN_CANCEL_STOP_DEVICE   0x06

Definition at line 357 of file wdm.h.

◆ IRP_MN_DEVICE_USAGE_NOTIFICATION

#define IRP_MN_DEVICE_USAGE_NOTIFICATION   0x16

Definition at line 372 of file wdm.h.

◆ IRP_MN_EJECT

#define IRP_MN_EJECT   0x11

Definition at line 367 of file wdm.h.

◆ IRP_MN_FILTER_RESOURCE_REQUIREMENTS

#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS   0x0D

Definition at line 364 of file wdm.h.

◆ IRP_MN_POWER_SEQUENCE

#define IRP_MN_POWER_SEQUENCE   0x01

Definition at line 377 of file wdm.h.

◆ IRP_MN_QUERY_BUS_INFORMATION

#define IRP_MN_QUERY_BUS_INFORMATION   0x15

Definition at line 371 of file wdm.h.

◆ IRP_MN_QUERY_CAPABILITIES

#define IRP_MN_QUERY_CAPABILITIES   0x09

Definition at line 360 of file wdm.h.

◆ IRP_MN_QUERY_DEVICE_RELATIONS

#define IRP_MN_QUERY_DEVICE_RELATIONS   0x07

Definition at line 358 of file wdm.h.

◆ IRP_MN_QUERY_DEVICE_TEXT

#define IRP_MN_QUERY_DEVICE_TEXT   0x0C

Definition at line 363 of file wdm.h.

◆ IRP_MN_QUERY_ID

#define IRP_MN_QUERY_ID   0x13

Definition at line 369 of file wdm.h.

◆ IRP_MN_QUERY_INTERFACE

#define IRP_MN_QUERY_INTERFACE   0x08

Definition at line 359 of file wdm.h.

◆ IRP_MN_QUERY_LEGACY_BUS_INFORMATION

#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION   0x18

Definition at line 374 of file wdm.h.

◆ IRP_MN_QUERY_PNP_DEVICE_STATE

#define IRP_MN_QUERY_PNP_DEVICE_STATE   0x14

Definition at line 370 of file wdm.h.

◆ IRP_MN_QUERY_POWER

#define IRP_MN_QUERY_POWER   0x03

Definition at line 379 of file wdm.h.

◆ IRP_MN_QUERY_REMOVE_DEVICE

#define IRP_MN_QUERY_REMOVE_DEVICE   0x01

Definition at line 352 of file wdm.h.

◆ IRP_MN_QUERY_RESOURCE_REQUIREMENTS

#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS   0x0B

Definition at line 362 of file wdm.h.

◆ IRP_MN_QUERY_RESOURCES

#define IRP_MN_QUERY_RESOURCES   0x0A

Definition at line 361 of file wdm.h.

◆ IRP_MN_QUERY_STOP_DEVICE

#define IRP_MN_QUERY_STOP_DEVICE   0x05

Definition at line 356 of file wdm.h.

◆ IRP_MN_READ_CONFIG

#define IRP_MN_READ_CONFIG   0x0F

Definition at line 365 of file wdm.h.

◆ IRP_MN_REMOVE_DEVICE

#define IRP_MN_REMOVE_DEVICE   0x02

Definition at line 353 of file wdm.h.

◆ IRP_MN_SET_LOCK

#define IRP_MN_SET_LOCK   0x12

Definition at line 368 of file wdm.h.

◆ IRP_MN_SET_POWER

#define IRP_MN_SET_POWER   0x02

Definition at line 378 of file wdm.h.

◆ IRP_MN_START_DEVICE

#define IRP_MN_START_DEVICE   0x00

Definition at line 351 of file wdm.h.

◆ IRP_MN_STOP_DEVICE

#define IRP_MN_STOP_DEVICE   0x04

Definition at line 355 of file wdm.h.

◆ IRP_MN_SURPRISE_REMOVAL

#define IRP_MN_SURPRISE_REMOVAL   0x17

Definition at line 373 of file wdm.h.

◆ IRP_MN_WAIT_WAKE

#define IRP_MN_WAIT_WAKE   0x00

Definition at line 376 of file wdm.h.

◆ IRP_MN_WRITE_CONFIG

#define IRP_MN_WRITE_CONFIG   0x10

Definition at line 366 of file wdm.h.

◆ IRP_MOUNT_COMPLETION

#define IRP_MOUNT_COMPLETION   0x0002

Definition at line 569 of file wdm.h.

◆ IRP_NOCACHE

#define IRP_NOCACHE   0x0001

Definition at line 567 of file wdm.h.

◆ IRP_OB_QUERY_NAME

#define IRP_OB_QUERY_NAME   0x1000

Definition at line 581 of file wdm.h.

◆ IRP_PAGING_IO

#define IRP_PAGING_IO   0x0002

Definition at line 568 of file wdm.h.

◆ IRP_QUOTA_CHARGED

#define IRP_QUOTA_CHARGED   0x01

Definition at line 381 of file wdm.h.

◆ IRP_READ_OPERATION

#define IRP_READ_OPERATION   0x0100

Definition at line 577 of file wdm.h.

◆ IRP_SYNCHRONOUS_API

#define IRP_SYNCHRONOUS_API   0x0004

Definition at line 570 of file wdm.h.

◆ IRP_SYNCHRONOUS_PAGING_IO

#define IRP_SYNCHRONOUS_PAGING_IO   0x0040

Definition at line 575 of file wdm.h.

◆ IRP_WRITE_OPERATION

#define IRP_WRITE_OPERATION   0x0200

Definition at line 578 of file wdm.h.

◆ KeAcquireSpinLock

#define KeAcquireSpinLock (   lock,
  irql 
)    *(irql) = KeAcquireSpinLockRaiseToDpc( lock )

Definition at line 1719 of file wdm.h.

◆ KernelMode

#define KernelMode   0

Definition at line 1620 of file wdm.h.

◆ LOOKASIDE_ALIGN

#define LOOKASIDE_ALIGN

Definition at line 1385 of file wdm.h.

◆ LOOKASIDE_MINIMUM_BLOCK_SIZE

#define LOOKASIDE_MINIMUM_BLOCK_SIZE   (RTL_SIZEOF_THROUGH_FIELD(SLIST_ENTRY, Next))

Definition at line 1388 of file wdm.h.

◆ MAXIMUM_VOLUME_LABEL_LENGTH

#define MAXIMUM_VOLUME_LABEL_LENGTH   (32 * sizeof(WCHAR))

Definition at line 255 of file wdm.h.

◆ MDL_ALLOCATED_FIXED_SIZE

#define MDL_ALLOCATED_FIXED_SIZE   0x0008

Definition at line 1117 of file wdm.h.

◆ MDL_ALLOCATED_MUST_SUCCEED

#define MDL_ALLOCATED_MUST_SUCCEED   0x4000

Definition at line 1128 of file wdm.h.

◆ MDL_DESCRIBES_AWE

#define MDL_DESCRIBES_AWE   0x0400

Definition at line 1124 of file wdm.h.

◆ MDL_FREE_EXTRA_PTES

#define MDL_FREE_EXTRA_PTES   0x0200

Definition at line 1123 of file wdm.h.

◆ MDL_INTERNAL

#define MDL_INTERNAL   0x8000

Definition at line 1129 of file wdm.h.

◆ MDL_IO_PAGE_READ

#define MDL_IO_PAGE_READ   0x0040

Definition at line 1120 of file wdm.h.

◆ MDL_IO_SPACE

#define MDL_IO_SPACE   0x0800

Definition at line 1125 of file wdm.h.

◆ MDL_MAPPED_TO_SYSTEM_VA

#define MDL_MAPPED_TO_SYSTEM_VA   0x0001

Definition at line 1114 of file wdm.h.

◆ MDL_MAPPING_CAN_FAIL

#define MDL_MAPPING_CAN_FAIL   0x2000

Definition at line 1127 of file wdm.h.

◆ MDL_MAPPING_FLAGS

#define MDL_MAPPING_FLAGS
Value:
MDL_PAGES_LOCKED | \
MDL_SOURCE_IS_NONPAGED_POOL | \
MDL_PARTIAL_HAS_BEEN_MAPPED | \
MDL_PARENT_MAPPED_SYSTEM_VA | \
MDL_SYSTEM_VA | \
MDL_IO_SPACE )
#define MDL_MAPPED_TO_SYSTEM_VA
Definition: wdm.h:1114

Definition at line 1131 of file wdm.h.

◆ MDL_NETWORK_HEADER

#define MDL_NETWORK_HEADER   0x1000

Definition at line 1126 of file wdm.h.

◆ MDL_PAGES_LOCKED

#define MDL_PAGES_LOCKED   0x0002

Definition at line 1115 of file wdm.h.

◆ MDL_PARENT_MAPPED_SYSTEM_VA

#define MDL_PARENT_MAPPED_SYSTEM_VA   0x0100

Definition at line 1122 of file wdm.h.

◆ MDL_PARTIAL

#define MDL_PARTIAL   0x0010

Definition at line 1118 of file wdm.h.

◆ MDL_PARTIAL_HAS_BEEN_MAPPED

#define MDL_PARTIAL_HAS_BEEN_MAPPED   0x0020

Definition at line 1119 of file wdm.h.

◆ MDL_SOURCE_IS_NONPAGED_POOL

#define MDL_SOURCE_IS_NONPAGED_POOL   0x0004

Definition at line 1116 of file wdm.h.

◆ MDL_WRITE_OPERATION

#define MDL_WRITE_OPERATION   0x0080

Definition at line 1121 of file wdm.h.

◆ NX_SUPPORT_POLICY_ALWAYSOFF

#define NX_SUPPORT_POLICY_ALWAYSOFF   0

Definition at line 1192 of file wdm.h.

◆ NX_SUPPORT_POLICY_ALWAYSON

#define NX_SUPPORT_POLICY_ALWAYSON   1

Definition at line 1193 of file wdm.h.

◆ NX_SUPPORT_POLICY_OPTIN

#define NX_SUPPORT_POLICY_OPTIN   2

Definition at line 1194 of file wdm.h.

◆ NX_SUPPORT_POLICY_OPTOUT

#define NX_SUPPORT_POLICY_OPTOUT   3

Definition at line 1195 of file wdm.h.

◆ OB_FLT_REGISTRATION_VERSION

#define OB_FLT_REGISTRATION_VERSION   OB_FLT_REGISTRATION_VERSION_0100

Definition at line 1552 of file wdm.h.

◆ OB_FLT_REGISTRATION_VERSION_0100

#define OB_FLT_REGISTRATION_VERSION_0100   0x0100

Definition at line 1551 of file wdm.h.

◆ PAGE_ALIGN

#define PAGE_ALIGN (   va)    ((PVOID)((ULONG_PTR)(va) & ~(PAGE_SIZE - 1)))

Definition at line 38 of file wdm.h.

◆ PAGE_SHIFT

#define PAGE_SHIFT   12

Definition at line 35 of file wdm.h.

◆ PAGE_SIZE

#define PAGE_SIZE   0x1000

Definition at line 34 of file wdm.h.

◆ POINTER_ALIGNMENT

#define POINTER_ALIGNMENT

Definition at line 28 of file wdm.h.

◆ POOL_COLD_ALLOCATION

#define POOL_COLD_ALLOCATION   0x0100

Definition at line 271 of file wdm.h.

◆ POOL_NX_ALLOCATION

#define POOL_NX_ALLOCATION   0x0200

Definition at line 272 of file wdm.h.

◆ POOL_QUOTA_FAIL_INSTEAD_OF_RAISE

#define POOL_QUOTA_FAIL_INSTEAD_OF_RAISE   0x0008

Definition at line 269 of file wdm.h.

◆ POOL_RAISE_IF_ALLOCATION_FAILURE

#define POOL_RAISE_IF_ALLOCATION_FAILURE   0x0010

Definition at line 270 of file wdm.h.

◆ PROCESSOR_FEATURE_MAX

#define PROCESSOR_FEATURE_MAX   64

Definition at line 1183 of file wdm.h.

◆ PsGetCurrentProcess

#define PsGetCurrentProcess ( )    IoGetCurrentProcess()

Definition at line 1798 of file wdm.h.

◆ PsGetCurrentThread

#define PsGetCurrentThread ( )    ((PETHREAD)KeGetCurrentThread())

Definition at line 1799 of file wdm.h.

◆ ResourceNeverExclusive

#define ResourceNeverExclusive   0x0010

Definition at line 187 of file wdm.h.

◆ ResourceOwnedExclusive

#define ResourceOwnedExclusive   0x0080

Definition at line 189 of file wdm.h.

◆ ResourceReleaseByOtherThread

#define ResourceReleaseByOtherThread   0x0020

Definition at line 188 of file wdm.h.

◆ RtlCopyMemoryNonTemporal

#define RtlCopyMemoryNonTemporal   RtlCopyMemory

Definition at line 1809 of file wdm.h.

◆ SL_INVOKE_ON_CANCEL

#define SL_INVOKE_ON_CANCEL   0x20

Definition at line 961 of file wdm.h.

◆ SL_INVOKE_ON_ERROR

#define SL_INVOKE_ON_ERROR   0x80

Definition at line 963 of file wdm.h.

◆ SL_INVOKE_ON_SUCCESS

#define SL_INVOKE_ON_SUCCESS   0x40

Definition at line 962 of file wdm.h.

◆ SL_PENDING_RETURNED

#define SL_PENDING_RETURNED   0x01

Definition at line 960 of file wdm.h.

◆ SYMBOLIC_LINK_ALL_ACCESS

#define SYMBOLIC_LINK_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0x1)

Definition at line 1632 of file wdm.h.

◆ SYMBOLIC_LINK_QUERY

#define SYMBOLIC_LINK_QUERY   0x0001

Definition at line 1631 of file wdm.h.

◆ UserMode

#define UserMode   1

Definition at line 1621 of file wdm.h.

Typedef Documentation

◆ ACCESS_STATE

◆ ALTERNATIVE_ARCHITECTURE_TYPE

◆ Argument1

typedef void* Argument1

Definition at line 1463 of file wdm.h.

◆ Argument2

typedef void void* Argument2

Definition at line 1463 of file wdm.h.

◆ BUS_QUERY_ID_TYPE

◆ CALLBACK_OBJECT

◆ CM_FULL_RESOURCE_DESCRIPTOR

◆ CM_PARTIAL_RESOURCE_DESCRIPTOR

◆ CM_PARTIAL_RESOURCE_LIST

◆ CM_RESOURCE_LIST

◆ CREATE_FILE_TYPE

◆ DEFERRED_REVERSE_BARRIER

◆ DEVICE_CAPABILITIES

◆ DEVICE_INTERFACE_CHANGE_NOTIFICATION

◆ DEVICE_OBJECT

◆ DEVICE_RELATION_TYPE

◆ DEVICE_RELATIONS

◆ DEVICE_TEXT_TYPE

◆ DEVICE_USAGE_NOTIFICATION_TYPE

◆ DIRECTORY_NOTIFY_INFORMATION_CLASS

◆ DISPATCHER_HEADER

◆ DRIVER_EXTENSION

◆ DRIVER_OBJECT

◆ ERESOURCE

◆ ERESOURCE_THREAD

Definition at line 46 of file wdm.h.

◆ FAST_MUTEX

◆ FILE_OBJECT

◆ GENERAL_LOOKASIDE

◆ GENERAL_LOOKASIDE_POOL

◆ INITIAL_PRIVILEGE_SET

◆ INTERFACE

◆ INTERFACE_TYPE

◆ IO_COMPLETION_CONTEXT

◆ IO_REMOVE_LOCK

◆ IO_REMOVE_LOCK_COMMON_BLOCK

◆ IO_REMOVE_LOCK_DBG_BLOCK

◆ IO_RESOURCE_DESCRIPTOR

◆ IO_RESOURCE_LIST

◆ IO_RESOURCE_REQUIREMENTS_LIST

◆ IO_SECURITY_CONTEXT

◆ IO_STACK_LOCATION

◆ IRP

typedef struct _IRP IRP

◆ KAPC

typedef struct _KAPC KAPC

◆ KAPC_ENVIRONMENT

◆ KAPC_STATE

◆ KDEVICE_QUEUE

◆ KDEVICE_QUEUE_ENTRY

◆ KDPC

typedef struct _KDPC KDPC

◆ KDPC_IMPORTANCE

◆ KEVENT

◆ KIRQL

typedef UCHAR KIRQL

Definition at line 465 of file wdm.h.

◆ KLOCK_QUEUE_HANDLE

◆ KMUTANT

◆ KMUTEX

◆ KPRIORITY

typedef LONG KPRIORITY

Definition at line 42 of file wdm.h.

◆ KPROCESS

typedef struct _KPROCESS KPROCESS

Definition at line 227 of file wdm.h.

◆ KPROCESSOR_MODE

Definition at line 466 of file wdm.h.

◆ KSEMAPHORE

◆ KSHARED_USER_DATA

◆ KSPIN_LOCK

Definition at line 44 of file wdm.h.

◆ KSPIN_LOCK_QUEUE

◆ KSYSTEM_TIME

◆ KTIMER

◆ KWAIT_BLOCK

◆ KWAIT_REASON

◆ LOOKASIDE_LIST_EX

◆ MDL

typedef struct _MDL MDL

◆ MEMORY_CACHING_TYPE

◆ MM_PAGE_PRIORITY

◆ MM_SYSTEMSIZE

◆ NPAGED_LOOKASIDE_LIST

◆ NT_PRODUCT_TYPE

◆ OB_CALLBACK_REGISTRATION

◆ OB_OPERATION

Definition at line 1466 of file wdm.h.

◆ OB_OPERATION_REGISTRATION

◆ OB_POST_CREATE_HANDLE_INFORMATION

◆ OB_POST_DUPLICATE_HANDLE_INFORMATION

◆ OB_POST_OPERATION_INFORMATION

◆ OB_POST_OPERATION_PARAMETERS

◆ OB_PRE_CREATE_HANDLE_INFORMATION

◆ OB_PRE_DUPLICATE_HANDLE_INFORMATION

◆ OB_PRE_OPERATION_INFORMATION

◆ OB_PRE_OPERATION_PARAMETERS

◆ OB_PREOP_CALLBACK_STATUS

◆ OWNER_ENTRY

◆ PACCESS_STATE

◆ PAGED_LOOKASIDE_LIST

◆ PALLOCATE_FUNCTION

typedef void*(NTAPI * PALLOCATE_FUNCTION) (POOL_TYPE, SIZE_T, ULONG)

Definition at line 1376 of file wdm.h.

◆ PALLOCATE_FUNCTION_EX

typedef void*(NTAPI * PALLOCATE_FUNCTION_EX) (POOL_TYPE, SIZE_T, ULONG, PLOOKASIDE_LIST_EX)

Definition at line 1377 of file wdm.h.

◆ PBUS_QUERY_ID_TYPE

◆ PCALLBACK_FUNCTION

typedef void(NTAPI * PCALLBACK_FUNCTION) (void *, void *, void *)

Definition at line 1380 of file wdm.h.

◆ PCALLBACK_OBJECT

◆ PCM_FULL_RESOURCE_DESCRIPTOR

◆ PCM_PARTIAL_RESOURCE_DESCRIPTOR

◆ PCM_PARTIAL_RESOURCE_LIST

◆ PCM_RESOURCE_LIST

◆ PDEVICE_CAPABILITIES

◆ PDEVICE_INTERFACE_CHANGE_NOTIFICATION

◆ PDEVICE_OBJECT

Definition at line 430 of file wdm.h.

◆ PDEVICE_RELATION_TYPE

◆ PDEVICE_RELATIONS

Definition at line 436 of file wdm.h.

◆ PDEVICE_TEXT_TYPE

◆ PDIRECTORY_NOTIFY_INFORMATION_CLASS

◆ PDISPATCHER_HEADER

◆ PDRIVER_ADD_DEVICE

typedef NTSTATUS(WINAPI * PDRIVER_ADD_DEVICE) (struct _DRIVER_OBJECT *, struct _DEVICE_OBJECT *)

Definition at line 64 of file wdm.h.

◆ PDRIVER_CANCEL

typedef VOID(WINAPI * PDRIVER_CANCEL) (IN struct _DEVICE_OBJECT *DeviceObject, IN struct _IRP *Irp)

Definition at line 475 of file wdm.h.

◆ PDRIVER_DISPATCH

typedef NTSTATUS(WINAPI * PDRIVER_DISPATCH) (struct _DEVICE_OBJECT *, struct _IRP *)

Definition at line 61 of file wdm.h.

◆ PDRIVER_EXTENSION

◆ PDRIVER_INITIALIZE

typedef NTSTATUS(WINAPI * PDRIVER_INITIALIZE) (struct _DRIVER_OBJECT *, PUNICODE_STRING)

Definition at line 60 of file wdm.h.

◆ PDRIVER_OBJECT

Definition at line 462 of file wdm.h.

◆ PDRIVER_STARTIO

typedef void(WINAPI * PDRIVER_STARTIO) (struct _DEVICE_OBJECT *, struct _IRP *)

Definition at line 62 of file wdm.h.

◆ PDRIVER_UNLOAD

typedef void(WINAPI * PDRIVER_UNLOAD) (struct _DRIVER_OBJECT *)

Definition at line 63 of file wdm.h.

◆ PEPROCESS

Definition at line 227 of file wdm.h.

◆ PERESOURCE

◆ PERESOURCE_THREAD

Definition at line 47 of file wdm.h.

◆ PETHREAD

Definition at line 225 of file wdm.h.

◆ PEX_CALLBACK_FUNCTION

typedef EX_CALLBACK_FUNCTION* PEX_CALLBACK_FUNCTION

Definition at line 1464 of file wdm.h.

◆ PFAST_MUTEX

◆ PFILE_GET_QUOTA_INFORMATION

typedef struct _FILE_GET_QUOTA_INFORMATION* PFILE_GET_QUOTA_INFORMATION

Definition at line 48 of file wdm.h.

◆ PFILE_OBJECT

Definition at line 647 of file wdm.h.

◆ PFN_NUMBER

typedef ULONG PFN_NUMBER

Definition at line 1151 of file wdm.h.

◆ PFREE_FUNCTION

typedef void(NTAPI * PFREE_FUNCTION) (void *)

Definition at line 1378 of file wdm.h.

◆ PFREE_FUNCTION_EX

typedef void(NTAPI * PFREE_FUNCTION_EX) (void *, PLOOKASIDE_LIST_EX)

Definition at line 1379 of file wdm.h.

◆ PGENERAL_LOOKASIDE_POOL

◆ PHYSICAL_ADDRESS

Definition at line 755 of file wdm.h.

◆ PINITIAL_PRIVILEGE_SET

◆ PINTERFACE

◆ PINTERFACE_DEREFERENCE

typedef VOID(WINAPI * PINTERFACE_DEREFERENCE) (PVOID Context)

Definition at line 587 of file wdm.h.

◆ PINTERFACE_REFERENCE

typedef VOID(WINAPI * PINTERFACE_REFERENCE) (PVOID Context)

Definition at line 584 of file wdm.h.

◆ PINTERFACE_TYPE

◆ PIO_COMPLETION_CONTEXT

◆ PIO_COMPLETION_ROUTINE

typedef NTSTATUS(WINAPI * PIO_COMPLETION_ROUTINE) (IN struct _DEVICE_OBJECT *DeviceObject, IN struct _IRP *Irp, IN PVOID Context)

Definition at line 955 of file wdm.h.

◆ PIO_REMOVE_LOCK

◆ PIO_REMOVE_LOCK_TRACKING_BLOCK

typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK* PIO_REMOVE_LOCK_TRACKING_BLOCK

Definition at line 1331 of file wdm.h.

◆ PIO_RESOURCE_DESCRIPTOR

◆ PIO_RESOURCE_LIST

◆ PIO_RESOURCE_REQUIREMENTS_LIST

◆ PIO_SECURITY_CONTEXT

◆ PIO_STACK_LOCATION

◆ PIO_TIMER

typedef struct _IO_TIMER* PIO_TIMER

Definition at line 223 of file wdm.h.

◆ PIO_TIMER_ROUTINE

typedef struct _IO_TIMER_ROUTINE* PIO_TIMER_ROUTINE

Definition at line 224 of file wdm.h.

◆ PIO_WORKITEM

Definition at line 229 of file wdm.h.

◆ PIO_WORKITEM_ROUTINE

typedef void(WINAPI * PIO_WORKITEM_ROUTINE) (PDEVICE_OBJECT, void *)

Definition at line 1566 of file wdm.h.

◆ PIRP

typedef struct _IRP* PIRP

Definition at line 565 of file wdm.h.

◆ PKAPC

typedef struct _KAPC * PKAPC

◆ PKAPC_ENVIRONMENT

◆ PKAPC_STATE

◆ PKDEVICE_QUEUE

◆ PKDEVICE_QUEUE_ENTRY

◆ PKDPC

typedef struct _KDPC * PKDPC

◆ PKEVENT

typedef struct _KEVENT * PKEVENT

◆ PKIRQL

typedef UCHAR * PKIRQL

Definition at line 465 of file wdm.h.

◆ PKKERNEL_ROUTINE

typedef VOID(WINAPI * PKKERNEL_ROUTINE) (IN struct _KAPC *Apc, IN OUT PKNORMAL_ROUTINE *NormalRoutine, IN OUT PVOID *NormalContext, IN OUT PVOID *SystemArgument1, IN OUT PVOID *SystemArgument2)

Definition at line 484 of file wdm.h.

◆ PKLOCK_QUEUE_HANDLE

◆ PKMUTANT

◆ PKMUTEX

typedef struct _KMUTANT * PKMUTEX

◆ PKNORMAL_ROUTINE

typedef VOID(WINAPI * PKNORMAL_ROUTINE) (IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)

Definition at line 479 of file wdm.h.

◆ PKPROCESS

typedef struct _KPROCESS * PKPROCESS

Definition at line 228 of file wdm.h.

◆ PKRUNDOWN_ROUTINE

typedef VOID(WINAPI * PKRUNDOWN_ROUTINE) (IN struct _KAPC *Apc)

Definition at line 491 of file wdm.h.

◆ PKSEMAPHORE

◆ PKSHARED_USER_DATA

◆ PKSPIN_LOCK

Definition at line 44 of file wdm.h.

◆ PKSPIN_LOCK_QUEUE

◆ PKSTART_ROUTINE

typedef VOID(WINAPI * PKSTART_ROUTINE) (PVOID)

Definition at line 58 of file wdm.h.

◆ PKSYSTEM_TIME

◆ PKTHREAD

Definition at line 226 of file wdm.h.

◆ PKTIMER

typedef struct _KTIMER * PKTIMER

◆ PKWAIT_BLOCK

◆ PLOOKASIDE_LIST_EX

Definition at line 233 of file wdm.h.

◆ PMDL

typedef struct _MDL * PMDL

◆ PMDLX

typedef MDL* PMDLX

Definition at line 1150 of file wdm.h.

◆ PNPAGED_LOOKASIDE_LIST

◆ PNT_PRODUCT_TYPE

◆ POB_CALLBACK_REGISTRATION

◆ POB_OPERATION_REGISTRATION

◆ POB_POST_CREATE_HANDLE_INFORMATION

◆ POB_POST_DUPLICATE_HANDLE_INFORMATION

◆ POB_POST_OPERATION_CALLBACK

typedef void(WINAPI * POB_POST_OPERATION_CALLBACK) (void *context, POB_POST_OPERATION_INFORMATION information)

Definition at line 1534 of file wdm.h.

◆ POB_POST_OPERATION_INFORMATION

◆ POB_POST_OPERATION_PARAMETERS

◆ POB_PRE_CREATE_HANDLE_INFORMATION

◆ POB_PRE_DUPLICATE_HANDLE_INFORMATION

◆ POB_PRE_OPERATION_CALLBACK

typedef OB_PREOP_CALLBACK_STATUS(WINAPI * POB_PRE_OPERATION_CALLBACK) (void *context, POB_PRE_OPERATION_INFORMATION information)

Definition at line 1533 of file wdm.h.

◆ POB_PRE_OPERATION_INFORMATION

◆ POB_PRE_OPERATION_PARAMETERS

◆ POB_PREOP_CALLBACK_STATUS

◆ POBJECT_HANDLE_INFORMATION

typedef struct _OBJECT_HANDLE_INFORMATION* POBJECT_HANDLE_INFORMATION

Definition at line 231 of file wdm.h.

◆ POBJECT_TYPE

Definition at line 230 of file wdm.h.

◆ POOL_TYPE

◆ POWER_SEQUENCE

◆ POWER_STATE

typedef union _POWER_STATE POWER_STATE

◆ POWER_STATE_TYPE

◆ POWNER_ENTRY

◆ PPAGED_LOOKASIDE_LIST

◆ PPFN_NUMBER

typedef ULONG * PPFN_NUMBER

Definition at line 1151 of file wdm.h.

◆ PPHYSICAL_ADDRESS

Definition at line 755 of file wdm.h.

◆ PPOWER_SEQUENCE

◆ PPOWER_STATE

typedef union _POWER_STATE * PPOWER_STATE

◆ PPOWER_STATE_TYPE

◆ PRKAPC

typedef struct _KAPC PRKAPC

◆ PRKDEVICE_QUEUE

◆ PRKDEVICE_QUEUE_ENTRY

◆ PRKDPC

typedef struct _KDPC PRKDPC

◆ PRKEVENT

◆ PRKMUTANT

◆ PRKMUTEX

◆ PRKPROCESS

typedef struct _KPROCESS * PRKPROCESS

Definition at line 228 of file wdm.h.

◆ PRKSEMAPHORE

◆ PRKTHREAD

Definition at line 226 of file wdm.h.

◆ PRKWAIT_BLOCK

◆ PSECTION_OBJECT_POINTERS

◆ PSECURITY_SUBJECT_CONTEXT

◆ PVPB

typedef struct _VPB * PVPB

◆ PWAIT_CONTEXT_BLOCK

◆ PZONE_HEADER

typedef struct _ZONE_HEADER* PZONE_HEADER

Definition at line 232 of file wdm.h.

◆ SECTION_OBJECT_POINTERS

◆ SECURITY_SUBJECT_CONTEXT

◆ VPB

typedef struct _VPB VPB

◆ WAIT_CONTEXT_BLOCK

◆ WORK_QUEUE_TYPE

Enumeration Type Documentation

◆ _ALTERNATIVE_ARCHITECTURE_TYPE

Enumerator
StandardDesign 
NEC98x86 
EndAlternatives 

Definition at line 1185 of file wdm.h.

◆ _BUS_QUERY_ID_TYPE

Enumerator
BusQueryDeviceID 
BusQueryHardwareIDs 
BusQueryCompatibleIDs 
BusQueryInstanceID 
BusQueryDeviceSerialNumber 

Definition at line 829 of file wdm.h.

◆ _CREATE_FILE_TYPE

Enumerator
CreateFileTypeNone 
CreateFileTypeNamedPipe 
CreateFileTypeMailslot 

Definition at line 837 of file wdm.h.

◆ _DEVICE_RELATION_TYPE

Enumerator
BusRelations 
EjectionRelations 
PowerRelations 
RemovalRelations 
TargetDeviceRelation 
SingleBusRelations 

Definition at line 609 of file wdm.h.

◆ _DEVICE_TEXT_TYPE

Enumerator
DeviceTextDescription 
DeviceTextLocationInformation 

Definition at line 866 of file wdm.h.

◆ _DEVICE_USAGE_NOTIFICATION_TYPE

Enumerator
DeviceUsageTypeUndefined 
DeviceUsageTypePaging 
DeviceUsageTypeHibernation 
DeviceUsageTypeDumpFile 

Definition at line 871 of file wdm.h.

◆ _DIRECTORY_NOTIFY_INFORMATION_CLASS

Enumerator
DirectoryNotifyInformation 
DirectoryNotifyExtendedInformation 

Definition at line 1554 of file wdm.h.

◆ _INTERFACE_TYPE

Enumerator
InterfaceTypeUndefined 
Internal 
Isa 
Eisa 
MicroChannel 
TurboChannel 
PCIBus 
VMEBus 
NuBus 
PCMCIABus 
CBus 
MPIBus 
MPSABus 
ProcessorInternal 
InternalPowerBus 
PNPISABus 
PNPBus 
MaximumInterfaceType 

Definition at line 734 of file wdm.h.

◆ _KAPC_ENVIRONMENT

Enumerator
OriginalApcEnvironment 
AttachedApcEnvironment 
CurrentApcEnvironment 
InsertApcEnvironment 

Definition at line 467 of file wdm.h.

◆ _KDPC_IMPORTANCE

Enumerator
LowImportance 
MediumImportance 
HighImportance 
MediumHighImportance 

Definition at line 96 of file wdm.h.

◆ _KWAIT_REASON

Enumerator
Executive 
FreePage 
PageIn 
PoolAllocation 
DelayExecution 
Suspended 
UserRequest 
WrExecutive 
WrFreePage 
WrPageIn 
WrDelayExecution 
WrSuspended 
WrUserRequest 
WrQueue 
WrLpcReceive 
WrLpcReply 
WrVirtualMemory 
WrPageOut 
WrRendezvous 
Spare2 
Spare3 
Spare4 
Spare5 
Spare6 
WrKernel 
MaximumWaitReason 

Definition at line 132 of file wdm.h.

◆ _MEMORY_CACHING_TYPE

Enumerator
MmNonCached 
MmCached 
MmWriteCombined 
MmHardwareCoherentCached 
MmNonCachedUnordered 
MmUSWCCached 
MmMaximumCacheType 

Definition at line 1301 of file wdm.h.

◆ _MM_PAGE_PRIORITY

Enumerator
LowPagePriority 
NormalPagePriority 
HighPagePriority 

Definition at line 1311 of file wdm.h.

◆ _MM_SYSTEM_SIZE

Enumerator
MmSmallSystem 
MmMediumSystem 
MmLargeSystem 

Definition at line 1317 of file wdm.h.

◆ _NT_PRODUCT_TYPE

Enumerator
NtProductWinNt 
NtProductLanManNt 
NtProductServer 

Definition at line 1177 of file wdm.h.

◆ _OB_PREOP_CALLBACK_STATUS

Enumerator
OB_PREOP_SUCCESS 

Definition at line 1529 of file wdm.h.

◆ _POOL_TYPE

Enumerator
NonPagedPool 
PagedPool 
NonPagedPoolMustSucceed 
DontUseThisType 
NonPagedPoolCacheAligned 
PagedPoolCacheAligned 
NonPagedPoolCacheAlignedMustS 
MaxPoolType 

Definition at line 274 of file wdm.h.

◆ _POWER_STATE_TYPE

Enumerator
SystemPowerState 
DevicePowerState 

Definition at line 884 of file wdm.h.

◆ _WORK_QUEUE_TYPE

Enumerator
CriticalWorkQueue 
DelayedWorkQueue 
HyperCriticalWorkQueue 
MaximumWorkQueue 

Definition at line 1559 of file wdm.h.

◆ DEVICE_REGISTRY_PROPERTY

Enumerator
DevicePropertyDeviceDescription 
DevicePropertyHardwareID 
DevicePropertyCompatibleIDs 
DevicePropertyBootConfiguration 
DevicePropertyBootConfigurationTranslated 
DevicePropertyClassName 
DevicePropertyClassGuid 
DevicePropertyDriverKeyName 
DevicePropertyManufacturer 
DevicePropertyFriendlyName 
DevicePropertyLocationInformation 
DevicePropertyPhysicalDeviceObjectName 
DevicePropertyBusTypeGuid 
DevicePropertyLegacyBusType 
DevicePropertyBusNumber 
DevicePropertyEnumeratorName 
DevicePropertyAddress 
DevicePropertyUINumber 
DevicePropertyInstallState 
DevicePropertyRemovalPolicy 

Definition at line 843 of file wdm.h.

◆ LOCK_OPERATION

Enumerator
IoReadAccess 
IoWriteAccess 
IoModifyAccess 

Definition at line 1351 of file wdm.h.

Function Documentation

◆ DbgQueryDebugFilterState()

NTSTATUS WINAPI DbgQueryDebugFilterState ( ULONG  component,
ULONG  level 
)

DbgQueryDebugFilterState (NTOSKRNL.@)

Definition at line 3934 of file ntoskrnl.c.

References STATUS_NOT_IMPLEMENTED.

◆ ExAcquireFastMutexUnsafe()

void FASTCALL ExAcquireFastMutexUnsafe ( PFAST_MUTEX  )

◆ ExAcquireResourceExclusiveLite()

BOOLEAN WINAPI ExAcquireResourceExclusiveLite ( ERESOURCE resource,
BOOLEAN  wait 
)

◆ ExAcquireResourceSharedLite()

BOOLEAN WINAPI ExAcquireResourceSharedLite ( ERESOURCE resource,
BOOLEAN  wait 
)

◆ ExAcquireSharedStarveExclusive()

BOOLEAN WINAPI ExAcquireSharedStarveExclusive ( ERESOURCE resource,
BOOLEAN  wait 
)

◆ ExAcquireSharedWaitForExclusive()

BOOLEAN WINAPI ExAcquireSharedWaitForExclusive ( ERESOURCE resource,
BOOLEAN  wait 
)

◆ ExAllocatePool()

◆ ExAllocatePoolWithQuota()

PVOID WINAPI ExAllocatePoolWithQuota ( POOL_TYPE  type,
SIZE_T  size 
)

ExAllocatePoolWithQuota (NTOSKRNL.EXE.@)

Definition at line 2048 of file ntoskrnl.c.

References ExAllocatePoolWithTag().

◆ ExAllocatePoolWithQuotaTag()

PVOID WINAPI ExAllocatePoolWithQuotaTag ( POOL_TYPE  type,
SIZE_T  size,
ULONG  tag 
)

ExAllocatePoolWithQuotaTag (NTOSKRNL.EXE.@)

Definition at line 2069 of file ntoskrnl.c.

References ExAllocatePoolWithTag(), and tag.

◆ ExAllocatePoolWithTag()

PVOID WINAPI ExAllocatePoolWithTag ( POOL_TYPE  type,
SIZE_T  size,
ULONG  tag 
)

ExAllocatePoolWithTag (NTOSKRNL.EXE.@)

Definition at line 2057 of file ntoskrnl.c.

References HeapAlloc(), and ntoskrnl_heap.

Referenced by ExAllocatePool(), ExAllocatePoolWithQuota(), ExAllocatePoolWithQuotaTag(), and initialize_lookaside_list().

◆ ExDeleteNPagedLookasideList()

void WINAPI ExDeleteNPagedLookasideList ( PNPAGED_LOOKASIDE_LIST  lookaside)

ExDeleteNPagedLookasideList (NTOSKRNL.EXE.@)

Definition at line 2180 of file ntoskrnl.c.

References delete_lookaside_list(), and _NPAGED_LOOKASIDE_LIST::L.

◆ ExDeletePagedLookasideList()

void WINAPI ExDeletePagedLookasideList ( PPAGED_LOOKASIDE_LIST  lookaside)

ExDeletePagedLookasideList (NTOSKRNL.EXE.@)

Definition at line 2190 of file ntoskrnl.c.

References delete_lookaside_list(), and _PAGED_LOOKASIDE_LIST::L.

◆ ExDeleteResourceLite()

NTSTATUS WINAPI ExDeleteResourceLite ( ERESOURCE resource)

ExDeleteResourceLite (NTOSKRNL.EXE.@)

Definition at line 892 of file sync.c.

References heap_free(), and STATUS_SUCCESS.

◆ ExFreePool()

void WINAPI ExFreePool ( PVOID  )

◆ ExFreePoolWithTag()

void WINAPI ExFreePoolWithTag ( PVOID  ,
ULONG   
)

◆ ExGetExclusiveWaiterCount()

ULONG WINAPI ExGetExclusiveWaiterCount ( ERESOURCE resource)

ExGetExclusiveWaiterCount (NTOSKRNL.EXE.@)

Definition at line 1237 of file sync.c.

References KeAcquireSpinLock, and KeReleaseSpinLock().

◆ ExGetSharedWaiterCount()

ULONG WINAPI ExGetSharedWaiterCount ( ERESOURCE resource)

ExGetSharedWaiterCount (NTOSKRNL.EXE.@)

Definition at line 1256 of file sync.c.

References KeAcquireSpinLock, and KeReleaseSpinLock().

◆ ExInitializeFastMutex()

static void ExInitializeFastMutex ( FAST_MUTEX mutex)
inlinestatic

Definition at line 1919 of file wdm.h.

References FALSE, FM_LOCK_BIT, KeInitializeEvent(), NULL, and SynchronizationEvent.

◆ ExInitializeNPagedLookasideList()

void WINAPI ExInitializeNPagedLookasideList ( PNPAGED_LOOKASIDE_LIST  lookaside,
PALLOCATE_FUNCTION  allocate,
PFREE_FUNCTION  free,
ULONG  flags,
SIZE_T  size,
ULONG  tag,
USHORT  depth 
)

ExInitializeNPagedLookasideList (NTOSKRNL.EXE.@)

Definition at line 2143 of file ntoskrnl.c.

References depth(), flags, free(), initialize_lookaside_list(), _NPAGED_LOOKASIDE_LIST::L, NonPagedPool, and tag.

◆ ExInitializePagedLookasideList()

void WINAPI ExInitializePagedLookasideList ( PPAGED_LOOKASIDE_LIST  lookaside,
PALLOCATE_FUNCTION  allocate,
PFREE_FUNCTION  free,
ULONG  flags,
SIZE_T  size,
ULONG  tag,
USHORT  depth 
)

ExInitializePagedLookasideList (NTOSKRNL.EXE.@)

Definition at line 2158 of file ntoskrnl.c.

References depth(), flags, free(), initialize_lookaside_list(), _PAGED_LOOKASIDE_LIST::L, PagedPool, and tag.

◆ ExInitializeResourceLite()

NTSTATUS WINAPI ExInitializeResourceLite ( ERESOURCE resource)

ExInitializeResourceLite (NTOSKRNL.EXE.@)

Definition at line 882 of file sync.c.

References memset(), and STATUS_SUCCESS.

◆ ExInterlockedFlushSList()

PSLIST_ENTRY WINAPI ExInterlockedFlushSList ( PSLIST_HEADER  )

◆ ExInterlockedPopEntrySList()

PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList ( PSLIST_HEADER  ,
PKSPIN_LOCK   
)

◆ ExInterlockedPushEntrySList()

PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList ( PSLIST_HEADER  ,
PSLIST_ENTRY  ,
PKSPIN_LOCK   
)

◆ ExInterlockedRemoveHeadList()

LIST_ENTRY* WINAPI ExInterlockedRemoveHeadList ( LIST_ENTRY list,
KSPIN_LOCK lock 
)

ExInterlockedRemoveHeadList (NTOSKRNL.EXE.@)

Definition at line 749 of file sync.c.

References KeAcquireSpinLock, KeReleaseSpinLock(), and RemoveHeadList().

Referenced by ExfInterlockedRemoveHeadList().

◆ ExIsResourceAcquiredExclusiveLite()

BOOLEAN WINAPI ExIsResourceAcquiredExclusiveLite ( ERESOURCE resource)

ExIsResourceAcquiredExclusiveLite (NTOSKRNL.EXE.@)

Definition at line 1275 of file sync.c.

References KeAcquireSpinLock, KeGetCurrentThread(), and KeReleaseSpinLock().

◆ ExIsResourceAcquiredSharedLite()

ULONG WINAPI ExIsResourceAcquiredSharedLite ( ERESOURCE resource)

ExIsResourceAcquiredSharedLite (NTOSKRNL.EXE.@)

Definition at line 1294 of file sync.c.

References KeAcquireSpinLock, KeGetCurrentThread(), KeReleaseSpinLock(), _OWNER_ENTRY::OwnerCount, and resource_get_shared_entry().

◆ ExRegisterCallback()

void* WINAPI ExRegisterCallback ( PCALLBACK_OBJECT  callback_object,
PCALLBACK_FUNCTION  callback_function,
void callback_context 
)

Definition at line 2086 of file ntoskrnl.c.

◆ ExReleaseFastMutexUnsafe()

void FASTCALL ExReleaseFastMutexUnsafe ( PFAST_MUTEX  )

◆ ExReleaseResourceForThreadLite()

void WINAPI ExReleaseResourceForThreadLite ( ERESOURCE resource,
ERESOURCE_THREAD  thread 
)

◆ ExSetTimerResolution()

ULONG WINAPI ExSetTimerResolution ( ULONG  time,
BOOLEAN  set_resolution 
)

ExSetTimerResolution (NTOSKRNL.EXE.@)

Definition at line 4023 of file ntoskrnl.c.

References KeQueryTimeIncrement(), and time().

◆ ExUnregisterCallback()

void WINAPI ExUnregisterCallback ( void callback_registration)

Definition at line 2095 of file ntoskrnl.c.

◆ IoAcquireCancelSpinLock()

void WINAPI IoAcquireCancelSpinLock ( KIRQL irql)

IoAcquireCancelSpinLock (NTOSKRNL.EXE.@)

Definition at line 722 of file sync.c.

References cancel_lock, and KeAcquireSpinLock.

Referenced by IoCancelIrp().

◆ IoAcquireRemoveLockEx()

NTSTATUS WINAPI IoAcquireRemoveLockEx ( IO_REMOVE_LOCK lock,
void tag,
const char *  file,
ULONG  line,
ULONG  size 
)

IoAcquireRemoveLockEx (NTOSKRNL.EXE.@)

Definition at line 1333 of file sync.c.

References _IO_REMOVE_LOCK::Common, _IO_REMOVE_LOCK_COMMON_BLOCK::IoCount, _IO_REMOVE_LOCK_COMMON_BLOCK::Removed, STATUS_DELETE_PENDING, STATUS_SUCCESS, and tag.

◆ IoAllocateDriverObjectExtension()

NTSTATUS WINAPI IoAllocateDriverObjectExtension ( PDRIVER_OBJECT  DriverObject,
PVOID  ClientIdentificationAddress,
ULONG  DriverObjectExtensionSize,
PVOID DriverObjectExtension 
)

IoAllocateDriverObjectExtension (NTOSKRNL.EXE.@)

Definition at line 945 of file ntoskrnl.c.

References STATUS_NOT_IMPLEMENTED.

◆ IoAllocateErrorLogEntry()

PVOID WINAPI IoAllocateErrorLogEntry ( PVOID  IoObject,
UCHAR  EntrySize 
)

IoAllocateErrorLogEntry (NTOSKRNL.EXE.@)

Definition at line 1078 of file ntoskrnl.c.

References NULL.

◆ IoAllocateIrp()

◆ IoAllocateMdl()

PMDL WINAPI IoAllocateMdl ( PVOID  va,
ULONG  length,
BOOLEAN  secondary,
BOOLEAN  charge_quota,
IRP irp 
)

◆ IoAllocateWorkItem()

PIO_WORKITEM WINAPI IoAllocateWorkItem ( PDEVICE_OBJECT  device)

IoAllocateWorkItem (NTOSKRNL.EXE.@)

Definition at line 1142 of file ntoskrnl.c.

References ExAllocatePool(), NULL, and PagedPool.

◆ IoAttachDeviceToDeviceStack()

PDEVICE_OBJECT WINAPI IoAttachDeviceToDeviceStack ( PDEVICE_OBJECT  ,
PDEVICE_OBJECT   
)

◆ IoBuildAsynchronousFsdRequest()

◆ IoBuildDeviceIoControlRequest()

PIRP WINAPI IoBuildDeviceIoControlRequest ( ULONG  ,
DEVICE_OBJECT ,
PVOID  ,
ULONG  ,
PVOID  ,
ULONG  ,
BOOLEAN  ,
PKEVENT  ,
IO_STATUS_BLOCK  
)

◆ IoBuildSynchronousFsdRequest()

PIRP WINAPI IoBuildSynchronousFsdRequest ( ULONG  ,
DEVICE_OBJECT ,
PVOID  ,
ULONG  ,
PLARGE_INTEGER  ,
PKEVENT  ,
IO_STATUS_BLOCK  
)

◆ IoCallDriver()

◆ IoCancelIrp()

BOOLEAN WINAPI IoCancelIrp ( IRP irp)

◆ IoCompleteRequest()

◆ IoCopyCurrentIrpStackLocationToNext()

static void IoCopyCurrentIrpStackLocationToNext ( IRP irp)
inlinestatic

◆ IoCreateDevice()

NTSTATUS WINAPI IoCreateDevice ( DRIVER_OBJECT ,
ULONG  ,
UNICODE_STRING ,
ULONG  ,
ULONG  ,
BOOLEAN  ,
DEVICE_OBJECT **   
)

◆ IoCreateDriver()

◆ IoCreateSymbolicLink()

◆ IoCreateSynchronizationEvent()

PKEVENT WINAPI IoCreateSynchronizationEvent ( UNICODE_STRING name,
HANDLE ret_handle 
)

IoCreateSynchronizationEvent (NTOSKRNL.EXE.@)

Definition at line 222 of file sync.c.

References EVENT_ALL_ACCESS, ExEventObjectType, InitializeObjectAttributes, kernel_object_from_handle(), NtClose(), NtCreateEvent(), NULL, SynchronizationEvent, and TRUE.

◆ IoDeleteDevice()

◆ IoDeleteDriver()

void WINAPI IoDeleteDriver ( DRIVER_OBJECT driver_object)

◆ IoDeleteSymbolicLink()

NTSTATUS WINAPI IoDeleteSymbolicLink ( UNICODE_STRING name)

IoDeleteSymbolicLink (NTOSKRNL.EXE.@)

Definition at line 1636 of file ntoskrnl.c.

References name, NtClose(), NtMakeTemporaryObject(), NtOpenSymbolicLinkObject(), NULL, OBJ_CASE_INSENSITIVE, and status.

Referenced by delete_disk_device(), delete_mount_point(), and IoSetDeviceInterfaceState().

◆ IoDetachDevice()

void WINAPI IoDetachDevice ( PDEVICE_OBJECT  )

◆ IoFreeIrp()

void WINAPI IoFreeIrp ( IRP irp)

◆ IoFreeMdl()

void WINAPI IoFreeMdl ( MDL )

◆ IoFreeWorkItem()

void WINAPI IoFreeWorkItem ( PIO_WORKITEM  work_item)

IoFreeWorkItem (NTOSKRNL.EXE.@)

Definition at line 1157 of file ntoskrnl.c.

References ExFreePool().

◆ IoGetAttachedDeviceReference()

DEVICE_OBJECT* WINAPI IoGetAttachedDeviceReference ( DEVICE_OBJECT device)

IoGetAttachedDeviceReference (NTOSKRNL.EXE.@)

Definition at line 2907 of file ntoskrnl.c.

References IoGetAttachedDevice(), and ObReferenceObject().

Referenced by send_device_irp().

◆ IoGetCurrentProcess()

PEPROCESS WINAPI IoGetCurrentProcess ( void  )

IoGetCurrentProcess / PsGetCurrentProcess (NTOSKRNL.EXE.@)

Definition at line 2256 of file ntoskrnl.c.

References KeGetCurrentThread(), and _KTHREAD::process.

Referenced by wine_ntoskrnl_main_loop().

◆ IoGetDeviceInterfaces()

NTSTATUS WINAPI IoGetDeviceInterfaces ( const GUID InterfaceClassGuid,
PDEVICE_OBJECT  PhysicalDeviceObject,
ULONG  Flags,
PWSTR SymbolicLinkList 
)

IoGetDeviceInterfaces (NTOSKRNL.EXE.@)

Definition at line 1660 of file ntoskrnl.c.

References STATUS_NOT_IMPLEMENTED.

◆ IoGetDeviceObjectPointer()

NTSTATUS WINAPI IoGetDeviceObjectPointer ( UNICODE_STRING name,
ACCESS_MASK  access,
PFILE_OBJECT file,
PDEVICE_OBJECT device 
)

IoGetDeviceObjectPointer (NTOSKRNL.EXE.@)

Definition at line 1673 of file ntoskrnl.c.

References access(), debugstr_us(), _DEVICE_OBJECT::DriverObject, NULL, _DEVICE_OBJECT::StackSize, and STATUS_SUCCESS.

◆ IoGetDeviceProperty()

NTSTATUS WINAPI IoGetDeviceProperty ( PDEVICE_OBJECT  ,
DEVICE_REGISTRY_PROPERTY  ,
ULONG  ,
PVOID  ,
PULONG   
)

◆ IoGetDriverObjectExtension()

PVOID WINAPI IoGetDriverObjectExtension ( PDRIVER_OBJECT  DriverObject,
PVOID  ClientIdentificationAddress 
)

IoGetDriverObjectExtension (NTOSKRNL.EXE.@)

Definition at line 959 of file ntoskrnl.c.

References NULL.

◆ IoGetRelatedDeviceObject()

PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject ( PFILE_OBJECT  obj)

IoGetRelatedDeviceObject (NTOSKRNL.EXE.@)

Definition at line 1728 of file ntoskrnl.c.

References NULL, and obj.

◆ IoGetStackLimits()

void WINAPI IoGetStackLimits ( ULONG_PTR low,
ULONG_PTR high 
)

IoGetStackLimits (NTOSKRNL.EXE.@)

Definition at line 1749 of file ntoskrnl.c.

References NtCurrentTeb(), _NT_TIB::StackBase, _NT_TIB::StackLimit, and _TEB::Tib.

◆ IoInitializeIrp()

void WINAPI IoInitializeIrp ( IRP irp,
USHORT  size,
CCHAR  stack_size 
)

◆ IoInitializeRemoveLockEx()

VOID WINAPI IoInitializeRemoveLockEx ( PIO_REMOVE_LOCK  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG   
)

◆ IoInvalidateDeviceRelations()

void WINAPI IoInvalidateDeviceRelations ( PDEVICE_OBJECT  ,
DEVICE_RELATION_TYPE   
)

◆ IoMarkIrpPending()

static void IoMarkIrpPending ( IRP irp)
inlinestatic

Definition at line 1607 of file wdm.h.

References IoGetCurrentIrpStackLocation, and SL_PENDING_RETURNED.

Referenced by HID_Device_read(), http_receive_request(), and queue_irp().

◆ IoOpenDeviceRegistryKey()

◆ IoQueueWorkItem()

void WINAPI IoQueueWorkItem ( PIO_WORKITEM  work_item,
PIO_WORKITEM_ROUTINE  worker,
WORK_QUEUE_TYPE  type,
void context 
)

IoQueueWorkItem (NTOSKRNL.EXE.@)

Definition at line 1179 of file ntoskrnl.c.

References context, NULL, ObReferenceObject(), run_work_item_worker(), and TrySubmitThreadpoolCallback().

◆ IoRegisterDeviceInterface()

NTSTATUS WINAPI IoRegisterDeviceInterface ( PDEVICE_OBJECT  ,
const GUID ,
PUNICODE_STRING  ,
PUNICODE_STRING   
)

◆ IoReleaseCancelSpinLock()

void WINAPI IoReleaseCancelSpinLock ( KIRQL  irql)

IoReleaseCancelSpinLock (NTOSKRNL.EXE.@)

Definition at line 731 of file sync.c.

References cancel_lock, and KeReleaseSpinLock().

Referenced by cancel_completed_irp(), http_receive_request_cancel(), IoCancelIrp(), and read_cancel_routine().

◆ IoReleaseRemoveLockAndWaitEx()

void WINAPI IoReleaseRemoveLockAndWaitEx ( IO_REMOVE_LOCK lock,
void tag,
ULONG  size 
)

◆ IoReleaseRemoveLockEx()

void WINAPI IoReleaseRemoveLockEx ( IO_REMOVE_LOCK lock,
void tag,
ULONG  size 
)

◆ IoReuseIrp()

◆ IoSetCompletionRoutine()

static void IoSetCompletionRoutine ( IRP irp,
PIO_COMPLETION_ROUTINE  routine,
void context,
BOOLEAN  on_success,
BOOLEAN  on_error,
BOOLEAN  on_cancel 
)
inlinestatic

◆ IoSetDeviceInterfaceState()

◆ IoSkipCurrentIrpStackLocation()

static void IoSkipCurrentIrpStackLocation ( IRP irp)
inlinestatic

◆ IoWMIRegistrationControl()

NTSTATUS WINAPI IoWMIRegistrationControl ( PDEVICE_OBJECT  DeviceObject,
ULONG  Action 
)

IoWMIRegistrationControl (NTOSKRNL.EXE.@)

Definition at line 3205 of file ntoskrnl.c.

References STATUS_SUCCESS.

◆ KeAcquireInStackQueuedSpinLockAtDpcLevel()

void FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel ( KSPIN_LOCK lock,
KLOCK_QUEUE_HANDLE queue 
)

KeAcquireInStackQueuedSpinLockAtDpcLevel (NTOSKRNL.EXE.@)

Definition at line 577 of file sync.c.

References _KSPIN_LOCK_QUEUE::Next, NULL, QUEUED_SPINLOCK_OWNED, and small_pause().

Referenced by KeAcquireInStackQueuedSpinLock().

◆ KeAcquireSpinLockAtDpcLevel()

void WINAPI KeAcquireSpinLockAtDpcLevel ( KSPIN_LOCK lock)

KeAcquireSpinLockAtDpcLevel (NTOSKRNL.EXE.@)

Definition at line 555 of file sync.c.

References small_pause().

Referenced by KeAcquireSpinLockRaiseToDpc().

◆ KeAcquireSpinLockRaiseToDpc()

KIRQL WINAPI KeAcquireSpinLockRaiseToDpc ( KSPIN_LOCK lock)

KeAcquireSpinLockRaiseToDpc (NTOSKRNL.EXE.@)

Definition at line 641 of file sync.c.

References KeAcquireSpinLockAtDpcLevel().

◆ KeBugCheckEx()

void WINAPI DECLSPEC_NORETURN KeBugCheckEx ( ULONG  code,
ULONG_PTR  param1,
ULONG_PTR  param2,
ULONG_PTR  param3,
ULONG_PTR  param4 
)

KeBugCheckEx (NTOSKRNL.@)

Definition at line 3359 of file ntoskrnl.c.

References ERR, ExitProcess(), param1, and param2.

Referenced by KeBugCheck().

◆ KeCancelTimer()

◆ KeClearEvent()

void WINAPI KeClearEvent ( PRKEVENT  event)

KeClearEvent (NTOSKRNL.EXE.@)

Definition at line 310 of file sync.c.

References KeResetEvent().

◆ KeDelayExecutionThread()

NTSTATUS WINAPI KeDelayExecutionThread ( KPROCESSOR_MODE  mode,
BOOLEAN  alertable,
LARGE_INTEGER timeout 
)

KeDelayExecutionThread (NTOSKRNL.EXE.@)

Definition at line 528 of file sync.c.

References mode, and NtDelayExecution().

◆ KeEnterCriticalRegion()

void WINAPI KeEnterCriticalRegion ( void  )

KeEnterCriticalRegion (NTOSKRNL.EXE.@)

Definition at line 3323 of file ntoskrnl.c.

References _KTHREAD::critical_region, and KeGetCurrentThread().

Referenced by dispatch_irp().

◆ KeGenericCallDpc()

void WINAPI KeGenericCallDpc ( PKDEFERRED_ROUTINE  ,
PVOID   
)

◆ KeGetCurrentProcessorNumber()

ULONG WINAPI KeGetCurrentProcessorNumber ( void  )

◆ KeGetCurrentThread()

◆ KeInitializeDpc()

void WINAPI KeInitializeDpc ( KDPC dpc,
PKDEFERRED_ROUTINE  deferred_routine,
void deferred_context 
)

KeInitializeDpc (NTOSKRNL.EXE.@)

Definition at line 3169 of file ntoskrnl.c.

References _KDPC::DeferredContext, and _KDPC::DeferredRoutine.

◆ KeInitializeEvent()

void WINAPI KeInitializeEvent ( PRKEVENT  event,
EVENT_TYPE  type,
BOOLEAN  state 
)

KeInitializeEvent (NTOSKRNL.EXE.@)

Definition at line 187 of file sync.c.

References NULL, state, and type.

Referenced by create_event_object(), ExAcquireResourceExclusiveLite(), ExInitializeFastMutex(), and IoInitializeRemoveLockEx().

◆ KeInitializeMutex()

void WINAPI KeInitializeMutex ( PRKMUTEX  mutex,
ULONG  level 
)

KeInitializeMutex (NTOSKRNL.EXE.@)

Definition at line 384 of file sync.c.

References NULL, and TYPE_MUTEX.

◆ KeInitializeSemaphore()

void WINAPI KeInitializeSemaphore ( PRKSEMAPHORE  semaphore,
LONG  count,
LONG  limit 
)

KeInitializeSemaphore (NTOSKRNL.EXE.@)

Definition at line 340 of file sync.c.

References NULL, and TYPE_SEMAPHORE.

Referenced by ExAcquireResourceSharedLite(), ExAcquireSharedStarveExclusive(), and ExAcquireSharedWaitForExclusive().

◆ KeInitializeSpinLock()

void WINAPI KeInitializeSpinLock ( KSPIN_LOCK lock)

KeInitializeSpinLock (NTOSKRNL.EXE.@)

Definition at line 537 of file sync.c.

Referenced by PNP_AddDevice().

◆ KeInitializeTimer()

void WINAPI KeInitializeTimer ( KTIMER timer)

KeInitializeTimer (NTOSKRNL.EXE.@)

Definition at line 452 of file sync.c.

References KeInitializeTimerEx(), and NotificationTimer.

◆ KeInitializeTimerEx()

void WINAPI KeInitializeTimerEx ( PKTIMER  ,
TIMER_TYPE   
)

◆ KeLeaveCriticalRegion()

void WINAPI KeLeaveCriticalRegion ( void  )

KeLeaveCriticalRegion (NTOSKRNL.EXE.@)

Definition at line 3332 of file ntoskrnl.c.

References _KTHREAD::critical_region, and KeGetCurrentThread().

Referenced by dispatch_irp().

◆ KeQueryActiveProcessorCountEx()

ULONG WINAPI KeQueryActiveProcessorCountEx ( USHORT  group_number)

Definition at line 2428 of file ntoskrnl.c.

References GetActiveProcessorCount().

Referenced by KeGenericCallDpc().

◆ KeQueryActiveProcessors()

KAFFINITY WINAPI KeQueryActiveProcessors ( void  )

KeQueryActiveProcessors (NTOSKRNL.EXE.@)

Return the active Processors as bitmask

RETURNS active Processors as bitmask

Definition at line 2420 of file ntoskrnl.c.

References GetCurrentProcess(), GetProcessAffinityMask(), and NULL.

Referenced by KeRevertToUserAffinityThreadEx(), and KeSetSystemAffinityThreadEx().

◆ KeQuerySystemTime()

void WINAPI KeQuerySystemTime ( LARGE_INTEGER time)

KeQuerySystemTime (NTOSKRNL.EXE.@)

Definition at line 2453 of file ntoskrnl.c.

References NtQuerySystemTime(), and time().

◆ KeQueryTickCount()

void WINAPI KeQueryTickCount ( LARGE_INTEGER count)

◆ KeQueryTimeIncrement()

ULONG WINAPI KeQueryTimeIncrement ( void  )

KeQueryTimeIncrement (NTOSKRNL.EXE.@)

Definition at line 2475 of file ntoskrnl.c.

Referenced by ExSetTimerResolution().

◆ KeReadStateEvent()

LONG WINAPI KeReadStateEvent ( PRKEVENT  event)

◆ KeReleaseInStackQueuedSpinLockFromDpcLevel()

void FASTCALL KeReleaseInStackQueuedSpinLockFromDpcLevel ( KLOCK_QUEUE_HANDLE queue)

KeReleaseInStackQueuedSpinLockFromDpcLevel (NTOSKRNL.EXE.@)

Definition at line 604 of file sync.c.

References _KSPIN_LOCK_QUEUE::Lock, NULL, QUEUED_SPINLOCK_OWNED, and small_pause().

Referenced by KeReleaseInStackQueuedSpinLock().

◆ KeReleaseMutex()

LONG WINAPI KeReleaseMutex ( PRKMUTEX  mutex,
BOOLEAN  wait 
)

KeReleaseMutex (NTOSKRNL.EXE.@)

Definition at line 397 of file sync.c.

References CloseHandle(), EnterCriticalSection(), LeaveCriticalSection(), NULL, and sync_cs.

◆ KeReleaseSemaphore()

LONG WINAPI KeReleaseSemaphore ( PRKSEMAPHORE  semaphore,
KPRIORITY  increment,
LONG  count,
BOOLEAN  wait 
)

KeReleaseSemaphore (NTOSKRNL.EXE.@)

Definition at line 354 of file sync.c.

References EnterCriticalSection(), LeaveCriticalSection(), NULL, ReleaseSemaphore(), and sync_cs.

Referenced by ExReleaseResourceForThreadLite().

◆ KeReleaseSpinLock()

◆ KeReleaseSpinLockFromDpcLevel()

void WINAPI KeReleaseSpinLockFromDpcLevel ( KSPIN_LOCK lock)

KeReleaseSpinLockFromDpcLevel (NTOSKRNL.EXE.@)

Definition at line 565 of file sync.c.

Referenced by KeReleaseSpinLock().

◆ KeResetEvent()

◆ KeRevertToUserAffinityThread()

void WINAPI KeRevertToUserAffinityThread ( void  )

KeRevertToUserAffinityThread (NTOSKRNL.EXE.@)

Definition at line 2525 of file ntoskrnl.c.

References KeRevertToUserAffinityThreadEx().

◆ KeRevertToUserAffinityThreadEx()

void WINAPI KeRevertToUserAffinityThreadEx ( KAFFINITY  affinity)

◆ KeSetEvent()

◆ KeSetPriorityThread()

KPRIORITY WINAPI KeSetPriorityThread ( PKTHREAD  Thread,
KPRIORITY  Priority 
)

KeSetPriorityThread (NTOSKRNL.EXE.@)

Definition at line 2484 of file ntoskrnl.c.

◆ KeSetSystemAffinityThread()

void WINAPI KeSetSystemAffinityThread ( KAFFINITY  affinity)

KeSetSystemAffinityThread (NTOSKRNL.EXE.@)

Definition at line 2493 of file ntoskrnl.c.

References KeSetSystemAffinityThreadEx().

◆ KeSetSystemAffinityThreadEx()

◆ KeSetTimer()

BOOLEAN WINAPI KeSetTimer ( KTIMER timer,
LARGE_INTEGER  duetime,
KDPC dpc 
)

Definition at line 1379 of file sync.c.

References KeSetTimerEx(), and _LARGE_INTEGER::QuadPart.

◆ KeSetTimerEx()

BOOLEAN WINAPI KeSetTimerEx ( KTIMER timer,
LARGE_INTEGER  duetime,
LONG  period,
KDPC dpc 
)

◆ KeSignalCallDpcDone()

void WINAPI KeSignalCallDpcDone ( void barrier)

Definition at line 4214 of file ntoskrnl.c.

◆ KeSignalCallDpcSynchronize()

BOOLEAN WINAPI KeSignalCallDpcSynchronize ( void barrier)

◆ KeWaitForMultipleObjects()

◆ KeWaitForSingleObject()

◆ MmAllocateContiguousMemory()

PVOID WINAPI MmAllocateContiguousMemory ( SIZE_T  size,
PHYSICAL_ADDRESS  highest_valid_address 
)

MmAllocateContiguousMemory (NTOSKRNL.EXE.@)

Definition at line 2595 of file ntoskrnl.c.

References NULL, _LARGE_INTEGER::QuadPart, and wine_dbgstr_longlong().

◆ MmAllocateNonCachedMemory()

PVOID WINAPI MmAllocateNonCachedMemory ( SIZE_T  size)

MmAllocateNonCachedMemory (NTOSKRNL.EXE.@)

Definition at line 2586 of file ntoskrnl.c.

References MEM_COMMIT, MEM_RESERVE, NULL, PAGE_NOCACHE, PAGE_READWRITE, and VirtualAlloc().

◆ MmAllocatePagesForMdl()

PMDL WINAPI MmAllocatePagesForMdl ( PHYSICAL_ADDRESS  lowaddress,
PHYSICAL_ADDRESS  highaddress,
PHYSICAL_ADDRESS  skipbytes,
SIZE_T  size 
)

MmAllocatePagesForMdl (NTOSKRNL.EXE.@)

Definition at line 2617 of file ntoskrnl.c.

References NULL, _LARGE_INTEGER::QuadPart, and wine_dbgstr_longlong().

◆ MmBuildMdlForNonPagedPool()

void WINAPI MmBuildMdlForNonPagedPool ( MDL mdl)

MmBuildMdlForNonPagedPool (NTOSKRNL.EXE.@)

Definition at line 2628 of file ntoskrnl.c.

◆ MmCopyVirtualMemory()

NTSTATUS WINAPI MmCopyVirtualMemory ( PEPROCESS  fromprocess,
void fromaddress,
PEPROCESS  toprocess,
void toaddress,
SIZE_T  bufsize,
KPROCESSOR_MODE  mode,
SIZE_T copied 
)

MmCopyVirtualMemory (NTOSKRNL.@)

Definition at line 3952 of file ntoskrnl.c.

References mode, and STATUS_NOT_IMPLEMENTED.

◆ MmFreeNonCachedMemory()

void WINAPI MmFreeNonCachedMemory ( PVOID  ,
SIZE_T   
)

◆ MmGetSystemAddressForMdlSafe()

static void* MmGetSystemAddressForMdlSafe ( MDL mdl,
ULONG  priority 
)
inlinestatic

◆ MmGetSystemRoutineAddress()

void* WINAPI MmGetSystemRoutineAddress ( UNICODE_STRING )

◆ MmInitializeMdl()

static void MmInitializeMdl ( MDL mdl,
void va,
SIZE_T  length 
)
inlinestatic

◆ MmMapLockedPagesSpecifyCache()

PVOID WINAPI MmMapLockedPagesSpecifyCache ( PMDLX  MemoryDescriptorList,
KPROCESSOR_MODE  AccessMode,
MEMORY_CACHING_TYPE  CacheType,
PVOID  BaseAddress,
ULONG  BugCheckOnFailure,
MM_PAGE_PRIORITY  Priority 
)

MmMapLockedPagesSpecifyCache (NTOSKRNL.EXE.@)

Definition at line 2694 of file ntoskrnl.c.

References NULL.

Referenced by MmGetSystemAddressForMdlSafe().

◆ MmProbeAndLockPages()

void WINAPI MmProbeAndLockPages ( PMDLX  MemoryDescriptorList,
KPROCESSOR_MODE  AccessMode,
LOCK_OPERATION  Operation 
)

MmProbeAndLockPages (NTOSKRNL.EXE.@)

Definition at line 2731 of file ntoskrnl.c.

◆ MmQuerySystemSize()

MM_SYSTEMSIZE WINAPI MmQuerySystemSize ( void  )

MmQuerySystemSize (NTOSKRNL.EXE.@)

Definition at line 3160 of file ntoskrnl.c.

References MmLargeSystem.

◆ MmUnmapLockedPages()

void WINAPI MmUnmapLockedPages ( void ,
PMDL   
)

◆ NTSTATUS()

typedef NTSTATUS ( NTAPI  EX_CALLBACK_FUNCTION)

◆ ObCloseHandle()

NTSTATUS WINAPI ObCloseHandle ( IN HANDLE  handle)

◆ ObDereferenceObject()

◆ ObfReferenceObject()

void FASTCALL ObfReferenceObject ( void obj)

ObfReferenceObject (NTOSKRNL.EXE.@)

Definition at line 2858 of file ntoskrnl.c.

References obj, and ObReferenceObject().

Referenced by build_device_relations(), and fdo_pnp().

◆ ObGetFilterVersion()

USHORT WINAPI ObGetFilterVersion ( void  )

ObGetFilterVersion (NTOSKRNL.EXE.@)

Definition at line 2897 of file ntoskrnl.c.

References OB_FLT_REGISTRATION_VERSION.

◆ ObReferenceObjectByHandle()

NTSTATUS WINAPI ObReferenceObjectByHandle ( HANDLE  ,
ACCESS_MASK  ,
POBJECT_TYPE  ,
KPROCESSOR_MODE  ,
PVOID ,
POBJECT_HANDLE_INFORMATION   
)

◆ ObReferenceObjectByName()

NTSTATUS WINAPI ObReferenceObjectByName ( UNICODE_STRING ObjectName,
ULONG  Attributes,
ACCESS_STATE AccessState,
ACCESS_MASK  DesiredAccess,
POBJECT_TYPE  ObjectType,
KPROCESSOR_MODE  AccessMode,
void ParseContext,
void **  Object 
)

◆ ObReferenceObjectByPointer()

NTSTATUS WINAPI ObReferenceObjectByPointer ( void obj,
ACCESS_MASK  access,
POBJECT_TYPE  type,
KPROCESSOR_MODE  mode 
)

ObReferenceObjectByPointer (NTOSKRNL.EXE.@)

Definition at line 2844 of file ntoskrnl.c.

References access(), mode, obj, and STATUS_NOT_IMPLEMENTED.

◆ ObRegisterCallbacks()

NTSTATUS WINAPI ObRegisterCallbacks ( POB_CALLBACK_REGISTRATION  callback,
void **  handle 
)

ObRegisterCallbacks (NTOSKRNL.EXE.@)

Definition at line 2876 of file ntoskrnl.c.

References STATUS_SUCCESS, and UlongToHandle.

◆ ObUnRegisterCallbacks()

void WINAPI ObUnRegisterCallbacks ( void handle)

ObUnRegisterCallbacks (NTOSKRNL.EXE.@)

Definition at line 2889 of file ntoskrnl.c.

◆ PoCallDriver()

NTSTATUS WINAPI PoCallDriver ( DEVICE_OBJECT device,
IRP irp 
)

PoCallDriver (NTOSKRNL.EXE.@)

Definition at line 925 of file pnp.c.

References IoCallDriver().

◆ PoSetPowerState()

POWER_STATE WINAPI PoSetPowerState ( PDEVICE_OBJECT  ,
POWER_STATE_TYPE  ,
POWER_STATE   
)

◆ PoStartNextPowerIrp()

void WINAPI PoStartNextPowerIrp ( IRP irp)

PoStartNextPowerIrp (NTOSKRNL.EXE.@)

Definition at line 917 of file pnp.c.

◆ PsCreateSystemThread()

NTSTATUS WINAPI PsCreateSystemThread ( PHANDLE  ThreadHandle,
ULONG  DesiredAccess,
POBJECT_ATTRIBUTES  ObjectAttributes,
HANDLE  ProcessHandle,
PCLIENT_ID  ClientId,
PKSTART_ROUTINE  StartRoutine,
PVOID  StartContext 
)

PsCreateSystemThread (NTOSKRNL.EXE.@)

Definition at line 2918 of file ntoskrnl.c.

References FALSE, GetCurrentProcess(), and RtlCreateUserThread().

◆ PsGetCurrentProcessId()

HANDLE WINAPI PsGetCurrentProcessId ( void  )

PsGetCurrentProcessId (NTOSKRNL.EXE.@)

Definition at line 2932 of file ntoskrnl.c.

References _KTHREAD::id, KeGetCurrentThread(), and _CLIENT_ID::UniqueProcess.

Referenced by current_client_id().

◆ PsGetCurrentThreadId()

HANDLE WINAPI PsGetCurrentThreadId ( void  )

PsGetCurrentThreadId (NTOSKRNL.EXE.@)

Definition at line 2941 of file ntoskrnl.c.

References _KTHREAD::id, KeGetCurrentThread(), and _CLIENT_ID::UniqueThread.

◆ PsGetProcessInheritedFromUniqueProcessId()

HANDLE WINAPI PsGetProcessInheritedFromUniqueProcessId ( PEPROCESS  process)

PsGetProcessInheritedFromUniqueProcessId (NTOSKRNL.@)

Definition at line 2292 of file ntoskrnl.c.

References id.

◆ PsGetVersion()

BOOLEAN WINAPI PsGetVersion ( ULONG major,
ULONG minor,
ULONG build,
UNICODE_STRING version 
)

PsGetVersion (NTOSKRNL.EXE.@)

Definition at line 2959 of file ntoskrnl.c.

References build(), info, len, lstrlenW(), major, memcpy(), min, minor, RtlGetVersion(), TRUE, and version.

◆ PsTerminateSystemThread()

NTSTATUS WINAPI PsTerminateSystemThread ( NTSTATUS  status)

PsTerminateSystemThread (NTOSKRNL.EXE.@)

Def