Kernel
Standard driver routines must be implemented by your driver. Driver support routines are routines that the Windows operating system provides. Drivers do not use Microsoft Win32 routines; instead, they use the driver support routines that this section describes.
The driver support routines in this section are organized by kernel-mode managers and libraries.
Standard Driver Routines
Here are the required and optional routines that you must implement in your driver to respond to calls from Windows or other drivers. When these routines are called, your code must respond to the call and return the appropriate data in a timely manner.
The following routines are required for all drivers:
- DriverEntry
- AddDevice
- Dispatch___ (routines beginning with "Dispatch" such as DispatchCreate)
- DriverUnload
The other routines are optional, but you may need to implement them depending on your driver type and the location of your driver in the device stack.
For more information about standard driver routines, see Introduction to Standard Driver Routines.
Driver Support Routines
Driver support routines are routines that the Windows operating system provides for kernel-mode drivers to use. Drivers do not use Microsoft Win32 routines; instead, they use the driver support routines that this section describes.
The driver support routines in this section are organized by kernel-mode managers and libraries.
The following kernel-mode managers provide support for drivers:
- Object Manager Routines
- Memory Manager Routines
- Process and Thread Manager Routines
- I/O Manager Routines
- Power Manager Routines
- Configuration Manager Routines
- Kernel Transaction Manager Routines
- Security Reference Monitor Routines
The following kernel-mode libraries provide support for drivers:
- Core Kernel Library Support Routines
- Executive Library Support Routines
- Run-Time Library (RTL) Routines
- Safe String Library Routines
- Safe Integer Library Routines
- Direct Memory Access (DMA) Library Routines
- Hardware Abstraction Layer (HAL) Library Routines
- Common Log File System (CLFS) Routines
- Windows Management Instrumentation (WMI) Library Support Routines
- ZwXxx Routines
- Auxiliary Kernel-Mode Library Routines and Structures
- Processor Group Compatibility Library
Public headers for Windows kernel
To develop Windows kernel, you need these headers:
- aux_klib.h
- hwnclx.h
- ioaccess.h
- iointex.h
- miniport.h
- ntddk.h
- ntddsfio.h
- ntddsysenv.h
- ntintsafe.h
- ntpoapi.h
- ntstrsafe.h
- pcivirt.h
- pep_x.h
- pepfx.h
- procgrp.h
- pwmutil.h
- vpci.h
- wdm.h
- wdmsec.h
- wmidata.h
- wmilib.h
- wmistr.h
For the programming guide, see Windows kernel.
Initialization and unload
This section summarizes kernel-mode support routines that can be called by drivers from their DriverEntry, AddDevice, Reinitialize, or Unload routines.
The following routines are reserved for system use. Do not use them in your driver.
- HalAcquireDisplayOwnership
- HalAllocateAdapterChannel. Use AllocateAdapterChannel instead.
- HalAllocateCrashDumpRegisters
- HalAllocateMapRegisters
- HalGetScatterGatherList. Use GetScatterGatherList instead.
- HalMakeBeep
- HalPutDmaAdapter. Use PutDmaAdapter instead.
- HalPutScatterGatherList. Use PutScatterGatherList instead.
The following obsolete routines are exported only to support existing drivers:
Obsolete routine | Replacement |
---|---|
HalAllocateCommonBuffer | See AllocateCommonBuffer instead. |
HalAssignSlotResources | Drivers of PnP devices are assigned resources by the PnP manager, which passes resource lists with each IRP_MN_START_DEVICE request. Drivers that must support a legacy device that cannot be enumerated by the PnP manager should use IoReportDetectedDevice and IoReportResourceForDetection. |
HalFreeCommonBuffer | See FreeCommonBuffer instead. |
HalGetAdapter | See IoGetDmaAdapter instead. |
HalGetBusData | Instead, use IRP_MN_QUERY_INTERFACE to query the GUID_BUS_INTERFACE_STANDARD interface. This query request returns a function pointer to GetBusData, which can be used to read from the configuration space of a given device. |
HalGetBusDataByOffset | Instead, use IRP_MN_QUERY_INTERFACE to query the GUID_BUS_INTERFACE_STANDARD interface. This query request returns a function pointer to GetBusData, which can be used to read from the configuration space of a given device. |
HalGetDmaAlignmentRequirement | See GetDmaAlignment instead. |
HalGetInterruptVector | Drivers of PnP devices are assigned resources by the PnP manager, which passes resource lists with each IRP_MN_START_DEVICE request. Drivers that must support a legacy device that cannot be enumerated by the PnP manager should use IoReportDetectedDevice and IoReportResourceForDetection. |
HalReadDmaCounter | See ReadDmaCounter instead. |
HalSetBusData | Instead, use IRP_MN_QUERY_INTERFACE to query the GUID_BUS_INTERFACE_STANDARD interface. This query request returns a function pointer to SetBusData, which can be used to write to the configuration space of a given device. |
HalSetBusDataByOffset | Instead, use IRP_MN_QUERY_INTERFACE to query the GUID_BUS_INTERFACE_STANDARD interface. This query request returns a function pointer to SetBusData, which can be used to write to the configuration space of a given device. |
HalTranslateBusAddress | The PnP manager passes lists of raw and translated resources in its IIRP_MN_START_DEVICE request for each device. Consequently, in most cases there is no need to translate bus addresses. However, if translation is required, use IRP_MN_QUERY_INTERFACE to query the GUID_BUS_INTERFACE_STANDARD interface. The query request returns a function pointer to TranslateBusAddress, which can be used to translates addresses on the parent bus to logical addresses. |
These obsolete routines are included in the Ntddk.h header file.
The following routine is not supported and should not be used:
- HalReturnToFirmware
Windows performs resource balancing of PCI bus resources to open an address region for a plugged device. The rebalance operation causes the bus data for some driver's device to move dynamically (between IRP_MN_STOP_DEVICE and IRP_MN_START_DEVICE calls). Therefore, a driver must not access the bus data directly. Instead the driver must pass it down to the lower bus driver because it knows the location of the device.
For more information, see Stopping a Device to Rebalance Resources.
Registry
Used for obtaining and reporting configuration information, and for registering interfaces in the registry.
Function | Description |
---|---|
IoGetDeviceProperty | Retrieves device setup information from the registry. Use this routine, rather than accessing the registry directly, to insulate a driver from differences across platforms and from possible changes in the registry structure. |
IoOpenDeviceInterfaceRegistryKey | Returns a handle to a registry key for storing information about a particular device interface. |
IoOpenDeviceRegistryKey | Returns a handle to a device-specific or a driver-specific registry key for a particular device instance. |
IoRegisterDeviceInterface | Registers device functionality (a device interface) that a driver will enable for use by applications or other system components. The I/O manager creates a registry key for the device interface. Drivers can access persistent storage under this key using IoOpenDeviceInterfaceRegistryKey. |
IoSetDeviceInterfaceState | Enables or disables a previously registered device interface. Applications and other system components can open only interfaces that are enabled. |
RtlCheckRegistryKey | Returns STATUS_SUCCESS if a key exists in the registry along the given relative path. |
RtlCreateRegistryKey | Adds a key object in the registry along the given relative path. |
RtlQueryRegistryValues | Gives a driver-supplied callback read-only access to the entries for a specified value name, along a specified relative path, in the registry, after the callback routine is given control. |
RtlWriteRegistryValue | Writes caller-supplied data into the registry along the specified relative path at the given value name. |
RtlDeleteRegistryValue | Removes the specified value name (and the associated value entries) from the registry along the given relative path. |
InitializeObjectAttributes | Sets up a parameter of type OBJECT_ATTRIBUTES for a subsequent call to a ZwCreateXxx or ZwOpenXxx routine. |
ZwCreateKey | Creates a new key in the registry with the given object's attributes, allowed access, and creation options (such as whether the key is created again when the system is booted). Alternatively, opens an existing key and returns a handle for the key object. |
ZwOpenKey | Returns a handle for a key in the registry given the object's attributes (which must include a name for the key) and the desired access to the object. |
ZwQueryKey | Returns information about the class of a key, and the number and sizes of its subkeys. This information includes, for example, the length of subkey names and the size of value entries. |
ZwEnumerateKey | Returns the specified information about the subkey, as selected by a zero-based index, of an opened key in the registry. |
ZwEnumerateValueKey | Returns the specified information about the value entry of a subkey, as selected by a zero-based index, of an opened key in the registry. |
ZwQueryValueKey | Returns the value entry for an opened key in the registry. |
ZwSetValueKey | Replaces (or creates) a value entry for an opened key in the registry. |
ZwFlushKey | Forces changes made by ZwCreateKey or ZwSetValueKey for the opened key object to be written to disk. |
ZwDeleteKey | Removes a key and its value entries from the registry as soon as the key is closed. |
ZwClose | Releases the handle for an opened object, causing the handle to become invalid and decrementing the reference count of the object handle. |
Objects and resources
Used for setting up and freeing the objects and resources that drivers might use.
Function | Description |
---|---|
IoCreateDevice | Initializes a device object, which represents a physical, virtual, or logical device for which the driver is being loaded into the system. Then it allocates space for the driver-defined device extension associated with the device object. |
IoDeleteDevice | Removes a device object from the system when the underlying device is removed from the system. |
IoGetDeviceObjectPointer | Requests access to a named device object and returns a pointer to that device object if the requested access is granted. Also returns a pointer to the file object referenced by the named device object. In effect, this routine establishes a connection between the caller and the next-lower-level driver. |
IoAttachDeviceToDeviceStack | Attaches the caller's device object to the highest device object in a chain of drivers and returns a pointer to the previously highest device object. I/O requests bound for the target device are routed first to the caller. |
IoGetAttachedDeviceReference | Returns a pointer to the highest level device object in a driver stack and increments the reference count on that object. |
IoDetachDevice | Releases an attachment between the caller's device object and a target driver's device object. |
IoAllocateDriverObjectExtension | Allocates a per-driver context area with a given unique identifier. |
IoGetDriverObjectExtension | Retrieves a previously allocated per-driver context area. |
IoRegisterDeviceInterface | Registers device functionality (a device interface) that a driver will enable for use by applications or other system components. The I/O manager creates a registry key for the device interface. Drivers can access persistent storage under this key by calling IoOpenDeviceInterfaceRegistryKey. |
IoIsWdmVersionAvailable | Checks whether a given WDM version is supported by the operating system. |
IoDeleteSymbolicLink | Releases a symbolic link between a device object name and a user-visible name. |
IoAssignArcName | Sets up a symbolic link between a named device object (such as a tape, floppy, or CD-ROM) and the corresponding ARC name for the device. |
IoDeassignArcName | Releases the symbolic link created by calling IoAssignArcName. |
IoSetShareAccess | Sets the access allowed to a given file object that represents a device. (Only highest-level drivers can call this routine.) |
IoConnectInterrupt | Registers a driver's interrupt-handling routine. Drivers should use IoConnectInterruptEx instead. |
IoDisconnectInterrupt | Unregisters an interrupt-handling routine that IoConnectInterrupt registered. |
IoConnectInterruptEx | Registers a driver's interrupt-handling routine. Drivers can register either an InterruptService routine for line-based interrupts or an InterruptMessageService routine for message-signaled interrupts. |
IoDisconnectInterruptEx | Unregisters an interrupt-handling routine that IoConnectInterruptEx registered. |
IoInitializeDpcRequest | Associates a driver-supplied DpcForIsr routine with a given device object, so that the DpcForIsr routine can complete interrupt-driven I/O operations. |
IoReadPartitionTable | Returns a list of partitions on a disk with a given sector size. |
IoSetPartitionInformation | Sets the partition type and number for a (disk) partition. |
IoWritePartitionTable | Writes partition tables for a disk, given the device object that represents the disk, the sector size, and a pointer to a buffer containing the drive layout structure. |
IoCreateController | Initializes a controller object representing a physical device controller that is shared by two or more similar devices that have the same driver, and specifies the size of the controller extension. |
IoDeleteController | Removes a controller object from the system. |
KeInitializeSpinLock | Initializes a variable of type KSPIN_LOCK. |
KeInitializeDpc | Initializes a DPC object, setting up a driver-supplied CustomDpc routine that can be called with a given context. |
KeInitializeTimer | Initializes a notification timer object to the Not-Signaled state. |
KeInitializeTimerEx | Initializes a notification or synchronization timer object to the Not-Signaled state. |
KeInitializeEvent | Initializes an event object as a synchronization (single waiter) or notification (multiple waiters) type event and sets up its initial state (Signaled or Not-Signaled). |
ExInitializeFastMutex | Initializes a fast mutex variable that is used to synchronize mutually exclusive access to a shared resource by a set of threads. |
KeInitializeMutex | Initializes a mutex object as set to the Signaled state. |
KeInitializeSemaphore | Initializes a semaphore object to a given count and specifies an upper bound for the count. |
IoCreateNotificationEvent | Initializes a named notification event to be used to synchronize access between two or more components. Notification events are not automatically reset. |
IoCreateSynchronizationEvent | Initializes a named synchronization event to be used to serialize access to hardware between two otherwise unrelated drivers. |
PsCreateSystemThread | Creates a kernel-mode thread that is associated with a given process object or with the default system process. Returns a handle for the thread. |
PsTerminateSystemThread | Terminates the current thread and satisfies as many waits as possible for the current thread object. |
KeSetBasePriorityThread | Sets up the run-time priority, relative to the system process, for a driver-created thread. |
KeSetPriorityThread | Sets up the run-time priority for a driver-created thread with a real-time priority attribute. |
MmIsThisAnNtAsSystem | Returns TRUE if the current platform is a server, indicating that more resources are likely to be necessary to process I/O requests than if the machine were a client. |
MmQuerySystemSize | Returns an estimate (small, medium, or large) of the amount of memory available on the current platform. |
ExInitializeNPagedLookasideList | Initializes a lookaside list of nonpaged memory. After a successful initialization, fixed-size blocks can be allocated from and freed to the lookaside list. |
ExInitializePagedLookasideList | Initializes a lookaside list of paged memory. After a successful initialization, fixed-size blocks can be allocated from and freed to the lookaside list. |
ExInitializeResourceLite | Initializes a resource, for which the caller provides the storage, to be used for synchronization by a set of threads. |
ExReinitializeResourceLite | Reinitializes an existing resource variable. |
ExDeleteResourceLite | Deletes a caller-initialized resource from the system's resource list. |
ObReferenceObjectByHandle | Returns a pointer to the object body and handle information (attributes and granted access rights), given the handle for an object, the object's type, and a mask. Specifies the desired access to the object and the preferred access mode. A successful call increments the reference count for the object. |
ObReferenceObjectByPointer | Increments the reference count for an object so the caller can ensure that the object is not removed from the system while the caller is using it. |
ObReferenceObject | Increments the reference count for an object, given a pointer to the object. |
ObDereferenceObject | Releases a reference to an object (decrements the reference count), given a pointer to the object body. |
RtlInitString | Initializes a counted string in a buffer. |
RtlInitAnsiString | Initializes a counted ANSI string in a buffer. |
RtlInitUnicodeString | Initializes a counted Unicode string in a buffer. |
InitializeObjectAttributes | Initializes a parameter of type OBJECT_ATTRIBUTES for a subsequent call to a ZwCreateXxx or ZwOpenXxx routine. |
ZwCreateDirectoryObject | Creates or opens a directory object with a specified set of object attributes and requests one or more types of access for the caller. Returns a handle for the directory object. |
ZwCreateFile | Creates or opens a file object that represents a physical, logical, or virtual device, a directory, a data file, or a volume. Returns a handle for the file object. |
ZwCreateKey | Creates or opens a key object in the registry and returns a handle for the key object. |
ZwDeleteKey | Deletes an existing, open key in the registry after the last handle for the key is closed. |
ZwMakeTemporaryObject | Resets the "permanent" attribute of an opened object, so that the object and its name can be deleted when the reference count for the object becomes zero. |
ZwClose | Releases the handle for an opened object, causing the handle to become invalid, and decrements the reference count of the object handle. |
PsGetVersion | Supplies information about the operating system version and build number. |
ObGetObjectSecurity | Returns a buffered security descriptor for a given object. |
ObReleaseObjectSecurity | Releases the security descriptor returned by ObGetObjectSecurity. |
Initializing driver-managed queues
Used for initializing driver-managed internal queues.
Function | Description |
---|---|
KeInitializeSpinLock | Initializes a variable of type KSPIN_LOCK. An initialized spin lock is a required parameter to the ExXxxInterlockedList routines. |
InitializeListHead | Sets up a queue header for a driver's internal queue, given a pointer to driver-supplied storage for the queue header and queue. |
ExInitializeSListHead | Sets up the queue header for a sequenced, interlocked, singly linked list. |
KeInitializeDeviceQueue | Initializes a device queue object to a Not Busy state, setting up an associated spin lock for multiprocessor-safe access to device queue entries. |
IoCsqInitialize | Initializes the dispatch table for a driver's cancel-safe IRP queue. |
I/O manager routines
All kernel-mode drivers except video and SCSI miniport drivers and NDIS drivers call IoXxx routines.
References for the IoXxx routines are in alphabetical order.
For an overview of the functionality of these routines, see Summary of Kernel-Mode Support Routines.
The following routine is for system use. Do not use it in your driver.
- IoUpdateDiskGeometry
Power management routines
The Windows power management architecture provides a comprehensive approach to power management supported at the component (subdevice) level, in addition to the system level and the device level.
Kernel-mode drivers call the PoXxx routines to perform power management for the devices that they control. This section contains the reference pages for these routines. The PoXxx routines are declared in the Wdm.h header file.
For more information about power management, see Power Management for Windows Drivers.
Function | Description |
---|---|
PoCallDriver | The PoCallDriver routine passes a power IRP to the next-lower driver in the device stack. (Windows Server 2003, Windows XP, and Windows 2000 only.) |
PoClearPowerRequest | The PoClearPowerRequest routine decrements the count for the specified power request type. |
PoCreatePowerRequest | The PoCreatePowerRequest routine creates a power request object. |
PoDeletePowerRequest | The PoDeletePowerRequest routine deletes a power request object. |
PoEndDeviceBusy | The PoEndDeviceBusy routine marks the end of a period of time in which the device is busy. |
PoGetSystemWake | The PoGetSystemWake routine determines whether a specified IRP has been marked as waking the system from a sleeping state. |
PoQueryWatchdogTime | The PoQueryWatchdogTime routine indicates whether the power manager has enabled a watchdog time-out counter for any power IRP that is currently assigned to the device stack. |
PoRegisterDeviceForIdleDetection | The PoRegisterDeviceForIdleDetection routine enables or cancels idle detection and sets idle time-out values for a device. |
PoRegisterPowerSettingCallback | The PoRegisterPowerSettingCallback routine registers a power-setting callback routine to receive notifications of changes in the specified power setting. |
PoRegisterSystemState | The PoRegisterSystemState routine registers the system as busy due to certain activity. |
PoRequestPowerIrp | The PoRequestPowerIrp routine allocates a power IRP and sends it to the top driver in the device stack for the specified device. |
PoSetDeviceBusyEx | The PoSetDeviceBusyEx routine notifies the power manager that the device associated with the specified idle counter is busy. |
PoSetPowerRequest | The PoSetPowerRequest routine increments the count for the specified power request type. |
PoSetPowerState | The PoSetPowerState routine notifies the system of a change in the device power state for a device. |
PoSetSystemState | Drivers call the PoSetSystemState routine to indicate that the system is active. |
PoSetSystemWake | The PoSetSystemWake routine marks the specified IRP as one that contributed to waking the system from a sleep state. |
PoStartDeviceBusy | The PoStartDeviceBusy routine marks the start of a period of time in which the device is busy. |
PoStartNextPowerIrp | The PoStartNextPowerIrp routine signals the power manager that the driver is ready to handle the next power IRP. (Windows Server 2003, Windows XP, and Windows 2000 only.) |
PoUnregisterPowerSettingCallback | The PoUnregisterPowerSettingCallback routine unregisters a power-setting callback routine that a driver previously registered by calling the PoRegisterPowerSettingCallback routine. |
PoUnregisterSystemState | The PoUnregisterSystemState routine cancels a system state registration created by PoRegisterSystemState. |
Device power management
Starting with Windows 8, drivers can divide their device hardware into multiple logical components to enable fine-grained power management. A component has a set of power states that can be managed independently of the power states of other components in the same device. In the F0 state, the component is fully turned on. The component might support additional, low-power states F1, F2, and so on.
The power policy owner for a device is typically the device's function driver. To enable component-level power management, this driver registers the device with the power management framework (PoFx). By registering the device, the driver assumes the responsibility for informing PoFx when a component is actively being used and when the component is idle. PoFx makes intelligent idle state choices for the device based on information about the component activity, latency tolerance, expected idle durations, and wake requirements. By controlling power usage at the component level, PoFx can reduce power requirements while preserving system responsiveness. For more information, see Component-Level Power Management.
This section describes the routines that are implemented by the power management framework (PoFx) to enable device power management. These routines are called by the driver that is the power policy owner (PPO) for a device. Typically, the function driver for a device is the PPO for this device.
Function | Description |
---|---|
PoFxActivateComponent | The PoFxActivateComponent routine increments the activation reference count on the specified component. |
PoFxCompleteDevicePowerNotRequired | The PoFxCompleteDevicePowerNotRequired routine notifies the power management framework (PoFx) that the calling driver has completed its response to a call to the driver's DevicePowerNotRequiredCallback callback routine. |
PoFxCompleteIdleCondition | The PoFxCompleteIdleCondition routine informs the power management framework (PoFx) that the specified component has completed a pending change to the idle condition. |
PoFxCompleteIdleState | The PoFxCompleteIdleState routine informs the power management framework (PoFx) that the specified component has completed a pending change to an Fx state. |
PoFxIdleComponent | The PoFxIdleComponent routine decrements the activation reference count on the specified component. |
PoFxIssueComponentPerfStateChange | The PoFxIssueComponentPerfStateChange routine submits a request to place a device component in a particular performance state. |
PoFxIssueComponentPerfStateChangeMultiple | The PoFxIssueComponentPerfStateChangeMultiple routine submits a request to change the performance states in multiple performance state sets simultaneously for a device component. |
PoFxNotifySurprisePowerOn | The PoFxNotifySurprisePowerOn routine notifies the power management framework (PoFx) that a device was turned on as a side effect of supplying power to some other device. |
PoFxPowerControl | The PoFxPowerControl routine sends a power control request to the power management framework (PoFx). |
PoFxQueryCurrentComponentPerfState | The PoFxQueryCurrentComponentPerfState routine retrieves the active performance state in a component's performance state set. |
PoFxRegisterComponentPerfStates | The PoFxRegisterComponentPerfStates routine registers a device component for performance state management by the power management framework (PoFx). |
PoFxRegisterDevice | The PoFxRegisterDevice routine registers a device with the power management framework (PoFx). |
PoFxReportDevicePoweredOn | The PoFxReportDevicePoweredOn routine notifies the power management framework (PoFx) that the device completed the requested transition to the D0 (fully on) power state. |
PoFxSetComponentLatency | The PoFxSetComponentLatency routine specifies the maximum latency that can be tolerated in the transition from the idle condition to the active condition in the specified component. |
PoFxSetComponentResidency | The PoFxSetComponentResidency routine sets the estimated time for how long a component is likely to remain idle after the component enters the idle condition. |
PoFxSetComponentWake | The PoFxSetComponentWake routine indicates whether the driver arms the specified component to wake whenever the component enters the idle condition. |
PoFxSetDeviceIdleTimeout | The PoFxSetDeviceIdleTimeout routine specifies the minimum time interval from when the last component of the device enters the idle condition to when the power management framework (PoFx) calls the driver's DevicePowerNotRequiredCallback routine. |
PoFxSetTargetDripsDevicePowerState | This routine is called to notify the power manager of the device's target device power state for DRIPS. The driver can override the DRIPS constraint provided by the PEP |
PoFxStartDevicePowerManagement | The PoFxStartDevicePowerManagement routine completes the registration of a device with the power management framework (PoFx) and starts device power management. |
PoFxUnregisterDevice | The PoFxUnregisterDevice routine removes the registration of a device from the power management framework (PoFx). |
Device power management callbacks
Device power management callbacks are the callback routines that are required by the power management framework (PoFx) to enable device power management. The driver that is the power policy owner for the device implements these callback routines. PoFx calls these routines to query and configure the power states of the components in the device.
Callback | Description |
---|---|
ComponentActiveConditionCallback | The ComponentActiveConditionCallback callback routine notifies the driver that the specified component completed a transition from the idle condition to the active condition. |
ComponentIdleConditionCallback | The ComponentIdleConditionCallback callback routine notifies the driver that the specified component completed a transition from the active condition to the idle condition. |
ComponentIdleStateCallback | The ComponentIdleStateCallback callback routine notifies the driver of a pending change to the Fx power state of the specified component. |
ComponentPerfStateCallback | The ComponentPerfStateCallback callback routine notifies the driver that its request to change the performance state of a component is complete. |
DevicePowerNotRequiredCallback | The DevicePowerNotRequiredCallback callback routine notifies the device driver that the device is not required to stay in the D0 power state. |
DevicePowerRequiredCallback | The DevicePowerRequiredCallback callback routine notifies the device driver that the device must enter and remain in the D0 power state. |
PowerControlCallback | The PowerControlCallback callback routine performs a power control operation that is requested by the power management framework (PoFx). |
Platform extension plug-in (PEP) reference
Platform extension plug-ins (PEPs) provide interfaces for platform power management including device power management (DPM), processor power management (PPM), and, starting with Windows 10, ACPI runtime methods.
The types of notifications sent to platform extension plug-ins (PEPs) include:
Device power management (DPM) notifications
Processor power management (PPM) notifications
Initialization Function | Description |
---|---|
PEP_ACPI_INITIALIZE_EXTENDED_IO_RESOURCE | The PEP_ACPI_INITIALIZE_EXTENDED_IO_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure. |
PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE | The PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure. |
PEP_ACPI_INITIALIZE_GPIO_INT_RESOURCE | The PEP_ACPI_INITIALIZE_GPIO_INT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_GPIO_RESOURCE structure. |
PEP_ACPI_INITIALIZE_GPIO_IO_RESOURCE | The PEP_ACPI_INITIALIZE_GPIO_IO_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_GPIO_RESOURCE structure. |
PEP_ACPI_INITIALIZE_INTERRUPT_RESOURCE | The PEP_ACPI_INITIALIZE_INTERRUPT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_INTERRUPT_RESOURCE structure. |
PEP_ACPI_INITIALIZE_IOPORT_RESOURCE | The PEP_ACPI_INITIALIZE_IOPORT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_IO_MEMORY_RESOURCE structure. |
PEP_ACPI_INITIALIZE_MEMORY_RESOURCE | The PEP_ACPI_INITIALIZE_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_IO_MEMORY_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_I2C_RESOURCE | The PEP_ACPI_INITIALIZE_SPB_I2C_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_I2C_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_SPI_RESOURCE | The PEP_ACPI_INITIALIZE_SPB_SPI_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_SPI_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_UART_RESOURCE | The PEP_ACPI_INITIALIZE_SPB_UART_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_UART_RESOURCE structure. |
PEP callback routines
The callback routines are implemented by platform extension plug-ins, and are called by the Windows power management framework (PoFx).
Callback function | Description |
---|---|
AcceptAcpiNotification | An AcceptAcpiNotification event callback routine handles ACPI notifications from the Windows power management framework (PoFx). |
AcceptDeviceNotification | An AcceptDeviceNotification event callback routine handles device power management (DPM) notifications from the Windows power management framework (PoFx). |
AcceptProcessorNotification | An AcceptProcessorNotification event callback routine handles processor power management (PPM) notifications from the Windows power management framework (PoFx). |
PO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK | An EnumerateInterruptSource callback routine supplies a platform extension plug-in (PEP) with information about an interrupt source. |
PROCESSOR_HALT_ROUTINE | A Halt callback routine transitions the processor to an idle state. |
PowerOnDumpDeviceCallback | The PowerOnDumpDeviceCallback callback routine turns on the crash-dump device. |
Power management framework (PoFx) routines
Some miscellaneous PoFx routines and structures will most likely end up in the power-management section of the Kernel-Mode Driver Architecture doc set.
Initialization Function | Description |
---|---|
PoFxRegisterPlugin | The PoFxRegisterPlugin routine registers a platform extension plug-in (PEP) with the Windows power management framework (PoFx). |
PoFxRegisterPluginEx | The PoFxRegisterPluginEx routine registers a platform extension plug-in (PEP) with the Windows power management framework (PoFx). |
PoFxRegisterCoreDevice | The PoFxRegisterCoreDevice routine registers a new core system resource with the Windows power management framework (PoFx). |
PoFxRegisterCrashdumpDevice | The PoFxRegisterCrashdumpDevice routine registers a crash-dump device. |
PoFxPowerOnCrashdumpDevice | The PoFxPowerOnCrashdumpDevice routine requests that a crash-dump device be turned on. |
Callback function | Description |
---|---|
POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS | The EnumerateUnmaskedInterrupts routine enumerates interrupt sources whose interrupts are unmasked and enabled. |
POFXCALLBACKPLATFORMIDLEVETO | The PlatformIdleVeto routine increments or decrements the veto count for a veto code for a platform idle state. |
POFXCALLBACKPROCESSORHALT | The ProcessorHalt routine prepares the processor to be halted. |
POFXCALLBACKPROCESSORIDLEVETO | The ProcessorIdleVeto routine increments or decrements the veto count for a veto code for a processor idle state. |
POFXCALLBACKREQUESTCOMMON | The RequestCommon routine is a generic request handler. |
POFXCALLBACKREQUESTINTERRUPT | The RequestInterrupt routine requests that the operating system replay an edge-triggered interrupt that might have been lost while the hardware platform was in a low-power state. |
POFXCALLBACKREQUESTWORKER | The RequestWorker routine is called by a platform extension plug-in (PEP) to inform the Windows power management framework (PoFx) that the platform extension plug-in (PEP) has a work request to submit on behalf of the specified device. |
POFXCALLBACKCRITICALRESOURCE | The TransitionCriticalResource routine changes the active/inactive state of a core system component. |
POFXCALLBACKUPDATEPLATFORMIDLESTATE | The UpdatePlatformIdleState routine is called by the platform extension plug-in (PEP) to update the properties of the specified platform idle state. |
POFXCALLBACKUPDATEPROCESSORIDLESTATE | The UpdateProcessorIdleState routine is called by the platform extension plug-in (PEP) to update the properties of the specified processor idle state. |
ComponentCriticalTransitionCallback | The ComponentCriticalTransitionCallback callback routine handles a transition of the specified component between the F0 (fully on) and low-power Fx component power states. |
Configuration manager routines
The configuration manager routines use the CmXxx naming convention.
- CmCallbackGetKeyObjectID
- CmCallbackGetKeyObjectIDEx
- CmCallbackReleaseKeyObjectIDEx
- CmGetBoundTransaction
- CmGetCallbackVersion
- CmRegisterCallback
- CmRegisterCallbackEx
- CmSetCallbackObjectContext
- CmUnRegisterCallback
Kernel transaction manager (KTM) routines
This section describes the routines, structures, and enumerations that the Kernel Transaction Manager (KTM) provides.
Transaction manager object routines
This section includes the following topics:
- TmRecoverTransactionManager
- ZwCreateTransactionManager
- ZwOpenTransactionManager
- ZwQueryInformationTransactionManager
- ZwRecoverTransactionManager
- ZwRollforwardTransactionManager
Transaction object routines
This section includes the following topics:
- TmCommitTransaction
- TmGetTransactionId
- TmIsTransactionActive
- TmRollbackTransaction
- ZwCommitTransaction
- ZwCreateTransaction
- ZwEnumerateTransactionObject
- ZwOpenTransaction
- ZwQueryInformationTransaction
- ZwRollbackTransaction
- ZwSetInformationTransaction
Enlistment object routines
This section includes the following topics:
- TmCommitComplete
- TmCommitEnlistment
- TmCreateEnlistment
- TmDereferenceEnlistmentKey
- TmPrepareComplete
- TmPrePrepareComplete
- TmPrepareEnlistment
- TmPrePrepareEnlistment
- TmReadOnlyEnlistment
- TmRecoverEnlistment
- TmReferenceEnlistmentKey
- TmRequestOutcomeEnlistment
- TmRollbackComplete
- TmRollbackEnlistment
- TmSinglePhaseReject
- ZwCommitComplete
- ZwCommitEnlistment
- ZwCreateEnlistment
- ZwOpenEnlistment
- ZwPrepareComplete
- ZwPrePrepareComplete
- ZwPrepareEnlistment
- ZwPrePrepareEnlistment
- ZwQueryInformationEnlistment
- ZwReadOnlyEnlistment
- ZwRecoverEnlistment
- ZwRollbackComplete
- ZwRollbackEnlistment
- ZwSetInformationEnlistment
- ZwSinglePhaseReject
Resource manager object routines
This section includes the following topics:
- ResourceManagerNotification
- TmEnableCallbacks
- TmRecoverResourceManager
- ZwCreateResourceManager
- ZwGetNotificationResourceManager
- ZwOpenResourceManager
- ZwQueryInformationResourceManager
- ZwRecoverResourceManager
- ZwSetInformationResourceManager
Security reference monitor routines
Generally, higher-level drivers, particularly network drivers, call these routines.
References for the SeXxx routines are in alphabetical order.
- SeAccessCheck
- SeAssignSecurity
- SeAssignSecurityEx
- SeDeassignSecurity
- SeFreePrivileges
- SeSinglePrivilegeCheck
- SeValidSecurityDescriptor
Core kernel library support routines
All kernel-mode drivers except video and SCSI miniport drivers and NDIS drivers are likely to call at least some KeXxx routines.
This section describes references for the KeXxx routines, in alphabetical order.
For an overview of the functionality of these routines, see Summary of Kernel-Mode Support Routines.
The following routines are reserved for system use:
- KeAcquireSpinLockRaiseToSynch
- KeBreakinBreakpoint
- KeEnterKernelDebugger
- KeFlushWriteBuffer
- KeGetBugMessageText
- KeRaiseIrqlToSynchLevel
- KeRemoveByKeyDeviceQueueIfBusy
- KeSetTimeUpdateNotifyRoutine
Executive library support routines
This section describes the executive library support routines. These routines use the ExXxx naming convention and are listed in alphabetical order.
The following executive support routines are reserved for system use. Do not use them in your driver.
Routine | Replacement |
---|---|
ExAcquireSpinLock | Use KeAcquireSpinLock instead. |
ExAcquireSpinLockAtDpcLevel | Use KeAcquireSpinLockAtDpcLevel instead. |
ExfInterlockedDecrementLong | Use InterlockedDecrement instead. |
ExfInterlockedExchangeUlong | Use InterlockedExchange instead. |
ExfInterlockedIncrementLong | Use InterlockedIncrement instead. |
ExfInterlockedPopEntryList | Use ExInterlockedPopEntryList instead. |
ExfInterlockedPushEntryList | Use ExInterlockedPushEntryList instead. |
ExReleaseSpinLock | Use KeReleaseSpinLock instead. |
ExReleaseSpinLockFromDpcLevel | Use KeReleaseSpinLockFromDpcLevel instead. |
ExVerifySuite |
CLFS library routines
This section contains reference pages for routines implemented by the Common Log File System (CLFS). For a listing of the CLFS management routines, see CLFS Management Library Routines. For a conceptual discussion of CLFS, see Common Log File System in the design guide section of this documentation. For definitions of key terms used in the CLFS documentation, see CLFS Terminology.
Callback function | Description |
---|---|
ClfsAddLogContainer | The ClfsAddLogContainer routine adds a container to a CLFS log. |
ClfsAddLogContainerSet | The ClfsAddLogContainerSet routine atomically adds a set of containers to a CLFS log. |
ClfsAdvanceLogBase | The ClfsAdvanceLogBase routine sets the base LSN of a CLFS stream. |
ClfsAlignReservedLog | The ClfsAlignReservedLog routine calculates the size of the space that must be reserved for a specified set of records. The size calculation includes the space required for headers and the space required for sector alignment. |
ClfsAllocReservedLog | The ClfsAllocReservedLog routine reserves space in a marshalling area for a set of records. |
ClfsCloseAndResetLogFile | The ClfsCloseAndResetLogFile routine releases all references to a specified log file object and marks its associated stream for reset. |
ClfsCloseLogFileObject | The ClfsCloseLogFileObject routine releases all references to a log file object. |
ClfsCreateLogFile | The ClfsCreateLogFile routine creates or opens a CLFS stream. If necessary, ClfsCreateLogFile also creates the underlying physical log that holds the stream's records. |
ClfsCreateMarshallingArea | The ClfsCreateMarshallingArea routine creates a marshalling area for a CLFS stream and returns a pointer to an opaque context that represents the new marshalling area. |
ClfsCreateScanContext | The ClfsCreateScanContext routine creates a scan context that can be used to iterate over the containers of a specified CLFS log. |
ClfsDeleteLogByPointer | The ClfsDeleteLogByPointer routine marks a CLFS stream for deletion. |
ClfsDeleteLogFile | The ClfsDeleteLogFile routine marks a CLFS stream for deletion. |
ClfsDeleteMarshallingArea | The ClfsDeleteMarshallingArea routine deletes a marshalling area. |
ClfsFlushBuffers | The ClfsFlushBuffers routine forces all log I/O blocks in a specified marshalling area to stable storage. |
ClfsFlushToLsn | The ClfsFlushToLsn routine forces, to stable storage, all records that have an LSN less than or equal to a specified LSN. |
ClfsGetContainerName | The ClfsGetContainerName routine returns the path name of a specified container. |
ClfsGetIoStatistics | The ClfsGetIoStatistics routine returns I/O statistics for a specified CLFS log. |
ClfsLsnBlockOffset | The ClfsLsnBlockOffset routine returns the sector-aligned block offset contained in a specified LSN. |
ClfsLsnContainer | The ClfsLsnContainer routine returns the logical container identifier contained in a specified LSN. |
ClfsLsnCreate | The ClfsLsnCreate routine creates a log sequence number (LSN), given a container identifier, a block offset, and a record sequence number. |
ClfsLsnEqual | The ClfsLsnEqual routine determines whether two LSNs from the same stream are equal. |
ClfsLsnGreater | The ClfsLsnGreater routine determines whether one LSN is greater than another LSN. The two LSNs must be from the same stream. |
ClfsLsnLess | The ClfsLsnLess routine determines whether one LSN is less than another LSN. The two LSNs must be from the same stream. |
ClfsLsnNull | The ClfsLsnNull routine determines whether a specified LSN is equal to the smallest possible LSN, CLFS_LSN_NULL. |
ClfsLsnRecordSequence | The ClfsLsnRecordSequence routine returns the record sequence number contained in a specified LSN. |
ClfsQueryLogFileInformation | The ClfsQueryLogFileInformation routine returns metadata and state information for a specified CLFS stream or its underlying physical log or both. |
ClfsReadLogRecord | The ClfsReadLogRecord routine reads a target record in a CLFS stream and returns a read context that the caller can use to read the records preceding or following it in the stream. |
ClfsReadNextLogRecord | The ClfsReadNextLogRecord routine reads the next record in a sequence, relative to the current record in a read context. |
ClfsReadPreviousRestartArea | The ClfsReadPreviousRestartArea routine reads the previous restart record relative to the current record in a read context. |
ClfsReadRestartArea | The ClfsReadRestartArea routine reads the restart record that was most recently written to a specified CLFS stream. |
ClfsRemoveLogContainer | The ClfsRemoveLogContainer routine removes a container from a CLFS log. |
ClfsRemoveLogContainerSet | The ClfsRemoveLogContainerSet routine atomically removes a set of containers from a CLFS log. |
ClfsReserveAndAppendLog | The ClfsReserveAndAppendLog routine reserves space in a marshalling area or appends a record to a marshalling area or does both atomically. |
ClfsReserveAndAppendLogAligned | The ClfsReserveAndAppendLogAligned routine reserves space in a marshalling area or appends a record to a marshalling area or does both atomically. The record's data is aligned on specified boundaries. |
ClfsScanLogContainers | The ClfsScanLogContainers routine retrieves descriptive information for a sequence of containers that belong to a particular CLFS log. |
ClfsSetArchiveTail | The ClfsSetArchiveTail routine sets the archive tail of a CLFS log to a specified LSN. |
ClfsSetEndOfLog | The ClfsSetEndOfLog routine truncates a CLFS stream. |
ClfsSetLogFileInformation | The ClfsSetLogFileInformation routine sets metadata and state information for a specified stream and its underlying physical log. |
ClfsTerminateReadLog | The ClfsTerminateReadLog routine invalidates a specified read context after freeing resources associated with the context. |
ClfsWriteRestartArea | The ClfsWriteRestartArea routine atomically appends a new restart record to a CLFS stream, flushes the restart record to stable storage, and optionally updates the base LSN of the stream. |
IRPs
Microsoft Windows use I/O Request Packets (IRPs) to send messages to device drivers. An IRP is a data structure that contains specific information used to convey the status of an event. For more information about the IRP data structure, see IRP and IRP Major Function Codes.
Your driver can use System-Supplied Driver Interfaces to send IRPs to other drivers.
In addition to the Standard IRP Codes, there are three additional types of IRPs for specific technologies:
Plug and Play IRPs, see Plug and Play Minor IRPs
Power Management IRPs, see Power Management Minor IRPs
Windows Management Instrumentation (WMI) IRPs, see WMI Minor IRPs
This section describes kernel-mode support routines that drivers can call:
While processing IRPs.
To allocate and set up IRPs for requests from higher-level drivers to lower drivers.
To use file objects.
Processing IRPs
Function | Description |
---|---|
IoGetCurrentIrpStackLocation | Returns a pointer to the caller's I/O stack location in a given IRP. |
IoGetNextIrpStackLocation | Returns a pointer to the next-lower-level driver's I/O stack location in a given IRP. |
IoCopyCurrentIrpStackLocationToNext | Copies the IRP stack parameters from the current stack location to the stack location of the next-lower driver and allows the current driver to set an I/O completion routine. |
IoSkipCurrentIrpStackLocation | Copies the IRP stack parameters from the current stack location to the stack location of the next-lower driver and does not allow the current driver to set an I/O completion routine. |
IoGetRelatedDeviceObject | Returns a pointer to the device object represented by a given file object. |
IoGetFunctionCodeFromCtlCode | Returns the value of the function field within a given IOCTL_XXX or FSCTL_XXX code. |
IoValidateDeviceIoControlAccess | Verifies that the sender of an IRP_MJ_DEVICE_CONTROL or IRP_MJ_FILE_SYSTEM_CONTROL IRP has the access specified. |
IoSetCompletionRoutine | Registers a driver-supplied IoCompletion routine for an IRP, so the IoCompletion routine is called when the next-lower-level driver has completed the requested operation in one or more of the following ways: successfully, with an error, or by canceling the IRP. |
IoSetCompletionRoutineEx | Same as IoSetCompletionRoutine, except that it guarantees a non-Plug and Play driver is not unloaded before the IoCompletion routine exits. |
IoCallDriver | Sends an IRP to a lower-level driver. |
PoCallDriver | Sends an IRP with major function code IRP_MJ_POWER to the next-lower driver. |
IoForwardIrpSynchronously | Sends an IRP to a lower-level driver synchronously. |
IoMarkIrpPending | Marks a given IRP indicating that STATUS_PENDING was returned because further processing is required by another driver routine or by a lower-level driver. |
IoStartPacket | Calls the driver's StartIo routine with the given IRP for the given device object or inserts the IRP into the device queue if the device is already busy, specifying whether the IRP is cancelable. |
IoSetStartIoAttributes | Sets attributes for when the driver's StartIo routine will execute. |
IoAcquireCancelSpinLock | Synchronizes cancelable state transitions for IRPs in a multiprocessor-safe manner. |
IoSetCancelRoutine | Sets or clears the Cancel routine in an IRP. Setting a Cancel routine makes an IRP cancelable. |
IoReleaseCancelSpinLock | Releases the cancel spin lock when the driver has changed the cancelable state of an IRP or releases the cancel spin lock from the driver's Cancel routine. |
IoCancelIrp | Marks an IRP as canceled. |
IoReadPartitionTable | Returns a list of partitions on a disk with a given sector size. |
IoSetPartitionInformation | Sets the partition type and number for a (disk) partition. |
IoWritePartitionTable | Writes partition tables for a disk, given the device object representing the disk, the sector size, and a pointer to a buffer containing the drive geometry. |
IoAllocateErrorLogEntry | Allocates and initializes an error log packet; returns a pointer so that the caller can supply error-log data and call IoWriteErrorLogEntry with the packet. |
IoWriteErrorLogEntry | Queues a previously allocated and filled-in error log packet to the system error logging thread. |
IoIsErrorUserInduced | Returns a Boolean value indicating whether an I/O request failed due to one of the following conditions: STATUS_IO_TIMEOUT, STATUS_DEVICE_NOT_READY, STATUS_UNRECOGNIZED_MEDIA, STATUS_VERIFY_REQUIRED, STATUS_WRONG_VOLUME, STATUS_MEDIA_WRITE_PROTECTED, or STATUS_NO_MEDIA_IN_DEVICE. If the result is TRUE, a removable-media driver must call IoSetHardErrorOrVerifyDevice before completing the IRP. |
IoSetHardErrorOrVerifyDevice | Supplies the device object for which the given IRP was failed due to a user-induced error, such as supplying the incorrect media for the requested operation or changing the media before the requested operation was completed. A file system driver uses the associated device object to notify the user, who can then correct the error or retry the operation. |
IoRaiseHardError | Notifies the user that the given IRP was failed on the given device object for an optional VPB, so that the user can correct the error or retry the operation. |
IoRaiseInformationalHardError | Notifies the user of an error, providing an I/O error status and an optional string supplying more information. |
ExRaiseStatus | Raises an error status and causes a caller-supplied structured exception handler to be called. Useful only to highest-level drivers that supply exception handlers, in particular to file systems. |
IoStartNextPacket | Dequeues the next IRP for a given device object, specifies whether the IRP is cancelable, and calls the driver's StartIo routine. |
IoStartNextPacketByKey | Dequeues the next IRP for a device object according to a specified sort-key value, specifies whether the IRP is cancelable, and calls the driver's StartIo routine. |
IoCompleteRequest | Completes an I/O request, giving a priority boost to the original caller and returning a given IRP to the I/O system for disposal: either to call any IoCompletion routines supplied by higher-level drivers, or to return status to the original requester of the operation. |
IoGetCurrentProcess | Returns a pointer to the current process. Useful only to highest-level drivers. |
IoGetInitialStack | Returns the initial base address of the current thread's stack. Useful only to highest-level drivers. |
IoGetRemainingStackSize | Returns the amount of available stack space. Useful only to highest-level drivers. |
IoGetStackLimits | Returns the boundaries of the current thread's stack frame. Useful only to highest-level drivers. |
IoCsqInitialize | Initializes the dispatch table for a driver's cancel-safe IRP queue. |
IoCsqInsertIrp | Inserts an IRP into a driver's cancel-safe IRP queue. |
IoCsqRemoveIrp | Removes the specified IRP from a driver's cancel-safe IRP queue. |
IoCsqRemoveNextIrp | Removes the next IRP from a driver's cancel-safe IRP queue. |
Driver-allocated IRPs
Function | Description |
---|---|
oBuildAsynchronousFsdRequest | Allocates and sets up an IRP that specifies a major function code (IRP_MJ_PNP, IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_SHUTDOWN, or IRP_MJ_FLUSH_BUFFERS) with a pointer to: The lower driver's device object on which the I/O should occur. A buffer that will contain the data to be read or that contains the data to be written. The length of the buffer in bytes. The starting offset on the media. The I/O status block where the called driver can return status information and the caller's IoCompletion routine can access it. Returns a pointer to the IRP so the caller can set any necessary minor function code and set up its IoCompletion routine before sending the IRP to the target driver. |
IoBuildSynchronousFsdRequest | Allocates and sets up an IRP specifying a major function code (IRP_MJ_PNP, IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_SHUTDOWN, or IRP_MJ_FLUSH_BUFFERS) with a pointer to: The lower driver's device object on which the I/O should occur. A buffer that will contain the data to be read or that contains the data to be written. The length of the buffer in bytes. The starting offset on the media. An event object to be set to the Signaled state when the requested operation completes. The I/O status block where the called driver can return status information and the caller's IoCompletion routine can access it. Returns a pointer to the IRP so the caller can set any necessary minor function code and set up its IoCompletion routine before sending the IRP to the target driver. |
IoBuildDeviceIoControlRequest | Allocates and sets up an IRP specifying a major function code (either IRP_MJ_INTERNAL_DEVICE_CONTROL or IRP_MJ_DEVICE_CONTROL) with an optional input or output buffer; a pointer to the lower driver's device object; an event to be set to the Signaled state when the requested operation completes; and an I/O status block to be set by the driver that receives the IRP. Returns a pointer to the IRP so the caller can set the appropriate IOCTL_XXX before sending the IRP to the next-lower-level driver. |
PoRequestPowerIrp | Allocates and initializes an IRP with major function code IRP_MJ_POWER and then sends the IRP to the top-level driver in the device stack for the specified device object. |
IoSizeOfIrp | Returns the size in bytes required for an IRP with a given count of I/O stack locations. |
IoAllocateIrp | Allocates an IRP, given the number of I/O stack locations (optionally, for the caller, but at least one for each driver layered under the caller) and whether to charge quota against the caller. Returns a pointer to an IRP in nonpaged system space if successful; otherwise, returns NULL. |
IoInitializeIrp | Initializes an IRP, given a pointer to an already allocated IRP, its length in bytes, and its number of I/O stack locations. |
IoSetNextIrpStackLocation | Sets the current IRP stack location to the caller's location in an IRP. The stack location must have been allocated by a preceding call to IoAllocateIrp that specified a stack-size argument large enough to give the caller its own stack location. |
IoAllocateMdl | Allocates an MDL large enough to map the starting address and length supplied by the caller; optionally associates the MDL with a given IRP. |
IoBuildPartialMdl | Builds an MDL for the specified starting virtual address and length in bytes from a given source MDL. Drivers that split large transfer requests into a number of smaller transfers can call this routine. |
IoFreeMdl | Releases a given MDL allocated by the caller. |
IoMakeAssociatedIrp | Allocates and initializes an IRP to be associated with a master IRP sent to the highest-level driver, allowing the driver to "split" the original request and send associated IRPs on to lower-level drivers or to the device. |
IoSetCompletionRoutine | Registers a driver-supplied IoCompletion routine with a given IRP, so that the IoCompletion routine is called when lower-level drivers have completed the request. The IoCompletion routine lets the caller release the IRP it allocated with IoAllocateIrp or IoBuildAsynchronousFsdRequest; to release any other resources it allocated to set up an IRP for lower drivers; and to perform any I/O completion processing necessary. |
IoSetCompletionRoutineEx | Same as IoSetCompletionRoutine, except that it guarantees a non-Plug and Play driver is not unloaded before the IoCompletion routine exits. |
IoCallDriver | Sends an IRP to a lower-level driver. |
IoFreeIrp | Releases an IRP that was allocated by the caller. |
IoReuseIrp | Reinitializes for reuse an IRP that was previously allocated by IoAllocateIrp. |
File objects
Function | Description |
---|---|
InitializeObjectAttributes | Initializes a parameter of type OBJECT_ATTRIBUTES for a subsequent call to a ZwCreateXxx or ZwOpenXxx routine. |
ZwCreateFile | Creates or opens a file object representing a physical, logical, or virtual device, a directory, a data file, or a volume. |
ZwQueryInformationFile | Returns information about the state or attributes of an open file. |
IoGetFileObjectGenericMapping | Returns information about the mapping between generic access rights and specific access rights for file objects. |
ZwReadFile | Returns data from an open file. |
ZwSetInformationFile | Changes information about the state or attributes of an open file. |
ZwWriteFile | Transfers data to an open file. |
ZwClose | Releases the handle for an opened object, causing the handle to become invalid and decrementing the reference count of the object handle. |
Silo DDIs
This section describes the silo DDIs. These DDIs offer the ability for kernel components to learn about the server silos that are created and destroyed on a machine. Components register to receive notifications for these events and optionally store state that is associated with each silo.
Context management
These DDIs provide the ability to assign and retrieve context structures on silo objects. This allows drivers to attach per-silo information for each silo.
- PsAllocSiloContextSlot
- PsFreeSiloContextSlot
- PsCreateSiloContext
- PsInsertSiloContext
- PsReplaceSiloContext
- PsInsertPermanentSiloContext
- PsGetPermanentSiloContext
- PsMakeSiloContextPermanent
- PsGetSiloContext
- PsRemoveSiloContext
- PsReferenceSiloContext
- PsDereferenceSiloContext
- SILO_CONTEXT_CLEANUP_CALLBACK
Threading
These DDIs provide the ability to set and retrieve the silo for the current thread.
- PsAttachSiloToCurrentThread
- PsDetachSiloFromCurrentThread
- PsGetCurrentSilo
- PsGetCurrentServerSilo
Monitoring
These DDIs provide the ability for a driver to receive notifications about silo creation and termination events.
- PsRegisterSiloMonitor
- PsUnregisterSiloMonitor
- PsStartSiloMonitor
- PsGetSiloMonitorContextSlot
- SILO_MONITOR_CREATE_CALLBACK
- SILO_MONITOR_TERMINATE_CALLBACK
Helpers
These DDIs are helpful for working with silo objects.
- PsGetJobSilo
- PsGetJobServerSilo
- PsGetEffectiveServerSilo
- PsIsHostSilo
- PsGetHostSilo
- PsTerminateServerSilo
Synchronization
This section describes the kernel-mode support routines that drivers can call to:
Synchronize the execution of their own standard driver routines (Driver Routines and I/O Objects).
Temporarily change the current IRQL for a call to a support routine or that return the current IRQL (IRQL).
Synchronize access to resources with spin locks or to perform interlocked operations without spin locks (Spin Locks and Interlocks).
Manage time-outs or determine system time (Timers).
Use system threads or to manage synchronization within a nonarbitrary thread context (Driver Threads, Dispatcher Objects, and Resources).
Driver routines and I/O objects
Function | Description |
---|---|
KeSynchronizeExecution | Synchronizes the execution of a driver-supplied SynchCritSection routine with that of the ISR associated with a set of interrupt objects, given a pointer to the interrupt objects. |
IoRequestDpc | Queues a driver-supplied DpcForIsr routine to complete interrupt-driven I/O processing at a lower IRQL. |
KeInsertQueueDpc | Queues a DPC to be executed as soon as the IRQL of a processor drops below DISPATCH_LEVEL; returns FALSE if the DPC object is already queued. |
KeRemoveQueueDpc | Removes a given DPC object from the DPC queue; returns FALSE if the object is not in the queue. |
KeSetImportanceDpc | Controls how a particular DPC is queued and, to some degree, how soon the DPC routine is run. |
KeSetTargetProcessorDpc | Controls on which processor a particular DPC subsequently will be queued. |
KeFlushQueuedDpcs | Call this routine to wait for all queued DPCs to execute. |
AllocateAdapterChannel | Connects a device object to an adapter object and calls a driver-supplied AdapterControl routine to carry out an I/O operation through the system DMA controller or a bus-master adapter as soon as the appropriate DMA channel and any necessary map registers are available. (This routine reserves exclusive access to a DMA channel and map registers for the specified device.) |
FreeAdapterChannel | Releases an adapter object, representing a system DMA channel, and optionally releases map registers, if any were allocated. |
FreeMapRegisters | Releases a set of map registers that were saved from a call to AllocateAdapterChannel, after the registers have been used by IoMapTransfer and the bus-master DMA transfer is complete. |
IoAllocateController | Connects a device object to a controller object and calls a driver-supplied ControllerControl routine to carry out an I/O operation on the device controller as soon as the controller is not busy. (This routine reserves exclusive access to the hardware controller for the specified device.) |
IoFreeController | Releases a controller object, provided that all device operations queued to the controller for the current IRP have completed. |
IoStartTimer | Enables the timer for a given device object and calls the driver-supplied IoTimer routine once per second thereafter. |
IoStopTimer | Disables the timer for a given device object so that the driver-supplied IoTimer routine is not called unless the driver reenables the timer. |
KeSetTimer | Sets the absolute or relative interval at which a timer object will be set to the Signaled state and optionally supplies a timer DPC to be executed after the interval expires. |
KeSetTimerEx | Sets the absolute or relative interval at which a timer object will be set to the Signaled state, optionally supplies a timer DPC to be executed when the interval expires, and optionally supplies a recurring interval for the timer. |
KeCancelTimer | Cancels a timer object before the interval passed to KeSetTimer expires; dequeues a timer DPC before the timer interval, if any was set, expires. |
KeReadStateTimer | Returns whether a given timer object is set to the Signaled state. |
IoStartPacket | Calls the driver's StartIo routine with the given IRP for the given device object or inserts the IRP into the device queue if the device is already busy, specifying whether the IRP is cancelable. |
IoStartNextPacket | Dequeues the next IRP for a given device object, specifying whether the IRP is cancelable, and calls the driver's StartIo routine. |
IoStartNextPacketByKey | Dequeues the next IRP, according to the specified sort-key value, for a given device object. Specifies whether the IRP is cancelable and calls the driver's StartIo routine. |
IoSetCompletionRoutine | Registers a driver-supplied IoCompletion routine with a given IRP, so the IoCompletion routine is called when the next-lower-level driver has completed the requested operation in one or more of the following ways: successfully, with an error, or by canceling the IRP. |
IoSetCompletionRoutineEx | Same as IoSetCompletionRoutine, except that it guarantees a non-Plug and Play driver is not unloaded before the IoCompletion routine exits. |
IoSetCancelRoutine | Sets or clears the Cancel routine in an IRP. Setting a Cancel routine makes an IRP cancelable. |
KeStallExecutionProcessor | Stalls the caller (a device driver) for a given interval on the current processor. |
ExAcquireResourceExclusiveLite | Acquires an initialized resource for exclusive access by the calling thread and optionally waits for the resource to be acquired. |
ExAcquireResourceSharedLite | Acquires an initialized resource for shared access by the calling thread and optionally waits for the resource to be acquired. |
ExAcquireSharedStarveExclusive | Acquires a given resource for shared access without waiting for any pending attempts to acquire exclusive access to the same resource. |
ExAcquireSharedWaitForExclusive | Acquires a given resource for shared access, optionally waiting for any pending exclusive waiters to acquire and release the resource first. |
ExReleaseResourceForThreadLite | Releases a given resource that was acquired by the given thread. |
ZwReadFile | Reads data from an open file. If the caller opened the file object with certain parameters, the caller can wait for the file handle to be returned for completion of the I/O. |
ZwWriteFile | Writes data to an open file. If the caller opened the file object with certain parameters, the caller can wait for the file handle to be returned for completion of the I/O. |
IRQL
Function | Description |
---|---|
KeRaiseIrql | Raises the hardware priority to a given IRQL value, thereby masking off interrupts of equivalent or lower IRQL on the current processor. |
KeRaiseIrqlToDpcLevel | Raises the hardware priority to IRQL DISPATCH_LEVEL, thereby masking off interrupts of equivalent or lower IRQL on the current processor. |
KeLowerIrql | Restores the IRQL on the current processor to its original value. |
KeGetCurrentIrql | Returns the current hardware priority IRQL value. |
Spin locks and interlocks
Function | Description |
---|---|
IoAcquireCancelSpinLock | Synchronizes cancelable state transitions for IRPs in a multiprocessor-safe manner. |
IoSetCancelRoutine | Sets or clears the Cancel routine in an IRP during a cancelable state transition. Setting a Cancel routine makes an IRP cancelable. |
IoReleaseCancelSpinLock | Releases the cancel spin lock when the driver has changed the cancelable state of an IRP or releases the cancel spin lock from the driver's Cancel routine. |
KeInitializeSpinLock | Initializes a variable of type KSPIN_LOCK, used to synchronize access to data shared among non-ISR routines. An initialized spin lock also is a required parameter to the ExInterlockedXxx routines. |
KeAcquireSpinLock | Acquires a spin lock so the caller can synchronize access to shared data safely on multiprocessor platforms. |
KeAcquireSpinLockRaiseToDpc | Acquires a spin lock so the caller can synchronize access to shared data safely on multiprocessor platforms. |
KeReleaseSpinLock | Releases a spin lock that was acquired by calling KeAcquireSpinLock and restores the original IRQL at which the caller was running. |
KeAcquireSpinLockAtDpcLevel | Acquires a spin lock, provided that the caller is already running at IRQL DISPATCH_LEVEL. |
KeTryToAcquireSpinLockAtDpcLevel | Acquires a spin lock that is not already held, provided that the caller is already running at IRQL DISPATCH_LEVEL. |
KeReleaseSpinLockFromDpcLevel | Releases a spin lock that was acquired by calling KeAcquireSpinLockAtDpcLevel. |
KeAcquireInStackQueuedSpinLock | Acquires a queued spin lock so the caller can synchronize access to shared data safely on multiprocessor platforms. |
KeReleaseInStackQueuedSpinLock | Releases a queued spin lock that was acquired by calling KeAcquireInStackQueuedSpinLock. |
KeAcquireInStackQueuedSpinLockAtDpcLevel | Acquires a queued spin lock, provided that the caller is already running at IRQL DISPATCH_LEVEL. |
KeReleaseInStackQueuedSpinLockFromDpcLevel | Releases a queued spin lock that was acquired by calling KeAcquireInStackQueuedSpinLockAtDpcLevel. |
KeAcquireInterruptSpinLock | Acquires the spin lock that synchronizes access with an interrupt's ISR. |
KeReleaseInterruptSpinLock | Release the spin lock that synchronized access with an interrupt's ISR. |
ExInterlockedXxxList | Insert and remove IRPs in a driver-managed internal queue, which is protected by an initialized spin lock for which the driver provides the storage. |
KeXxxDeviceQueue | Insert and remove IRPs in a driver-allocated and managed internal device queue object, which is protected by a built-in spin lock. |
ExInterlockedAddUlong | Adds a value to a variable of type ULONG as an atomic operation, using a spin lock to ensure multiprocessor-safe access to the variable; returns the value of the variable before the call occurred. |
ExInterlockedAddLargeInteger | Adds a value to a variable of type LARGE_INTEGER as an atomic operation, using a spin lock to ensure multiprocessor-safe access to the variable; returns the value of the variable before the call occurred. |
InterlockedIncrement | Increments a variable of type LONG as an atomic operation. The sign of the return value is the sign of the result of the operation. |
InterlockedDecrement | Decrements a variable of type LONG as an atomic operation. The sign of the return value is the sign of the result of the operation. |
InterlockedExchange | Sets a variable of type LONG to a specified value as an atomic operation; returns the value of the variable before the call occurred. |
InterlockedExchangeAdd | Adds a value to a given integer variable as an atomic operation; returns the value of the variable before the call occurred. |
InterlockedCompareExchange | Compares the values referenced by two pointers. If the values are equal, resets one of the values to a caller-supplied value in an atomic operation. |
InterlockedCompareExchangePointer | Compares the pointers referenced by two pointers. If the pointer values are equal, resets one of the values to a caller-supplied value in an atomic operation. |
ExInterlockedCompareExchange64 | Compares one integer variable to another and, if they are equal, resets the first variable to a caller-supplied ULONGLONG-type value as an atomic operation. |
KeGetCurrentProcessorNumber | Returns the current processor number when debugging spin lock usage in SMP machines. |
Timers
Function | Description |
---|---|
oInitializeTimer | Associates a timer with the given device object and registers a driver-supplied IoTimer routine for the device object. |
IoStartTimer | Enables the timer for a given device object and calls the driver-supplied IoTimer routine once every second. |
IoStopTimer | Disables the timer for a given device object so the driver-supplied IoTimer routine is not called unless the driver reenables the timer. |
KeInitializeDpc | Initializes a DPC object and sets up a driver-supplied CustomTimerDpc routine that can be called with a given context. |
KeInitializeTimer | Initializes a notification timer object to the Not-Signaled state. |
KeInitializeTimerEx | Initializes a notification or synchronization timer object to the Not-Signaled state. |
KeSetTimer | Sets the absolute or relative interval at which a timer object will be set to the Signaled state; optionally supplies a timer DPC to be executed when the interval expires. |
KeSetTimerEx | Sets the absolute or relative interval at which a timer object will be set to the Signaled state; optionally supplies a timer DPC to be executed when the interval expires; and optionally supplies a recurring interval for the timer. |
KeCancelTimer | Cancels a timer object before the interval passed to KeSetTimer expires; dequeues a timer DPC before the timer interval, if any was set, expires. |
KeReadStateTimer | Returns TRUE if a given timer object is set to the Signaled state. |
KeQuerySystemTime | Returns the current system time. |
KeQueryRuntimeThread | Returns the accumulated kernel-mode and user-mode run time. |
KeQueryTickCount | Returns the number of interval-timer interrupts that have occurred since the system was booted. |
KeQueryTimeIncrement | Returns the number of 100-nanosecond units that are added to the system time at each interval-timer interrupt. |
KeQueryInterruptTime | Returns the current value of the system interrupt-time count in 100-nanosecond units, with accuracy to within system clock tick. |
KeQueryInterruptTimePrecise | Returns the current value of the system interrupt-time count in 100-nanosecond units, with accuracy to within a microsecond. |
KeQueryPerformanceCounter | Returns the system performance counter value in hertz. |
Driver threads, dispatcher objects, and resources
Function | Description |
---|---|
KeDelayExecutionThread | Puts the current thread into an alertable or nonalertable wait state for a given interval. |
ExInitializeResourceLite | Initializes a resource, for which the caller provides the storage, to be used for synchronization by a set of threads (shared readers, exclusive writers). |
ExReinitializeResourceLite | Reinitializes an existing resource variable. |
ExAcquireResourceExclusiveLite | Acquires an initialized resource for exclusive access by the calling thread and optionally waits for the resource to be acquired. |
ExAcquireResourceSharedLite | Acquires an initialized resource for shared access by the calling thread and optionally waits for the resource to be acquired. |
ExAcquireSharedStarveExclusive | Acquires a given resource for shared access without waiting for any pending attempts to acquire exclusive access to the same resource. |
ExAcquireSharedWaitForExclusive | Acquires a given resource for shared access, optionally waiting for any pending exclusive waiters to acquire and release the resource first. |
ExIsResourceAcquiredExclusiveLite | Returns whether the calling thread has exclusive access to a given resource. |
ExIsResourceAcquiredSharedLite | Returns how many times the calling thread has acquired shared access to a given resource. |
ExGetExclusiveWaiterCount | Returns the number of threads currently waiting to acquire a given resource for exclusive access. |
ExGetSharedWaiterCount | Returns the number of threads currently waiting to acquire a given resource for shared access. |
ExConvertExclusiveToSharedLite | Converts a given resource from acquired for exclusive access to acquired for shared access. |
ExGetCurrentResourceThread | Returns the thread ID of the current thread. |
ExReleaseResourceForThreadLite | Releases a given resource that was acquired by the given thread. |
ExDeleteResourceLite | Deletes a caller-initialized resource from the system's resource list. |
IoQueueWorkItem | Queues an initialized work queue item so the driver-supplied routine will be called when a system worker thread is given control. |
KeSetTimer | Sets the absolute or relative interval at which a timer object will be set to the Signaled state, and optionally supplies a timer DPC to be executed when the interval expires. |
KeSetTimerEx | Sets the absolute or relative interval at which a timer object will be set to the Signaled state. Optionally supplies a timer DPC to be executed when the interval expires and a recurring interval for the timer. |
KeCancelTimer | Cancels a timer object before the interval passed to KeSetTimer expires. Dequeues a timer DPC before the timer interval (if any) expires. |
KeReadStateTimer | Returns TRUE if a given timer object is set to the Signaled state. |
KeSetEvent | Returns the previous state of a given event object and sets the event (if not already Signaled) to the Signaled state. |
KeClearEvent | Resets an event to the Not-Signaled state. |
KeResetEvent | Returns the previous state of an event object and resets the event to the Not-Signaled state. |
KeReadStateEvent | Returns the current state (nonzero for Signaled or zero for Not-Signaled) of a given event object. |
ExAcquireFastMutex | Acquires an initialized fast mutex, possibly after putting the caller into a wait state until it is acquired, and gives the calling thread ownership with APCs disabled. |
ExTryToAcquireFastMutex | Acquires the given fast mutex immediately for the caller with APCs disabled, or returns FALSE. |
ExReleaseFastMutex | Releases ownership of a fast mutex that was acquired with ExAcquireFastMutex or ExTryToAcquireFastMutex. |
ExAcquireFastMutexUnsafe | Acquires an initialized fast mutex, possibly after putting the caller into a wait state until it is acquired. |
ExReleaseFastMutexUnsafe | Releases ownership of a fast mutex that was acquired with ExAcquireFastMutexUnsafe. |
KeReleaseMutex | Releases a given mutex object, specifying whether the caller will call one of the KeWaitXxx routines as soon as KeReleaseMutex returns the previous value of the mutex state (a zero for Signaled; otherwise, Not-Signaled). |
KeReadStateMutex | Returns the current state (one for Signaled or any other value for Not-Signaled) of a given mutex object. |
KeReleaseSemaphore | Releases a given semaphore object. Supplies a (run-time) priority boost for waiting threads if the release sets the semaphore to the Signaled state. Augments the semaphore count by a given value and specifies whether the caller will call one of the KeWaitXxx routines as soon as KeReleaseSemaphore returns. |
KeReadStateSemaphore | Returns the current state (zero for Not-Signaled or a positive value for Signaled) of a given semaphore object. |
KeWaitForSingleObject | Puts the current thread into an alertable or nonalertable wait state until a given dispatcher object is set to the Signaled state or (optionally) until the wait times out. |
KeWaitForMutexObject | Puts the current thread into an alertable or nonalertable wait state until a given mutex is set to the Signaled state or (optionally) until the wait times out. |
KeWaitForMultipleObjects | Puts the current thread into an alertable or nonalertable wait state until any one or all of a number of dispatcher objects are set to the Signaled state or (optionally) until the wait times out. |
PsGetCurrentThread | Returns a pointer to the current thread. |
KeGetCurrentThread | Returns a pointer to the opaque thread object that represents the current thread. |
IoGetCurrentProcess | Returns a pointer to the process of the current thread. |
PsGetCurrentProcess | Returns a pointer to the process of the current thread. |
KeEnterCriticalRegion | Temporarily disables the delivery of normal kernel APCs while a highest-level driver is running in the context of the user-mode thread that requested the current I/O operation. Special kernel-mode APCs are still delivered. |
KeLeaveCriticalRegion | Reenables, as soon as possible, the delivery of normal kernel-mode APCs that were disabled by a preceding call to KeEnterCriticalRegion. |
KeAreApcsDisabled | Returns TRUE if normal kernel-mode APCs are disabled. |
KeSaveFloatingPointState | Saves the current thread's nonvolatile floating-point context so that the caller can carry out its own floating-point operations. |
KeRestoreFloatingPointState | Restores the previous nonvolatile floating-point context that was saved with KeSaveFloatingPointState. |
ZwSetInformationThread | Sets the priority of a given thread for which the caller has a handle. |
PsGetCurrentProcessId | Returns the system-assigned identifier of the current process. |
PsGetCurrentThreadId | Returns the system-assigned identifier of the current thread. |
PsSetCreateProcessNotifyRoutine | Registers a highest level driver's callback routine that is subsequently executed whenever a new process is created or existing process deleted. |
PsSetCreateThreadNotifyRoutine | Registers a highest level driver's callback routine that is subsequently executed whenever a new thread is created or an existing thread is deleted. |
PsSetLoadImageNotifyRoutine | Registers a callback routine for a highest level system-profiling driver. The callback routine is subsequently executed whenever a new image is loaded for execution. |
Memory allocation and buffer management
This section describes the Windows kernel routines and macros that kernel-mode drivers call to allocate memory and manage I/O buffers.
The Windows memory manager provides a set of routines that kernel-mode drivers use to allocate and manage memory. These routines have names that begin with the prefix Mm.
This section contains reference pages for the MmXxx routines and memory-management macros. These reference pages are listed in alphabetical order.
For an overview of the functionality of these routines and macros, see Memory Allocation and Buffer Management. For an introduction to memory management support for kernel-mode drivers, see Memory Management for Windows Drivers.
The following routines are reserved for system use. Do not use them in your driver.
- MmAddPhysicalMemoryEx
- MmAddVerifierThunks
- MmCreateMirror
- MmGetMdlBaseVa
- MmGetPhysicalMemoryRanges
- MmGetProcedureAddress
- MmGetVirtualForPhysical
- MmIsVerifierEnabled
- MmIsIoSpaceActive
- MmMapUserAddressesToPage
- MmMapVideoDisplay
- MmMapVideoDisplayEx
- MmMapViewInSessionSpace
- MmMapViewInSystemSpace
- MmMarkPhysicalMemoryAsBad
- MmMarkPhysicalMemoryAsGood
- MmProbeAndLockProcessPages
- MmRemovePhysicalMemory
- MmRemovePhysicalMemoryEx
- MmRotatePhysicalView
- MmUnmapVideoDisplay
- MmUnmapViewInSessionSpace
- MmUnmapViewInSystemSpace
For more information about memory allocation and buffer management, see Memory Management for Windows Drivers.
Buffer management
The short-term buffer management routines are called by kernel-mode drivers to allocate and free temporary buffers.
Function | Description |
---|---|
ExAllocatePoolWithTag | Allocates (optionally cache-aligned) pool memory from paged or nonpaged system space. The caller-supplied tag is put into any crash dump of memory that occurs. |
ExAllocatePoolWithQuotaTag | Allocates pool memory, charging quota against the original requester of the I/O operation. The caller-supplied tag is put into any crash dump of memory that occurs. Only highest-level drivers can call this routine. |
ExFreePool | Releases memory to paged or nonpaged system space. |
ExFreePoolWithTag | Releases memory with the specified pool tag. |
ExInitializeNPagedLookasideList | Initializes a lookaside list of nonpaged memory. After successful initialization of the list, fixed-size blocks can be allocated from, and freed to, the lookaside list. |
ExAllocateFromNPagedLookasideList | Removes the first entry from the specified lookaside list in nonpaged memory. If the lookaside list is empty, allocates an entry from nonpaged pool. |
ExFreeToNPagedLookasideList | Returns an entry to the specified lookaside list in nonpaged memory. If the list has reached its maximum size, returns the entry to nonpaged pool. |
ExDeleteNPagedLookasideList | Deletes a nonpaged lookaside list. |
ExInitializePagedLookasideList | Initializes a lookaside list of paged memory. After successful initialization of the list, fixed-size blocks can be allocated from and freed to the lookaside list. |
ExAllocateFromPagedLookasideList | Removes the first entry from the specified lookaside list in paged memory. If the lookaside list is empty, allocates an entry from paged pool. |
ExFreeToPagedLookasideList | Returns an entry to the specified lookaside list in paged memory. If the list has reached its maximum size, returns the entry to paged pool. |
ExDeletePagedLookasideList | Deletes a paged lookaside list. |
MmQuerySystemSize | Returns an estimate (small, medium, or large) of the amount of memory available on the current platform. |
MmIsThisAnNtAsSystem | Returns TRUE if the machine is running as a server. If this routine returns TRUE, the caller is likely to require more resources to process I/O requests, and the machine is a server so it is likely to have more resources available. |
Long-term internal driver buffers
The long-term buffer management routines are called by kernel-mode drivers to allocate long-term driver-internal buffers.
Function | Description |
---|---|
MmAllocateContiguousMemory | Allocates a range of physically contiguous, cache-aligned memory in nonpaged pool. |
MmFreeContiguousMemory | Releases a range of physically contiguous memory when the driver unloads. |
MmAllocateNonCachedMemory | Allocates a virtual address range of non-cached and cache-aligned memory in nonpaged system space (pool). |
MmFreeNonCachedMemory | Releases a virtual address range of non-cached memory in nonpaged system space when the driver unloads. |
MmAllocateMappingAddress | Reserves a range of virtual address space that can later be mapped with MmMapLockedPagesWithReservedMapping. |
MmFreeMappingAddress | Frees a reserved memory address reserved by MmAllocateMappingAddress. |
AllocateCommonBuffer | Allocates and maps a logically contiguous region of memory that is simultaneously accessible both from the processor and from a device, given access to an adapter object, the requested length of the memory region to allocate, and access to variables where the starting logical and virtual addresses of the allocated region are returned. Returns TRUE if the requested length was allocated. Can be used for continuous bus-master DMA or for system DMA using the auto-initialize mode of a system DMA controller. |
FreeCommonBuffer | Releases an allocated common buffer and unmaps it, given access to the adapter object, the length, and the starting logical and virtual addresses of the region to be freed when the driver unloads. Arguments must match those passed in the call to AllocateCommonBuffer. |
Buffered data and buffer initialization
The buffered-data and buffer-initialization routines are called by kernel-mode drivers to manage buffered data or initialize driver-allocated buffers.
Function | Description |
---|---|
RtlCompareMemory | Compares data, given pointers to caller-supplied buffers and the length in bytes for the comparison. Returns the number of bytes that are equal. |
RtlCopyMemory | Copies the data from one caller-supplied buffer to another, given pointers to both buffers and the length in bytes to be copied. |
RtlMoveMemory | Copies the data from one caller-supplied memory range to another, given pointers to the base of both ranges and the length in bytes to be copied. |
RtlFillMemory | Fills a caller-supplied buffer with the specified UCHAR value, given a pointer to the buffer and the length in bytes to be filled. |
RtlZeroMemory | Fills a buffer with zeros, given a pointer to the caller-supplied buffer and the length in bytes to be filled. |
RtlStoreUshort | Stores a USHORT value at a given address, avoiding alignment faults. |
RtlRetrieveUshort | Retrieves a USHORT value at a given address, avoiding alignment faults, and stores the value at a given address that is assumed to be aligned. |
RtlStoreUlong | Stores a ULONG value at a given address, avoiding alignment faults. |
RtlRetrieveUlong | Retrieves a ULONG value at a given address, avoiding alignment faults, and stores the value at a given address that is assumed to be aligned. |
Address mappings and MDLs
The address-mapping and MDL-management routines are called by kernel-mode drivers to manage address mappings and memory descriptor lists (MDLs).
Function | Description |
---|---|
IoAllocateMdl | Allocates an MDL large enough to map the starting address and length supplied by the caller; optionally associates the MDL with a given IRP. |
IoBuildPartialMdl | Builds an MDL for the specified starting virtual address and length in bytes from a given source MDL. Drivers that split large transfer requests into a number of smaller transfers can call this routine. |
IoFreeMdl | Releases a given MDL allocated by the caller. |
MmAllocatePagesForMdlEx | Allocates nonpaged, physical memory pages for an MDL. |
MmBuildMdlForNonPagedPool | Fills in the corresponding physical addresses of a given MDL that specifies a range of virtual addresses in nonpaged pool. |
MmCreateMdl | Obsolete. Allocates and initializes an MDL describing a buffer specified by the given virtual address and length in bytes; returns a pointer to the MDL. |
MmGetMdlByteCount | Returns the length in bytes of the buffer mapped by a given MDL. |
MmGetMdlByteOffset | Returns the byte offset within a page of the buffer described by a given MDL. |
MmGetMdlVirtualAddress | Returns a (possibly invalid) virtual address for a buffer described by a given MDL; the returned address, used as an index to a physical address entry in the MDL, can be input to MapTransfer for drivers that use DMA. |
MmGetPhysicalAddress | Returns the corresponding physical address for a given valid virtual address. |
MmGetSystemAddressForMdlSafe | Returns a system-space virtual address that maps the physical pages described by a given MDL for drivers whose devices must use programmed I/O (PIO). If no virtual address exists, one is assigned. |
MmInitializeMdl | Initializes a caller-created MDL to describe a buffer specified by the given virtual address and length in bytes. |
MmIsAddressValid | Returns whether a page fault will occur if a read or write operation is done at the given virtual address. |
MmMapIoSpace | Maps a physical address range to a cached or non-cached virtual address range in nonpaged system space. |
MmMapLockedPages | Obsolete. Maps already locked physical pages, described by a given MDL, to a returned virtual address range. |
MmMapLockedPagesWithReservedMapping | Maps a virtual address range already reserved with MmAllocateMappingAddress. |
MmPrepareMdlForReuse | Reinitializes a caller-created MDL for reuse. |
MmProbeAndLockPages | Probes the pages specified in an MDL for a particular kind of access, makes the pages resident, and locks them in memory; returns the MDL updated with corresponding physical addresses. (Usually, only highest-level drivers call this routine.) |
MmProtectMdlSystemAddress | Sets the protection type for the memory-address range. |
MmSecureVirtualMemory | Secures a memory-address range so that it cannot be freed and its page protection cannot be made more restrictive. |
MmSizeOfMdl | Returns the number of bytes required for an MDL describing the buffer specified by the given virtual address and length in bytes. |
MmUnlockPages | Unlocks the previously probed and locked pages specified in an MDL. |
MmUnmapIoSpace | Unmaps a virtual address range from a physical address range. |
MmUnmapLockedPages | Releases a mapping set up by MmMapLockedPages. |
MmUnmapReservedMapping | Unmaps a virtual address range mapped by MmMapLockedPagesWithReservedMapping. |
MmUnsecureVirtualMemory | Unsecures a memory-address range secured by MmSecureVirtualMemory. |
Buffer and MDL management
The buffer and MDL management macros are called by kernel-mode drivers to manage buffers and memory descriptor lists (MDLs).
For more information about MDLs, see Using MDLs.
Function | Description |
---|---|
ADDRESS_AND_SIZE_TO_SPAN_PAGES | Returns the number of pages required to contain a given virtual address and size in bytes. |
BYTE_OFFSET | Returns the byte offset of a given virtual address within the page. |
BYTES_TO_PAGES | Returns the number of pages necessary to contain a given number of bytes. |
PAGE_ALIGN | Returns the page-aligned virtual address for the page that contains a given virtual address. |
ROUND_TO_PAGES | Rounds a given size in bytes up to a page-size multiple. |
Device memory access
The device-memory-access macros are called by kernel-mode drivers to access the memory-mapped hardware registers and I/O ports of their respective devices.
For the following macros, XXX_REGISTER_XXX indicates device memory that is mapped onto system memory address space, while XXX_PORT_XXX indicates device memory in I/O port address space.
Function | Description |
---|---|
EAD_PORT_UCHAR | Reads a UCHAR value from the given I/O port address. |
READ_PORT_USHORT | Reads a USHORT value from the given I/O port address. |
READ_PORT_ULONG | Reads a ULONG value from the given I/O port address. |
READ_PORT_BUFFER_UCHAR | Reads a given count of UCHAR values from the given I/O port into a given buffer. |
READ_PORT_BUFFER_USHORT | Reads a given count of USHORT values from the given I/O port into a given buffer. |
READ_PORT_BUFFER_ULONG | Reads a given count of ULONG values from the given I/O port into a given buffer. |
WRITE_PORT_UCHAR | Writes a given UCHAR value to the given I/O port address. |
WRITE_PORT_USHORT | Writes a given USHORT value to the given I/O port address. |
WRITE_PORT_ULONG | Writes a given ULONG value to the given I/O port address. |
WRITE_PORT_BUFFER_UCHAR | Writes a given count of UCHAR values from a given buffer to the given I/O port. |
WRITE_PORT_BUFFER_USHORT | Writes a given count of USHORT values from a given buffer to the given I/O port. |
WRITE_PORT_BUFFER_ULONG | Writes a given count of ULONG values from a given buffer to the given I/O port. |
READ_REGISTER_UCHAR | Reads a UCHAR value from the given register address in memory space. |
READ_REGISTER_USHORT | Reads a USHORT value from the given register address in memory space. |
READ_REGISTER_ULONG | Reads a ULONG value from the given register address in memory space. |
READ_REGISTER_BUFFER_UCHAR | Reads a given count of UCHAR values from the given register address into the given buffer. |
READ_REGISTER_BUFFER_USHORT | Reads a given count of USHORT values from the given register address into the given buffer. |
READ_REGISTER_BUFFER_ULONG | Reads a given count of ULONG values from the given register address into the given buffer. |
WRITE_REGISTER_UCHAR | Writes a given UCHAR value to the given register address in memory space. |
WRITE_REGISTER_USHORT | Writes a given USHORT value to the given register address in memory space. |
WRITE_REGISTER_ULONG | Writes a given ULONG value to the given register address in memory space. |
WRITE_REGISTER_BUFFER_UCHAR | Writes a given count of UCHAR values from a given buffer to the given register address. |
WRITE_REGISTER_BUFFER_USHORT | Writes a given count of USHORT values from a given buffer to the given register address. |
WRITE_REGISTER_BUFFER_ULONG | Writes a given count of ULONG values from a given buffer to the given register address. |
Pageable drivers
The pageable-driver routines are called by kernel-mode drivers to lock and unlock a driver's pageable code or data sections, or make an entire driver pageable.
Function | Description |
---|---|
MmLockPagableCodeSection | Locks a set of driver routines marked with a special compiler directive into system space. |
MmLockPagableDataSection | Locks data marked with a special compiler directive into system space, when that data is accessed infrequently, predictably, and at an IRQL of less than DISPATCH_LEVEL. |
MmLockPagableSectionByHandle | Locks a pageable section into system memory using a handle returned from MmLockPagableCodeSection or MmLockPagableDataSection. |
MmUnlockPagableImageSection | Releases a section that was previously locked into system space when the driver is no longer processing IRPs, or when the contents of the section are no longer required. |
MmPageEntireDriver | Lets a driver page all of its code and data regardless of the attributes of the various sections in the driver's image. |
MmResetDriverPaging | Resets a driver's pageable status to that specified by the sections making up the driver's image. |
Sections and views
The section- and view-management routines are called by kernel-mode drivers to set up mapped sections and views of memory.
Function | Description |
---|---|
InitializeObjectAttributes | Sets up a parameter of type OBJECT_ATTRIBUTES for a subsequent call to a ZwCreateXxx or ZwOpenXxx routine. |
ZwOpenSection | Obtains a handle for an existing section, provided that the requested access can be allowed. |
ZwMapViewOfSection | Maps a view of an open section into the virtual address space of a process. Returns an offset into the section (base of the mapped view) and the size mapped. |
ZwUnmapViewOfSection | Releases a mapped view in the virtual address space of a process. |
Physical memory
The physical memory routines are called by kernel-mode drivers to manage regions of physical memory.
Function | Description |
---|---|
MmAddPhysicalMemory | Adds the specified physical address range to the system. |
Access to structures
The structure-access macros are called by kernel-mode drivers to access parts of structures.
Function | Description |
---|---|
ARGUMENT_PRESENT | Returns FALSE if an argument pointer is NULL; otherwise returns TRUE. |
CONTAINING_RECORD | Returns the base address of an instance of a structure given the structure type and the address of a field within it. |
FIELD_OFFSET | Returns the byte offset of a named field in a known structure type. |
Plug and Play routines
These routines are used by drivers to implement Plug and Play (PnP) support. For background and task-oriented information about supporting PnP in drivers, see Plug and Play.
The following topics summarize the routines by functionality:
Device information routines
Function | Description |
---|---|
oGetDeviceProperty | Retrieves information about a device such as configuration information and the name of its PDO. |
IoInvalidateDeviceRelations | Notifies the PnP manager that the relations for a device have changed. |
IoInvalidateDeviceState | Notifies the PnP manager that the PnP state of a device has changed. In response, the PnP manager sends an IRP_MN_QUERY_PNP_DEVICE_STATE to the device stack. |
IoReportDetectedDevice | Reports a non-PnP device to the PnP manager. |
IoReportResourceForDetection | Claims hardware resources in the configuration registry for a legacy device. This routine is for drivers that detect legacy hardware that cannot be enumerated by PnP. |
Registry routines
Function | Description |
---|---|
IoOpenDeviceInterfaceRegistryKey | Returns a handle to a registry key for storing information about a particular device interface. |
IoOpenDeviceRegistryKey | Returns a handle to a device-specific or a driver-specific registry key for a particular device instance. |
Device interface routines
Function | Description |
---|---|
IoRegisterDeviceInterface | Registers device functionality (a device interface) that a driver will enable for use by applications or other system components. |
IoSetDeviceInterfaceState | Enables or disables a previously registered device interface. Applications and other system components can open only interfaces that are enabled. |
IoOpenDeviceInterfaceRegistryKey | Returns a handle to a registry key for storing information about a particular device interface. |
IoGetDeviceInterfaces | Returns a list of device interfaces of a particular device interface class (such as all devices on the system that support a HID interface). |
IoGetDeviceInterfaceAlias | Returns the alias device interface of the specified interface class, if the alias exists. Device interfaces are considered aliases if they are exposed by the same underlying device and have identical interface reference strings, but are of different interface classes. |
PnP notification routines
Function | Description |
---|---|
IoRegisterPlugPlayNotification | Registers a driver callback routine to be called when the specified PnP event occurs. |
IoReportTargetDeviceChange | Notifies the PnP manager that a custom event has occurred on a device. The PnP manager sends notification of the event to drivers that registered for it. Do not use this routine to report system PnP events, such as GUID_TARGET_DEVICE_REMOVE_COMPLETE. |
IoReportTargetDeviceChangeAsynchronous | Notifies the PnP manager that a custom event has occurred on a device. Returns immediately and does not wait while the PnP manager sends notification of the event to drivers that registered for it. Do not use this routine to report system PnP events, such as GUID_TARGET_DEVICE_REMOVE_COMPLETE. |
IoUnregisterPlugPlayNotification | Removes the registration of a driver's callback routine for a PnP event. |
Remove lock routines
Function | Description |
---|---|
IoInitializeRemoveLock | Initializes a remove lock for a device object. A driver can use the lock to track outstanding I/O on a device and to determine when the driver can delete its device object in response to an IRP_MN_REMOVE_DEVICE request. |
IoAcquireRemoveLock | Increments the count for a remove lock, indicating that the associated device object should not be detached from the device stack nor deleted. |
IoReleaseRemoveLock | Releases a remove lock acquired with a previous call to IoAcquireRemoveLock. |
IoReleaseRemoveLockAndWait | Releases a remove lock acquired with a previous call to IoAcquireRemoveLock and waits until all acquisitions of the lock have been released. A driver typically calls this routine in its dispatch code for an IRP_MN_REMOVE_DEVICE request. |
Other PnP routines
Function | Description |
---|---|
IoAdjustPagingPathCount | Increments or decrements a caller-supplied page-file counter as an atomic operation. This routine can be used to adjust other counters, such as counters for hibernation files or crash-dump files. |
IoRequestDeviceEject | Notifies the PnP manager that the device eject button was pressed. Note that this routine reports a request for a device eject, not media eject. |
Windows Management Instrumentation (WMI) routines
This section summarizes kernel-mode support routines that drivers can use to interact with Windows Management Instrumentation (WMI).
The categories of support routines include those that drivers can call to:
Process IRPs that a driver receives (WMI IRP processing routines)
Function | Description |
---|---|
WmiCompleteRequest | If a driver uses WmiSystemControl to dispatch the WMI IRP to a callback routine, then the callback routine can use WmiCompleteRequest to complete the IRP. |
WmiSystemControl | Dispatches a WMI IRP to a driver-supplied callback routine. |
WmiFireEvent | The WmiFireEvent routine sends an event to WMI for delivery to data consumers that have requested notification of the event. |
WmiQueryTraceInformation | The WmiQueryTraceInformation routine returns information about a WMI event trace. |
WmiSystemControl | The WmiSystemControl routine is a dispatch routine for drivers that use WMI library support routines to handle WMI IRPs. |
WmiTraceMessage | The WmiTraceMessage routine adds a message to the output log of a WPP software tracing session. |
WmiTraceMessageVa | The WmiTraceMessageVa routine adds a message to the output log of a WPP software tracing session. |
Drivers can use these routines in processing WMI IRPs
Function | Description |
---|---|
WmiCompleteRequest | If a driver uses WmiSystemControl to dispatch the WMI IRP to a callback routine, then the callback routine can use WmiCompleteRequest to complete the IRP. |
WmiSystemControl | Dispatches a WMI IRP to a driver-supplied callback routine. |
Drivers use these routines to send WMI IRPs
Function | Description |
---|---|
IoWMIAllocateInstanceIds | Allocates unused WMI instance IDs for a given WMI class GUID. |
IoWMIDeviceObjectToInstanceName | Given a device object, determines the WMI class instance name supported by the corresponding driver. Callers can use this to determine the instance names supported by a particular driver. |
IoWMIExecuteMethod | Executes the specified WMI class method. |
IoWMIHandleToInstanceName | Given a file handle, determines the WMI class instance name supported by the corresponding driver. Callers can use this to determine the instance names supported by a particular driver. |
IoWMIOpenBlock | Opens a WMI data block. Callers use this to submit WMI I/O requests. |
IoWMIQueryAllData | Fetches the property values for every instance of the specified WMI class GUID. |
IoWMIQueryAllDataMultiple | Fetches the property values for every instance of the specified set of WMI class GUIDs. |
IoWMIQuerySingleInstance | Fetches the property values for a particular instance of the specified WMI class GUID. |
IoWMIQuerySingleInstanceMultiple | Fetches the property values for a particular set of WMI class instances. |
IoWMISetNotificationCallback | Sets a notification callback for WMI events. |
IoWMISetSingleInstance | Sets the property values for a particular WMI class instance. |
IoWMISetSingleItem | Sets the specified property for a particular WMI class instance. |
This section describes required and optional routines that a kernel-mode WDM driver contains, if the driver handles WMI Minor IRPs by calling WmiSystemControl. For more information, see Calling WmiSystemControl to Handle WMI IRPs.
The DpWmiXxx names that are used in the Microsoft Windows Driver Kit (WDK) documentation are placeholders. A driver's DpWmiXxx routines can have any names that the driver writer chooses.
ZwXxx / NtXxx routines
The ZwXxx routines provide a set of system entry points that parallel some of the executive's system services. Calling a ZwXxx routine from kernel-mode code results in a call to the corresponding system service. Calling a ZwXxx routine from user mode is not supported; instead, native applications (applications that bypass the Microsoft Win32 subsystem) should call the NtXxx equivalent of the ZwXxx routine.
For a list of NtXxx routines, see NtXxx Routines.
For a call to a ZwXxx routine from a kernel-mode driver, the system does not check the caller's access rights, nor does it set the previous processor mode to UserMode. Before calling a ZwXxx routine, a kernel-mode driver must check all user-supplied parameters for validity.
For more information about the relationship between NtXxx and ZwXxx routines, see Using Nt and Zw Versions of the Native System Services Routines. For a list of the ZwXxx routines in each major functional category, see Summary of Kernel-Mode Support Routines.
The following routines are reserved for system use. Do not use them in your driver.
Routine | Replacement |
---|---|
ZwCancelTimer | Use KeCancelTimer instead. |
ZwCreateTimer | Use KeInitializeTimer or KeInitializeTimerEx instead. |
ZwOpenTimer | |
ZwSetTimer | Use KeSetTimer instead. |
NtRenameTransactionManager | Obsolete. |
NtRenameTransactionManager and TmRenameTransactionManager are two versions of the same routine. Kernel-mode drivers should not call NtRenameTransactionManager. They should instead call TmRenameTransactionManager.
Function | Description |
---|---|
NtRenameTransactionManager | The NtRenameTransactionManager routine changes the identity of the transaction manager object that is stored in the CLFS log file stream contained in the log file name. |
NtSetInformationTransactionManager Do not call this routine from kernel-mode code. | |
ZwAllocateLocallyUniqueId | The ZwAllocateLocallyUniqueId routine allocates a locally unique identifier (LUID). |
ZwAllocateVirtualMemory | The ZwAllocateVirtualMemory routine reserves, commits, or both, a region of pages within the user-mode virtual address space of a specified process. |
ZwClose | The ZwClose routine closes an object handle. |
ZwCreateDirectoryObject | The ZwCreateDirectoryObject routine creates or opens an object-directory object. |
ZwCreateEvent | The ZwCreateEvent routine creates an event object, sets the initial state of the event to the specified value, and opens a handle to the object with the specified desired access. |
ZwCreateFile | The ZwCreateFile routine creates a new file or opens an existing file. |
ZwCreateKey | The ZwCreateKey routine creates a new registry key or opens an existing one. |
ZwCreateKeyTransacted | The ZwCreateKeyTransacted routine creates a new registry key or opens an existing one, and it associates the key with a transaction. |
ZwCreateSection | The ZwCreateSection routine creates a section object. |
ZwDeleteFile | The ZwDeleteFile routine deletes the specified file. |
ZwDeleteKey | The ZwDeleteKey routine deletes an open key from the registry. |
ZwDeleteValueKey | The ZwDeleteValueKey routine deletes a value entry matching a name from an open key in the registry. If no such entry exists, an error is returned. |
ZwDeviceIoControlFile | The ZwDeviceIoControlFile routine sends a control code directly to a specified device driver, causing the corresponding driver to perform the specified operation. |
ZwDuplicateToken | The ZwDuplicateToken function creates a handle to a new access token that duplicates an existing token. This function can create either a primary token or an impersonation token. |
ZwEnumerateKey | The ZwEnumerateKey routine returns information about a subkey of an open registry key. |
ZwEnumerateValueKey | The ZwEnumerateValueKey routine gets information about the value entries of an open key. |
ZwFlushBuffersFile | The ZwFlushBuffersFile routine is called by a file system filter driver to send a flush request for the specified file to the file system. |
ZwFlushBuffersFileEx | The ZwFlushBuffersFileEx routine is called by a file system filter driver to send a flush request for a given file to the file system. An optional flush operation flag can be set to control how file data is written to storage. |
ZwFlushKey | The ZwFlushKey routine forces a registry key to be committed to disk. |
ZwFlushVirtualMemory | The ZwFlushVirtualMemory routine flushes a range of virtual addresses within the virtual address space of a specified process which map to a data file back out to the data file if they have been modified. |
ZwFreeVirtualMemory | The ZwFreeVirtualMemory routine releases, decommits, or both, a region of pages within the virtual address space of a specified process. |
ZwFsControlFile | The ZwFsControlFile routine sends a control code directly to a specified file system or file system filter driver, causing the corresponding driver to perform the specified action. |
ZwLoadDriver | The ZwLoadDriver routine loads a driver into the system. |
ZwLockFile | The ZwLockFile routine requests a byte-range lock for the specified file. |
ZwMakeTemporaryObject | The ZwMakeTemporaryObject routine changes the attributes of an object to make it temporary. |
ZwMapViewOfSection | The ZwMapViewOfSection routine maps a view of a section into the virtual address space of a subject process. |
ZwNotifyChangeKey | The ZwNotifyChangeKey routine allows a driver to request notification when a registry key changes. |
ZwOpenEvent | The ZwOpenEvent routine opens a handle to an existing named event object with the specified desired access. |
ZwOpenFile | The ZwOpenFile routine opens an existing file, directory, device, or volume. |
ZwOpenKey | The ZwOpenKey routine opens an existing registry key. |
ZwOpenKeyEx | The ZwOpenKeyEx routine opens an existing registry key. |
ZwOpenKeyTransacted | The ZwOpenKeyTransacted routine opens an existing registry key and associates the key with a transaction. |
ZwOpenKeyTransactedEx | The ZwOpenKeyTransactedEx routine opens an existing registry key and associates the key with a transaction. |
ZwOpenProcess | The ZwOpenProcess routine opens a handle to a process object and sets the access rights to this object. |
ZwOpenProcessTokenEx | The ZwOpenProcessTokenEx routine opens the access token associated with a process. |
ZwOpenSection | The ZwOpenSection routine opens a handle for an existing section object. |
ZwOpenSymbolicLinkObject | The ZwOpenSymbolicLinkObject routine opens an existing symbolic link. |
ZwOpenThreadTokenEx | The ZwOpenThreadTokenEx routine opens the access token associated with a thread. |
ZwPowerInformation | The ZwPowerInformation routine sets or retrieves system power information. |
ZwQueryInformationThread | The ZwQueryInformationThread routine retrieves information about the specified thread, such as its page priority. |
ZwQueryDirectoryFile | The ZwQueryDirectoryFile routine returns various kinds of information about files in the directory specified by a given file handle. |
ZwQueryEaFile | The ZwQueryEaFile routine returns information about extended-attribute (EA) values for a file. |
ZwQueryFullAttributesFile | The ZwQueryFullAttributesFile routine supplies network open information for the specified file. |
ZwQueryInformationFile | The ZwQueryInformationFile routine returns various kinds of information about a file object. |
ZwQueryInformationToken | The ZwQueryInformationToken routine retrieves a specified type of information about an access token. The calling process must have appropriate access rights to obtain the information. |
ZwQueryKey | The ZwQueryKey routine provides information about the class of a registry key, and the number and sizes of its subkeys. |
ZwQueryObject | The ZwQueryObject routine provides information about a supplied object. |
ZwQueryQuotaInformationFile | The ZwQueryQuotaInformationFile routine retrieves quota entries associated with the volume specified by the FileHandle parameter. |
ZwQuerySecurityObject | The ZwQuerySecurityObject routine retrieves a copy of an object's security descriptor. |
ZwQuerySymbolicLinkObject | The ZwQuerySymbolicLinkObject routine returns a Unicode string that contains the target of a symbolic link. |
ZwQueryValueKey | The ZwQueryValueKey routine returns a value entry for a registry key. |
ZwQueryVirtualMemory | The ZwQueryVirtualMemory routine determines the state, protection, and type of a region of pages within the virtual address space of the subject process. |
ZwQueryVolumeInformationFile | The ZwQueryVolumeInformationFile routine retrieves information about the volume associated with a given file, directory, storage device, or volume. |
ZwReadFile | The ZwReadFile routine reads data from an open file. |
ZwSetEaFile | The ZwSetEaFile routine sets extended-attribute (EA) values for a file. |
ZwSetEvent | The ZwSetEvent routine sets an event object to a Signaled state and attempts to satisfy as many waits as possible. |
ZwSetInformationFile | The ZwSetInformationFile routine changes various kinds of information about a file object. |
ZwSetInformationThread | The ZwSetInformationThread routine sets the priority of a thread. |
ZwSetInformationToken | The ZwSetInformationToken routine modifies information in a specified token. The calling process must have appropriate access rights to set the information. |
ZwSetInformationVirtualMemory | The ZwSetInformationVirtualMemory routine performs an operation on a specified list of address ranges in the user address space of a process. |
ZwSetQuotaInformationFile | The ZwSetQuotaInformationFile routine changes quota entries for the volume associated with the FileHandle parameter. All of the quota entries in the specified buffer are applied to the volume. |
ZwSetSecurityObject | The ZwSetSecurityObject routine sets an object's security state. |
ZwSetValueKey | The ZwSetValueKey routine creates or replaces a registry key's value entry. |
ZwSetVolumeInformationFile | The ZwSetVolumeInformationFile routine modifies information about the volume associated with a given file, directory, storage device, or volume. |
ZwTerminateProcess | The ZwTerminateProcess routine terminates a process and all of its threads. |
ZwUnloadDriver | The ZwUnloadDriver routine unloads a driver from the system. Use this routine with extreme caution. (See the following Remarks section.) |
ZwUnlockFile | The ZwUnlockFile routine unlocks a byte-range lock in a file. |
ZwUnmapViewOfSection | The ZwUnmapViewOfSection routine unmaps a view of a section from the virtual address space of a subject process. |
ZwWaitForSingleObject | The ZwWaitForSingleObject routine waits until the specified object attains a state of Signaled. An optional time-out can also be specified. |
ZwWriteFile | The ZwWriteFile routine writes data to an open file. |
Auxiliary kernel-mode library routines and structures
The Auxiliary Kernel-Mode Library enables drivers to access some system capabilities that are not available from kernel-mode subsystems.
The AuxKlibInitialize routine initializes the Auxiliary Kernel-Mode Library. Drivers that use this library must call AuxKlibInitialize before calling any of the library's other routines.
- AuxKlibEnumerateSystemFirmwareTables
- AuxKlibGetBugCheckData
- AuxKlibGetImageExportDirectory
- AuxKlibGetSystemFirmwareTable
- AuxKlibInitialize
- AuxKlibQueryModuleInformation
- AUX_MODULE_BASIC_INFO
- AUX_MODULE_EXTENDED_INFO
- KBUGCHECK_DATA
Processor group compatibility library
Support is available for kernel-mode drivers that use processor groups. The Processor Group (ProcGrp) compatibility library enables a kernel-mode driver that is written to use processor groups run on earlier versions of Windows, which do not support processor groups. When this driver runs on, it can take advantage of multiple processor groups, if the hardware platform supports them. When this same driver runs on an earlier version of Windows, it is limited to a single processor group, regardless of the capabilities of the hardware platform. To use the ProcGrp library, the driver must call a library initialization routine. Additionally, the driver must be compiled for the Windows 7 environment in the WDK, and must be linked with Procgrp.lib.
The ProcGrp library is designed to meet the compatibility requirements of drivers that call the following KeXxx routines but must also run on versions of Windows that do not implement these routines:
- KeGetCurrentProcessorNumberEx
- KeGetProcessorIndexFromNumber
- KeGetProcessorNumberFromIndex
- KeQueryActiveGroupCount
- KeQueryActiveProcessorCountEx
- KeQueryGroupAffinity
- KeQueryMaximumProcessorCount
- KeQueryMaximumProcessorCountEx
- KeQueryMaximumGroupCount
- KeSetSystemAffinityThreadEx
- KeSetSystemGroupAffinityThread
- KeRevertToUserAffinityThreadEx
- KeRevertToUserGroupAffinityThread
- KeSetTargetProcessorDpcEx
The ProcGrp library implements wrapper functions for the KeXxx routines in the preceding list. If the library runs on Windows 7 or Windows Server 2008 R2, the wrapper functions simply call the corresponding KeXxx routines. The wrapper functions have the same names as these KeXxx routines, and their behavior is identical to that of the KeXxx routines that they replace.
Earlier versions of Windows do not support processor groups and do not implement the KeXxx routines in the preceding list. If the ProcGrp library is linked to a driver that runs on one of these earlier versions of Windows, the library initialization function, WdmlibProcgrpInitialize, detects that the operating system does not support processor groups. To deal with this case, each wrapper function contains a simplified implementation of the corresponding KeXxx routine. This implementation supports only one processor group, group number 0. For example, the wrapper function for the KeQueryMaximumGroupCount routine always returns a count of one. For another example, the wrapper function for the KeGetCurrentProcessorNumberEx routine emulates this routine by calling the KeGetCurrentProcessorNumber routine. KeGetCurrentProcessorNumber is similar to KeGetCurrentProcessorNumberEx, but lacks support for processor groups, which, in this case, has the same effect as supporting just one processor group.
For more information about the support for processor groups in Windows 7, see the Supporting Systems That Have More Than 64 Processors white paper on the WHDC website.
The ProcGrp library is contained in the Windows 7 version of the WDK. The library functions are declared in the Procgrp.h header file and are implemented in the Procgrp.lib library file.
In addition to the KeXxx wrapper functions, the ProcGrp library implements the following function to initialize the library:
- WdmlibProcgrpInitialize
DMA library routines
Drivers use the routines documented in this section to perform direct memory access (DMA) operations. The routines are accessed through pointers and cannot be called directly by name.
Drivers performing DMA operations use IoGetDmaAdapter to get a pointer to the DMA_ADAPTER structure for the device. The DmaOperations member of the structure points to a DMA_OPERATIONS structure, which is a table of pointers to the DMA routines for the physical device object of that device.
Function | Description |
---|---|
IoGetDmaAdapter | Returns a pointer to an adapter object that represents either the DMA channel to which the driver's device is connected or the driver's bus-master adapter. Also returns the maximum number of map registers the driver can specify for each DMA transfer. |
MmGetMdlVirtualAddress | Returns the base virtual address of a buffer described by a given MDL. The returned address, used as an index to a physical address entry in the MDL, can be input to MapTransfer. |
MmGetSystemAddressForMdlSafe | Returns a nonpaged system-space virtual address for the base of the memory area described by an MDL. It maps the physical pages described by the MDL into system space, if they are not already mapped to system space. |
ADDRESS_AND_SIZE_TO_SPAN_PAGES | Returns the number of pages spanned by the virtual range defined by a virtual address and a length in bytes. A driver can use this macro to determine whether a transfer request must be split into partial transfers. |
AllocateAdapterChannel | Reserves exclusive access to a DMA channel and map registers for a device. When the channel and registers are available, this routine calls a driver-supplied AdapterControl routine to carry out an I/O operation through either the system DMA controller or a bus-master adapter. |
AllocateCommonBuffer | Allocates and maps a logically contiguous region of memory that is simultaneously accessible from both the processor and a device. This routine returns TRUE if the requested length was allocated. |
BuildMdlFromScatterGatherList | Builds an MDL corresponding to a scatter/gather list. |
BuildScatterGatherList | Prepares the system for scatter/gather DMA for a device and calls a driver-supplied routine to carry out the I/O operation. This function provides the same functionality as GetScatterGatherList, except it uses a driver-supplied buffer to hold the scatter/gather list. |
CalculateScatterGatherList | Computes the buffer size needed to hold a scatter/gather list for a memory buffer. |
FlushAdapterBuffers | Forces any data remaining in either a bus-master adapter's or the system DMA controller's internal buffers to be written into memory or to the device. |
FreeAdapterChannel | Releases an adapter object that represents a system DMA channel, and optionally releases any allocated map registers. |
FreeCommonBuffer | Releases and unmaps a previously allocated common buffer. Arguments must match those passed in an earlier call to AllocateCommonBuffer. |
FreeMapRegisters | Releases a set of map registers that were saved from a call to AllocateAdapterChannel. A driver calls this routine after using the registers in one or more calls to MapTransfer, flushing the cache by calling FlushAdapterBuffers, and completing the bus-master DMA transfer. |
GetDmaAlignment | Returns the buffer alignment requirements for a DMA controller or device. |
GetScatterGatherList | Prepares the system for scatter/gather DMA for a device and calls a driver-supplied routine to carry out the I/O operation. For devices that support scatter/gather DMA, this routine combines the functionality of AllocateAdapterChannel and MapTransfer. |
KeFlushIoBuffers | Flushes the memory region described by an MDL from all processors' caches into memory. |
MapTransfer | Sets up map registers for an adapter object previously allocated by AllocateAdapterChannel to map a transfer from a locked-down buffer. Returns the logical address of the mapped region and, for bus-master devices that support scatter/gather, the number of bytes mapped. |
PutDmaAdapter | Frees an adapter object previously allocated by IoGetDmaAdapter. |
PutScatterGatherList | Frees map registers and scatter/gather list previously allocated by GetScatterGatherList. |
ReadDmaCounter | Returns the number of bytes yet to be transferred during the current system DMA operation (in auto-initialize mode). |
PIO
Function | Description |
---|---|
MmProbeAndLockPages | Probes the pages specified in an MDL for a particular kind of access, makes the pages resident, and locks them in memory; returns the MDL updated with corresponding physical addresses. |
MmGetSystemAddressForMdlSafe | Returns a system-space virtual address that maps the physical pages described by a given MDL for drivers whose devices must use PIO. If no virtual address exists, one is assigned. |
KeFlushIoBuffers | Flushes the memory region described by a given MDL from all processors' caches into memory. |
MmUnlockPages | Unlocks the previously probed and locked pages specified in an MDL. |
MmMapIoSpace | Maps a physical address range to a cached or non-cached virtual address range in nonpaged system space. |
MmUnmapIoSpace | Unmaps a virtual address range from a physical address range. |
Interrupts
Function | Description |
---|---|
IoConnectInterrupt | Registers a driver's interrupt handling routine. Drivers should use IoConnectInterruptEx instead. |
IoDisconnectInterrupt | Unregisters an interrupt handling routine that IoConnectInterrupt registered. |
IoConnectInterruptEx | Registers a driver's interrupt handling routine. Drivers can register either an InterruptService routine for line-based interrupts or an InterruptMessageService routine for message-signaled interrupts. |
IoDisconnectInterruptEx | Unregisters an interrupt-handling routine that IoConnectInterruptEx registered. |
IoInitializeDpcRequest | Associates a driver-supplied DpcForIsr routine with a given device object, so that the DpcForIsr routine can complete interrupt-driven I/O operations. |
KeSynchronizeExecution | Synchronizes the execution of a driver-supplied SynchCritSection routine with that of the ISR associated with a set of interrupt objects, given a pointer to the interrupt objects. |
KeAcquireInterruptSpinLock | Acquires the spin lock that synchronizes access with an interrupt's ISR. |
KeReleaseInterruptSpinLock | Releases the spin lock that synchronized access with an interrupt's ISR. |
KeRegisterNmiCallback | Registers a routine to be called whenever a nonmaskable interrupt (NMI) occurs. |
KeDeregisterNmiCallback | Deregisters a routine registered by KeRegisterNmiCallback. |
Driver-managed queues
Function | Description |
---|---|
KeInitializeSpinLock | Initializes a variable of type KSPIN_LOCK. An initialized spin lock is a required parameter to the ExInterlockedXxxList routines. |
InitializeListHead | Sets up a queue header for a driver's internal queue, given a pointer to driver-supplied storage for the queue header and queue. An initialized queue header is a required parameter to the ExInterlockedInsert/RemoveXxxList routines. |
ExInterlockedInsertTailList | Inserts an entry at the tail of a doubly linked list, using a spin lock to ensure multiprocessor-safe access to the list and atomic modification of the list links. |
ExInterlockedInsertHeadList | Inserts an entry at the head of a doubly linked list, using a spin lock to ensure multiprocessor-safe access to the list and atomic modification of the links in the list. |
ExInterlockedRemoveHeadList | Removes an entry from the head of a doubly linked list, using a spin lock to ensure multiprocessor-safe access to the list and atomic modification of the links in the list. |
ExInterlockedPopEntryList | Removes an entry from the head of a singly linked list as an atomic operation, using a spin lock to ensure multiprocessor-safe access to the list. |
ExInterlockedPushEntryList | Inserts an entry at the head of a singly linked list as an atomic operation, using a spin lock to ensure multiprocessor-safe access to the list. |
IsListEmpty | Returns TRUE if a queue is empty. (This type of doubly linked list is not protected by a spin lock, unless the caller explicitly manages synchronization to queued entries with an initialized spin lock for which the caller supplies the storage.) |
InsertTailList | Queues an entry at the end of the list. |
InsertHeadList | Queues an entry at the head of the list. |
RemoveHeadList | Dequeues an entry at the head of the list. |
RemoveTailList | Dequeues an entry at the end of the list. |
RemoveEntryList | Returns whether a given entry is in the given list and dequeues the entry if it is. |
PushEntryList | Inserts an entry into the queue. (This type of singly linked list is not protected by a spin lock, unless the caller explicitly manages synchronization to queued entries with an initialized spin lock for which the caller supplies the storage.) |
PopEntryList | Removes an entry from the queue. |
ExInterlockedPopEntrySList | Removes an entry from the head of a sequenced, singly linked list that was set up with ExInitializeSListHead. |
ExInterlockedPushEntrySList | Queues an entry at the head of a sequenced, singly linked list that was set up with ExInitializeSListHead. |
ExQueryDepthSList | Returns the number of entries currently queued in a sequenced, singly linked list. |
ExInitializeNPagedLookasideList | Sets up a lookaside list, protected by a system-supplied spin lock, in nonpaged pool from which the driver can allocate and free blocks of a fixed size. |
KeInitializeDeviceQueue | Initializes a device queue object to a not-busy state, setting up an associated spin lock for multiprocessor-safe access to device queue entries. |
KeInsertDeviceQueue | Acquires the device queue spin lock and queues an entry to a device driver if the device queue is not empty; otherwise, inserts the entry at the tail of the device queue. |
KeInsertByKeyDeviceQueue | Acquires the device queue spin lock and queues an entry to a device driver if the device queue is not empty; otherwise, inserts the entry into the queue according to the given sort-key value. |
KeRemoveDeviceQueue | Removes an entry from the head of a given device queue. |
KeRemoveByKeyDeviceQueue | Removes an entry, selected according to the specified sort-key value, from the given device queue. |
KeRemoveEntryDeviceQueue | Determines whether a given entry is in the given device queue and, if so, dequeues the entry. |
Driver system processes and threads
Function | Description |
---|---|
PsCreateSystemThread | Creates a kernel-mode thread associated with a given process object or with the default system process. Returns a handle for the thread. |
PsTerminateSystemThread | Terminates the current thread and satisfies as many waits as possible for the current thread object. |
PsGetCurrentThread | Returns a handle for the current thread. |
KeGetCurrentThread | Returns a pointer to the opaque thread object that represents the current thread. |
KeQueryPriorityThread | Returns the current priority of a given thread. |
KeSetBasePriorityThread | Sets up the run-time priority, relative to the system process, for a driver-created thread. |
KeSetPriorityThread | Sets up the run-time priority for a driver-created thread with a real-time priority attribute. |
KeDelayExecutionThread | Puts the current thread into an alertable or nonalertable wait state for a given interval. |
IoQueueWorkItem | Queues an initialized work queue item so the driver-supplied routine will be called when a system worker thread is given control. |
ZwSetInformationThread | Sets the priority of a given thread for which the caller has a handle. |
Function | Description |
---|---|
PsGetCurrentProcessId | The PsGetCurrentProcessId routine identifies the current thread's process. |
PsGetProcessCreateTimeQuadPart | The PsGetProcessCreateTimeQuadPart routine returns a LONGLONG value that represents the time at which the process was created. |
PsGetProcessId | The PsGetProcessId routine returns the process identifier (process ID) that is associated with a specified process. |
PsQueryTotalCycleTimeProcess | The PsQueryTotalCycleTimeProcess routine returns the accumulated cycle time for the specified process. |
PCREATE_PROCESS_NOTIFY_ROUTINE | Process-creation callback implemented by a driver to track the system-wide creation and deletion of processes against the driver's internal state. |
PsSetCreateProcessNotifyRoutine | The PsSetCreateProcessNotifyRoutine routine adds a driver-supplied callback routine to, or removes it from, a list of routines to be called whenever a process is created or deleted. |
PCREATE_PROCESS_NOTIFY_ROUTINE_EX | A callback routine implemented by a driver to notify the caller when a process is created or exits. |
PsSetCreateProcessNotifyRoutineEx | The PsSetCreateProcessNotifyRoutineEx routine registers or removes a callback routine that notifies the caller when a process is created or exits. |
PsSetCreateProcessNotifyRoutineEx2 | The PsSetCreateProcessNotifyRoutineEx2 routine registers or removes a callback routine that notifies the caller when a process is created or deleted. |
Function | Description |
---|---|
PLOAD_IMAGE_NOTIFY_ROUTINE | Called by the operating system to notify the driver when a driver image or a user image (for example, a DLL or EXE) is mapped into virtual memory. |
PsSetLoadImageNotifyRoutine | The PsSetLoadImageNotifyRoutine routine registers a driver-supplied callback that is subsequently notified whenever an image is loaded (or mapped into memory). |
PsSetLoadImageNotifyRoutineEx | The PsSetLoadImageNotifyRoutineEx routine registers a driver-supplied callback that is subsequently notified whenever an image is loaded (or mapped into memory). |
PsTerminateSystemThread | The PsTerminateSystemThread routine terminates the current system thread. |
Best practices for implementing process and thread-related callback functions
This set of guidelines applies to these callback routines:
- PCREATE_PROCESS_NOTIFY_ROUTINE
- PCREATE_PROCESS_NOTIFY_ROUTINE_EX
- PCREATE_THREAD_NOTIFY_ROUTINE
- PLOAD_IMAGE_NOTIFY_ROUTINE
Keep notify routines short and simple.
Do not make calls into a user mode service to validate the process, thread, or image.
Do not make registry calls.
Do not make blocking and/or Interprocess Communication (IPC) function calls.
Do not synchronize with other threads because it can lead to re-entrancy deadlocks.
Use System Worker Threads to queue work especially work involving:
Slow API's or API's that call into other process.
Any blocking behavior which could interrupt threads in core services.
Be considerate of best practices for kernel mode stack usage. For examples, see How do I keep my driver from running out of kernel-mode stack? and Key Driver Concepts and Tips.
Run-time library (RTL) routines
For information about functions that copy, concatenate, and format strings in a manner that prevents buffer overrun errors, see Safe String Functions, below. Other string manipulation functions include the following:
Function | Description |
---|---|
RtlInitString | Initializes the specified string in a buffer. |
RtlInitAnsiString | Initializes the specified ANSI string in a buffer. |
RtlInitUnicodeString | Initializes the specified Unicode string in a buffer. |
RtlAnsiStringToUnicodeSize | Returns the size in bytes required to hold a Unicode version of a given buffered ANSI string. |
RtlAnsiStringToUnicodeString | Converts a buffered ANSI string to a Unicode string, given a pointer to the source-string buffer and the address of caller-supplied storage for a pointer to the destination buffer. (This routine allocates a destination buffer if the caller does not supply the storage.) You can also use the string manipulation routines provided by a compiler to convert ANSI strings to Unicode. |
RtlFreeUnicodeString | Releases a buffer containing a Unicode string, given a pointer to the buffer returned by RtlAnsiStringToUnicodeString. |
RtlUnicodeStringToAnsiString | Converts a buffered Unicode string to an ANSI string, given a pointer to the source-string buffer and the address of caller-supplied storage for a pointer to the destination buffer. (This routine allocates a destination buffer if the caller does not supply the storage.) |
RtlFreeAnsiString | Releases a buffer containing an ANSI string, given a pointer to the buffer returned by RtlUnicodeStringToAnsiString. |
RtlAppendUnicodeStringToString | Concatenates a copy of a buffered Unicode string with a buffered Unicode string, given pointers to both buffers. |
RtlAppendUnicodeToString | Concatenates a given input string with a buffered Unicode string, given a pointer to the buffer. |
RtlCopyString | Copies the source string to the destination, given pointers to both buffers, or sets the length of the destination string (but not the length of the destination buffer) to zero if the optional pointer to the source-string buffer is NULL. |
RtlCopyUnicodeString | Copies the source string to the destination, given pointers to both buffers, or sets the length of the destination string (but not the length of the destination buffer) to zero if the optional pointer to the source-string buffer is NULL. |
RtlEqualString | Returns TRUE if the given ANSI alphabetic strings are equivalent. |
RtlEqualUnicodeString | Returns TRUE if the given buffered strings are equivalent. |
RtlCompareString | Compares two buffered, single-byte character strings and returns a signed value indicating whether they are equivalent or which is greater. |
RtlCompareUnicodeString | Compares two buffered Unicode strings and returns a signed value indicating whether they are equivalent or which is greater. |
RtlUpperString | Converts a copy of a buffered string to uppercase and stores the copy in a destination buffer. |
RtlUpcaseUnicodeString | Converts a copy of a buffered Unicode string to uppercase and stores the copy in a destination buffer. |
RtlIntegerToUnicodeString | Converts an unsigned integer value in the specified base to one or more Unicode characters in a buffer. |
RtlUnicodeStringToInteger | RtlUnicodeStringToInteger converts the Unicode string representation of an integer into its integer equivalent. |
The following routines are reserved for system use. Do not use them in your driver.
Routine | Replacement |
---|---|
RtlAssert | Use ASSERT instead. |
RtlGetCallersAddress | Use the intrinsic _ReturnAddress instead. |
RtlInterlockedAndBits | Use InterlockedAnd instead. |
RtlInterlockedAndBitsDiscardReturn | Use InterlockedAnd instead. |
RtlInterlockedClearBits | Use InterlockedAnd instead. |
RtlInterlockedClearBitsDiscardReturn | Use InterlockedAnd instead. |
RtlInterlockedSetBits | Use InterlockedOr instead. |
RtlInterlockedSetBitsDiscardReturn | Use InterlockedOr instead. |
RtlInterlockedSetClearBits | |
RtlInterlockedXorBits | Use InterlockedXor instead |
RtlWalkFrameChain |
Safe string functions for Unicode and ANSI characters
Use the functions in this section to manipulate Unicode and ANSI strings in kernel-mode drivers.
Each function is available in two versions:
A W-suffixed version that supports two-byte Unicode characters.
An A-suffixed version that supports one-byte ANSI characters.
If you use the safe string functions instead of the string manipulation functions that are provided by C-language run-time libraries, you protect your code from buffer overrun errors that can make code untrustworthy. For more information, see Using Safe String Functions.
Function | Description |
---|---|
RtlStringCbCatW | The RtlStringCbCatW and RtlStringCbCatA functions concatenate two byte-counted strings. |
RtlStringCbCatExW | The RtlStringCbCatExW and RtlStringCbCatExA functions concatenate two byte-counted strings. |
RtlStringCbCatNW | The RtlStringCbCatNW and RtlStringCbCatNA functions concatenate two byte-counted strings while limiting the size of the appended string. |
RtlStringCbCatNExW | The RtlStringCbCatNExW and RtlStringCbCatNExA functions concatenate two byte-counted strings while limiting the size of the appended string. |
RtlStringCbCopyW | The RtlStringCbCopyW and RtlStringCbCopyA functions copy a byte-counted string into a buffer. |
RtlStringCbCopyExW | The RtlStringCbCopyExW and RtlStringCbCopyExA functions copy a byte-counted string into a buffer. |
RtlStringCbCopyNW | The RtlStringCbCopyNW and RtlStringCbCopyNA functions copy a byte-counted string to a buffer while limiting the size of the copied string. |
RtlStringCbCopyNExW | The RtlStringCbCopyNExW and RtlStringCbCopyNExA functions copy a byte-counted string to a buffer while limiting the size of the copied string. |
RtlStringCbLengthW | The RtlStringCbLengthW and RtlStringCbLengthA functions determine the length, in bytes, of a supplied string. |
RtlStringCbPrintfW | The RtlStringCbPrintfW and RtlStringCbPrintfA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbPrintfExW | The RtlStringCbPrintfExW and RtlStringCbPrintfExA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbVPrintfW | The RtlStringCbVPrintfW and RtlStringCbVPrintfA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbVPrintfExW | The RtlStringCbVPrintfExW and RtlStringCbVPrintfExA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchCatW | The RtlStringCchCatW and RtlStringCchCatA functions concatenate two character-counted strings. |
RtlStringCchCatExW | The RtlStringCchCatExW and RtlStringCchCatExA functions concatenate two character-counted strings. |
RtlStringCchCatNW | The RtlStringCchCatNW and RtlStringCchCatNA functions concatenate two character-counted strings while limiting the size of the appended string. |
RtlStringCchCatNExW | The RtlStringCchCatNExW and RtlStringCchCatNExA functions concatenate two character-counted strings while limiting the size of the appended string. |
RtlStringCchCopyW | The RtlStringCchCopyW and RtlStringCchCopyA functions copy a null-terminated source string into a destination buffer of specified length. |
RtlStringCchCopyExW | The RtlStringCchCopyExW and RtlStringCchCopyExA functions copy a character-counted string into a buffer. |
RtlStringCchCopyNW | The RtlStringCchCopyNW and RtlStringCchCopyNA functions copy a character-counted string to a buffer while limiting the size of the copied string. |
RtlStringCchCopyNExW | The RtlStringCchCopyNExW and RtlStringCchCopyNExA functions copy a character-counted string to a buffer while limiting the size of the copied string. |
RtlStringCchLengthW | The RtlStringCchLengthW and RtlStringCchLengthA functions determine the length, in characters, of a supplied string. |
RtlStringCchPrintfW | The RtlStringCchPrintfW and RtlStringCchPrintfA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchPrintfExW | The RtlStringCchPrintfExW and RtlStringCchPrintfExA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchVPrintfW | The RtlStringCchVPrintfW and RtlStringCchVPrintfA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchVPrintfExW | The RtlStringCchVPrintfExW and RtlStringCchVPrintfExA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlUnalignedStringCbLength | The RtlUnalignedStringCbLengthW function is a version of the RtlStringCbLength function that accepts an unaligned pointer to a string of Unicode characters. |
RtlUnalignedStringCchLengthW | The RtlUnalignedStringCchLengthW function is a version of the RtlStringCchLength function that accepts an unaligned pointer to a string of Unicode characters. |
Safe string functions for UNICODE_STRING structures
Use the functions in this section to manipulate strings within UNICODE_STRING structures in kernel-mode drivers.
If you use the safe string functions instead of the string manipulation functions that C-language run-time libraries provide, you protect your code from buffer overrun errors that can make code untrustworthy. For more information about safe string functions, see Using Safe String Functions.
Function | Description |
---|---|
RtlStringCbCopyUnicodeString | The RtlStringCbCopyUnicodeString function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCbCopyUnicodeStringEx | The RtlStringCbCopyUnicodeStringEx function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCchCopyUnicodeString | The RtlStringCchCopyUnicodeString function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCchCopyUnicodeStringEx | The RtlStringCchCopyUnicodeStringEx function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlUnicodeStringCat | The RtlUnicodeStringCat function concatenates two strings that are contained in UNICODE_STRING structures. |
RtlUnicodeStringCatEx | The RtlUnicodeStringCatEx function concatenates two strings that are contained in UNICODE_STRING structures. |
RtlUnicodeStringCatString | The RtlUnicodeStringCatString function concatenates two strings when the destination string is contained in a UNICODE_STRING structure. |
RtlUnicodeStringCatStringEx | The RtlUnicodeStringCatStringEx function concatenates two strings when the destination string is contained in a UNICODE_STRING structure. |
RtlUnicodeStringCbCatN | The RtlUnicodeStringCbCatN function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCbCatNEx | The RtlUnicodeStringCbCatNEx function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCbCatStringN | The RtlUnicodeStringCbCatStringN function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCbCatStringNEx | The RtlUnicodeStringCbCatStringNEx function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCbCopyN | The RtlUnicodeStringCbCopyN function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCbCopyNEx | The RtlUnicodeStringCbCopyNEx function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCbCopyStringN | The RtlUnicodeStringCbCopyStringN function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCbCopyStringNEx | The RtlUnicodeStringCbCopyStringNEx function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCchCatN | The RtlUnicodeStringCchCatN function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCchCatNEx | The RtlUnicodeStringCchCatNEx function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCchCatStringN | The RtlUnicodeStringCchCatStringN function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCchCatStringNEx | The RtlUnicodeStringCchCatStringNEx function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCchCopyN | The RtlUnicodeStringCchCopyN function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCchCopyNEx | The RtlUnicodeStringCchCopyNEx function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCchCopyStringN | The RtlUnicodeStringCchCopyStringN function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCchCopyStringNEx | The RtlUnicodeStringCchCopyStringNEx function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCopy | The RtlUnicodeStringCopy function copies a string from one UNICODE_STRING structure to another. |
RtlUnicodeStringCopyEx | The RtlUnicodeStringCopyEx function copies a string from one UNICODE_STRING structure to another. |
RtlUnicodeStringCopyString | The RtlUnicodeStringCopyString function copies a string into a UNICODE_STRING structure. |
RtlUnicodeStringCopyStringEx | The RtlUnicodeStringCopyStringEx function copies a string into a UNICODE_STRING structure. |
RtlUnicodeStringInit | The RtlUnicodeStringInit function initializes a UNICODE_STRING structure. |
RtlUnicodeStringInitEx | The RtlUnicodeStringInitEx function initializes a UNICODE_STRING structure. |
RtlUnicodeStringPrintf | The RtlUnicodeStringPrintf function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeStringPrintfEx | The RtlUnicodeStringPrintfEx function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeStringValidate | The RtlUnicodeStringValidate function validates the contents of a UNICODE_STRING structure. |
RtlUnicodeStringValidateEx | The RtlUnicodeStringValidateEx function validates the contents of a UNICODE_STRING structure. |
RtlUnicodeStringVPrintf | The RtlUnicodeStringVPrintf function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeStringVPrintfEx | The RtlUnicodeStringVPrintfEx function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
Safe integer library routines
This section describes the safe integer functions for drivers. These functions are defined as inline functions in the Ntintsafe.h header file in the WDK. The safe integer functions are designed to help drivers to avoid arithmetic overflow errors. These functions are divided into two sets; the first converts integer values from one type to another, and the second performs math functions. For more information about these functions, see Using Safe Integer Functions.
The Intsafe.h header file in the Windows SDK defines a similar set of safe integer functions for use by applications. For more information about this version of the safe integer functions, see Intsafe.h Functions.
Data conversions
Function | Description |
---|---|
InterlockedExchange | Sets a variable of type LONG to a given value as an atomic operation; returns the original value of the variable. |
RtlConvertLongToLargeInteger | Converts a given LONG value to a LARGE_INTEGER value. |
RtlConvertUlongToLargeInteger | Converts a given ULONG value to a LARGE_INTEGER value. |
RtlTimeFieldsToTime | Converts information in a TIME_FIELDS structure to system time. |
RtlTimeToTimeFields | Converts a system time value into a buffered TIME_FIELDS value. |
ExSystemTimeToLocalTime | Adds the time-zone bias for the current locale to GMT system time, converting it to local time. |
ExLocalTimeToSystemTime | Subtracts the time-zone bias from the local time, converting it to GMT system time. |
RtlAnsiStringToUnicodeString | Converts a buffered ANSI string to a Unicode string, given a pointer to the source-string buffer and the address of caller-supplied storage for a pointer to the destination buffer. (This routine allocates a destination buffer if the caller does not supply the storage.) |
RtlUnicodeStringToAnsiString | Converts a buffered Unicode string to an ANSI string, given a pointer to the source-string buffer and the address of caller-supplied storage for a pointer to the destination buffer. (This routine allocates a destination buffer if the caller does not supply the storage.) |
RtlUpperString | Converts a copy of a buffered string to uppercase and stores the copy in a destination buffer. |
RtlUpcaseUnicodeString | Converts a copy of a buffered Unicode string to uppercase and stores the copy in a destination buffer. |
RtlCharToInteger | Converts a single-byte character value into an integer in the specified base. |
RtlIntegerToUnicodeString | Converts an unsigned integer value in the specified base to one or more Unicode characters in the given buffer. |
RtlUnicodeStringToInteger | Converts a Unicode string representation of an integer into its integer equivalent. |
Access to driver-managed objects
Function | Description |
---|---|
ExCreateCallback | Creates or opens a callback object. |
ExNotifyCallback | Calls the callback routines registered with a previously created or opened callback object. |
ExRegisterCallback | Registers a callback routine with a previously created or opened callback object, so that the caller can be notified when conditions defined for the callback routine occur. |
ExUnregisterCallback | Cancels the registration of a callback routine with a callback object. |
IoRegisterDeviceInterface | Registers device functionality (a device interface) that a driver can enable for use by applications or other system components. |
IoSetDeviceInterfaceState | Enables or disables a previously registered device interface. Applications and other system components can open only interfaces that are enabled. |
IoGetDeviceInterfaceAlias | Returns the alias device interface of the specified interface class, if the alias exists. Device interfaces are considered aliases if they are exposed by the same underlying device and have identical interface reference strings, but are of different interface classes. |
IoGetDeviceInterfaces | Returns a list of device interfaces of a particular device interface class (such as all devices on the system that support a HID interface). |
IoGetFileObjectGenericMapping | Returns information about the mapping between generic access rights and specific access rights for file objects. |
IoSetShareAccess | Sets the access allowed to a given file object representing a device. (Only highest-level drivers can call this routine.) |
IoCheckShareAccess | Checks whether a request to open a file object specifies a desired access that is compatible with the current shared access permissions for the open file object. (Only highest-level drivers can call this routine.) |
IoUpdateShareAccess | Modifies the current shared access permissions on the given file object. (Only highest-level drivers can call this routine.) |
IoRemoveShareAccess | Restores the shared access permissions on the given file object that were modified by a preceding call to IoUpdateShareAccess. |
RtlLengthSecurityDescriptor | Returns the size in bytes of a given security descriptor. |
RtlValidSecurityDescriptor | Returns whether a given security descriptor is valid. |
RtlCreateSecurityDescriptor | Initializes a new security descriptor to an absolute format with default values (in effect, with no security constraints). |
RtlSetDaclSecurityDescriptor | Sets the discretionary ACL information for a given security descriptor in absolute format. |
SeAssignSecurity | Builds a security descriptor for a new object, given the security descriptor of its parent directory (if any) and an originally requested security for the object. |
SeDeassignSecurity | Deallocates the memory associated with a security descriptor that was created with SeAssignSecurity. |
SeValidSecurityDescriptor | Returns whether a given security descriptor is structurally valid. |
SeAccessCheck | Returns a Boolean value indicating whether the requested access rights can be granted to an object protected by a security descriptor and, possibly, a current owner. |
SeSinglePrivilegeCheck | Returns a Boolean value indicating whether the current thread has at least the given privilege level. |
Error handling
Function | Description |
---|---|
IoAllocateErrorLogEntry | Allocates and initializes an error log packet; returns a pointer so the caller can supply error log data and call IoWriteErrorLogEntry with the packet. |
IoFreeErrorLogEntry | Frees an error log entry allocated by IoAllocateErrorLogEntry. |
IoWriteErrorLogEntry | Queues a previously allocated error log packet, filled in by the driver, to the system error logging thread. |
IoIsErrorUserInduced | Returns a Boolean value indicating whether an I/O request failed due to one of the following (user-correctable) conditions: STATUS_IO_TIMEOUT, STATUS_DEVICE_NOT_READY, STATUS_UNRECOGNIZED_MEDIA, STATUS_VERIFY_REQUIRED, STATUS_WRONG_VOLUME, STATUS_MEDIA_WRITE_PROTECTED, or STATUS_NO_MEDIA_IN_DEVICE. If the result is TRUE, a removable-media driver must call IoSetHardErrorOrVerifyDevice before completing the IRP. |
IoSetHardErrorOrVerifyDevice | Supplies the device object for which the given IRP was failed due to a user-induced error, such as supplying the incorrect media for the requested operation or changing the media before the requested operation was completed. (A file system driver uses the associated device object to send a dialog box to the user; the user can then correct the error or retry the operation.) |
IoSetThreadHardErrorMode | Enables or disables error reporting for the current thread using IoRaiseHardError or IoRaiseInformationalHardError. |
IoRaiseHardError | Causes a dialog box to be sent to the user indicating that the given IRP was failed on the given device object for an optional VPB, so that the user can correct the error or retry the operation. |
IoRaiseInformationalHardError | Causes a dialog box to be sent to the user, showing an I/O error status and optional string supplying more information. |
ExRaiseStatus | Raises an error status so that a caller-supplied structured exception handler is called. (This routine is useful only to highest-level drivers that supply exception handlers, in particular to file systems.) |
KeBugCheckEx | Brings down the system in a controlled manner, displaying the bug-check code and possibly more information, after the caller discovers an unrecoverable inconsistency that will corrupt the system unless it is brought down. After the system is brought down, this routine displays bug-check and possibly other information. (This routine can be called when debugging under-development drivers. Otherwise, drivers should never call this routine when they can handle an error by failing an IRP and by calling IoAllocateErrorLogEntry and IoWriteErrorLogEntry.) |
KeBugCheck | Brings down the system in a controlled manner when the caller discovers an unrecoverable inconsistency that will corrupt the system if the caller continues to run. KeBugCheckEx is preferable. |
KeInitializeCallbackRecord | Initializes a bug-check callback record before a device driver calls KeRegisterBugCheckCallback. |
KeRegisterBugCheckCallback | Registers the device driver's bug-check callback routine, which is called if a system bug check occurs. Such a driver-supplied routine saves driver-determined state information, such as the contents of device registers, that would not otherwise be written into the system crash-dump file. |
KeDeregisterBugCheckCallback | Removes a device driver's callback routine from the set of registered bug-check callback routines. |
IOCTLs
IOCTL_SYSENV_ENUM_VARIABLES Returns information about system environment variables using SysEnv device. |
IOCTL_SYSENV_GET_VARIABLE Gets the value of the specified system environment variables using SysEnv device. |
IOCTL_SYSENV_QUERY_VARIABLE_INFO IOCTL_SYSENV_QUERY_VARIABLE_INFO returns information about system environment variables using SysEnv device. |
IOCTL_SYSENV_SET_VARIABLE Sets the value of the specified system environment variables using SysEnv device. |
Enumerations
BDCB_CALLBACK_TYPE The BDCB_CALLBACK_TYPE enumeration specifies whether the callback being passed to a BOOT_DRIVER_CALLBACK_FUNCTION routine is a status update or a boot-start driver initialization notification. |
BDCB_CLASSIFICATION The BDCB_CLASSIFICATION enumeration lists different classifications of boot start images. |
BDCB_STATUS_UPDATE_TYPE The BDCB_STATUS_UPDATE_TYPE enumeration lists the types of boot-driver callback status updates. |
BOUND_CALLBACK_STATUS The BOUND_CALLBACK_STATUS enumeration indicates how a user-mode bounds exception was processed by the BoundCallback function. |
BUS_DATA_TYPE The _BUS_DATA_TYPE enumeration (miniport.h) defines values that indicate the type of bus configuration space. |
BUS_DATA_TYPE The _BUS_DATA_TYPE enumeration (ntddk.h) defines values that indicate the type of bus configuration space. |
BUS_QUERY_ID_TYPE This topic describes the BUS_QUERY_ID_TYPE enumeration. |
CLFS_CONTEXT_MODE The CLFS_CONTEXT_MODE enumeration indicates the type of sequence that the Common Log File System (CLFS) driver follows when it reads a set of records from a stream. |
CLFS_MGMT_POLICY_TYPE The CLFS_MGMT_POLICY_TYPE enumeration type identifies the type of a CLFS management policy. |
CLS_LOG_INFORMATION_CLASS The CLFS_LOG_INFORMATION_CLASS enumeration indicates the type of information that is requested by a call to ClfsQueryLogFileInformation. |
D3COLD_LAST_TRANSITION_STATUS The D3COLD_LAST_TRANSITION_STATUS enumeration indicates whether the most recent transition to the D3hot device power state was followed by a transition to the D3cold device power state. |
DEVICE_DIRECTORY_TYPE The directory from which the driver is loaded. |
DEVICE_INSTALL_STATE The DEVICE_INSTALL_STATE enumeration describes a device's installation state. |
DEVICE_POWER_STATE The DEVICE_POWER_STATE enumeration type indicates a device power state. |
DEVICE_POWER_STATE Learn how the DEVICE_POWER_STATE enumeration type indicates a device power state. |
DEVICE_REGISTRY_PROPERTY The DEVICE_REGISTRY_PROPERTY enumeration identifies device properties that are stored in the registry. |
DEVICE_REMOVAL_POLICY The DEVICE_REMOVAL_POLICY enumeration describes a device's removal policy. |
DEVICE_RESET_TYPE The DEVICE_RESET_TYPE enumeration specifies the type of device reset that is being requested by a call to the DeviceReset routine of the GUID_DEVICE_RESET_INTERFACE_STANDARD interface. |
DEVICE_TEXT_TYPE This topic describes the DEVICE_TEXT_TYPE enumeration. |
DEVICE_USAGE_NOTIFICATION_TYPE Learn more about: DEVICE_USAGE_NOTIFICATION_TYPE enumeration |
DEVICE_WAKE_DEPTH The DEVICE_WAKE_DEPTH enumeration specifies the deepest device power state from which a device can trigger a wake signal. |
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE Provides the types of optional configurations that can be provided when creating a common buffer from an MDL. The configuration values corresponding to the types are held in the DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION structure. |
DMA_COMPLETION_STATUS The DMA_COMPLETION_STATUS enumeration describes the completion status of a DMA transfer. |
DOMAIN_CONFIGURATION_ARCH Defines values for type of system architecture specified. |
DRIVER_REGKEY_TYPE Learn more about: DRIVER_REGKEY_TYPE enumeration |
ENLISTMENT_INFORMATION_CLASS The ENLISTMENT_INFORMATION_CLASS enumeration identifies the type of information that the ZwSetInformationEnlistment routine can set and that the ZwQueryInformationEnlistment routine can retrieve for an enlistment object. |
EX_POOL_PRIORITY Learn more about: EX_POOL_PRIORITY |
GPIO_PIN_CONFIG_TYPE Learn how the GPIO_PIN_CONFIG_TYPE enumeration describes a connection IO resource. |
GPIO_PIN_CONFIG_TYPE The GPIO_PIN_CONFIG_TYPE enumeration describes a connection IO resource. |
GPIO_PIN_IORESTRICTION_TYPE Learn how the GPIO_PIN_IORESTRICTION_TYPE enumeration describes the functions that a GPIO pin is limited to performing. |
GPIO_PIN_IORESTRICTION_TYPE The GPIO_PIN_IORESTRICTION_TYPE enumeration describes the functions that a GPIO pin is limited to performing. |
HAL_APIC_DESTINATION_MODE This topic describes the HAL_APIC_DESTINATION_MODE enumeration (ntddk.h). |
HAL_QUERY_INFORMATION_CLASS The HAL_QUERY_INFORMATION_CLASS enumeration is reserved for system use only. Do not use. |
HAL_SET_INFORMATION_CLASS The _HAL_SET_INFORMATION_CLASS enumeration defines values used by the pHalSetSystemInformation callback function that are reserved for internal use. |
HARDWARE_COUNTER_TYPE The HARDWARE_COUNTER_TYPE enumeration specifies the type of a hardware counter. |
IMAGE_POLICY_ENTRY_TYPE The _IMAGE_POLICY_ENTRY_TYPE enumeration is not supported. |
IMAGE_POLICY_ID The _IMAGE_POLICY_ID enumeration is not supported. |
INTERFACE_TYPE The _INTERFACE_TYPE enumeration (miniport.h) defines values that indicate the type of bus driver that published the interface. |
INTERFACE_TYPE The _INTERFACE_TYPE enumeration (wdm.h) defines values that indicate the type of bus driver that published the interface. |
IO_ACCESS_MODE Defines the types of access mode for Scheduled File I/O (SFIO). |
IO_ACCESS_MODE _IO_ACCESS_MODE defines the types of access mode for Scheduled File I/O (SFIO). |
IO_ACCESS_TYPE Defines the access rights for Scheduled File I/O (SFIO). |
IO_ACCESS_TYPE _IO_ACCESS_TYPE defines the access rights for Scheduled File I/O (SFIO). |
IO_ALLOCATION_ACTION The IO_ALLOCATION_ACTION enumerated type is used to specify return values for AdapterControl and ControllerControl routines. |
IO_CONTAINER_INFORMATION_CLASS The IO_CONTAINER_INFORMATION_CLASS enumeration contains constants that indicate the classes of system information that a kernel-mode driver can request. |
IO_CONTAINER_NOTIFICATION_CLASS The IO_CONTAINER_NOTIFICATION_CLASS enumeration contains constants that indicate the classes of events for which a kernel-mode driver can register to receive notifications. |
IO_NOTIFICATION_EVENT_CATEGORY Learn more about: IO_NOTIFICATION_EVENT_CATEGORY enumeration |
IO_PAGING_PRIORITY The IO_PAGING_PRIORITY enumeration describes the priority value for a paging I/O IRP. |
IO_PRIORITY_HINT The IO_PRIORITY_HINT enumeration type specifies the priority hint for an IRP. |
IO_SESSION_EVENT The IO_SESSION_EVENT enumeration indicates the type of session event for which a driver is receiving notification. |
IO_SESSION_STATE The IO_SESSION_STATE enumeration contains constants that indicate the current state of a user session. |
IOMMU_DEVICE_CREATION_CONFIGURATION_TYPE Describes the configuration types that are used upon IOMMU_DMA_DEVICE creation depending on the device type and the system. |
IOMMU_DMA_DOMAIN_TYPE Describes the domain types that can be created and interacted with via the DMA_IOMMU_INTERFACE_EX. |
IOMMU_DMA_LOGICAL_ALLOCATOR_TYPE The IOMMU_DMA_LOGICAL_ALLOCATOR_TYPE enum indicates the type of logical allocator described in an IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG structure. |
IOMMU_MAP_PHYSICAL_ADDRESS_TYPE The IOMMU_MAP_PHYSICAL_ADDRESS_TYPE enum indicates the format of the physical address described in an IOMMU_MAP_PHYSICAL_ADDRESS structure. |
IRQ_DEVICE_POLICY The _IRQ_DEVICE_POLICY enumeration (miniport.h) type indicates the operating system policy used to assign interrupts from a device to different processors. |
IRQ_DEVICE_POLICY The _IRQ_DEVICE_POLICY enumeration (wdm.h) type indicates the operating system policy used to assign interrupts from a device to different processors. |
IRQ_PRIORITY The _IRQ_PRIORITY enumeration (miniport.h) type indicates the priority the system should give to servicing a device's interrupts. |
IRQ_PRIORITY The _IRQ_PRIORITY enumeration (wdm.h) type indicates the priority the system should give to servicing a device's interrupts. |
KBUGCHECK_CALLBACK_REASON The KBUGCHECK_CALLBACK_REASON enumeration type specifies the situations in which a bug-check callback executes. |
KBUGCHECK_DUMP_IO_TYPE The KBUGCHECK_DUMP_IO_TYPE enumeration type identifies the type of a section of data within a crash dump file. |
KD_CALLBACK_ACTION This topic describes the KD_CALLBACK_ACTION enumeration (ntddk.h). |
KD_NAMESPACE_ENUM This topic describes the KD_NAMESPACE_ENUM enumeration (ntddk.h). |
KE_PROCESSOR_CHANGE_NOTIFY_STATE This topic describes the KE_PROCESSOR_CHANGE_NOTIFY_STATE enumeration. |
KEY_INFORMATION_CLASS The KEY_INFORMATION_CLASS enumeration type represents the type of information to supply about a registry key. |
KEY_SET_INFORMATION_CLASS The KEY_SET_INFORMATION_CLASS enumeration type represents the type of information to set for a registry key. |
KEY_VALUE_INFORMATION_CLASS The KEY_VALUE_INFORMATION_CLASS enumeration type specifies the type of information to supply about the value of a registry key. |
KINTERRUPT_MODE The _KINTERRUPT_MODE enumeration (miniport.h) type indicates whether an interrupt is level-triggered or edge-triggered. |
KINTERRUPT_MODE The _KINTERRUPT_MODE enumeration (wdm.h) type indicates whether an interrupt is level-triggered or edge-triggered. |
KINTERRUPT_POLARITY The _KINTERRUPT_POLARITY enumeration (miniport.h) contains values that indicate how a device signals an interrupt request on an interrupt line. |
KINTERRUPT_POLARITY The _KINTERRUPT_POLARITY enumeration (wdm.h) contains values that indicate how a device signals an interrupt request on an interrupt line. |
KTMOBJECT_TYPE The KTMOBJECT_TYPE enumeration identifies the types of objects that KTM supports. |
LATENCY_TIME This topic describes the LATENCY_TIME enumeration. |
MEM_EXTENDED_PARAMETER_TYPE Defines values for extended parameters are used for file mapping into an address space. |
MEM_SECTION_EXTENDED_PARAMETER_TYPE Learn more about: MEM_SECTION_EXTENDED_PARAMETER_TYPE enumeration |
MEMORY_CACHING_TYPE The _MEMORY_CACHING_TYPE enumeration (miniport.h) type specifies the permitted caching behavior when allocating or mapping memory. |
MEMORY_CACHING_TYPE The _MEMORY_CACHING_TYPE enumeration (wdm.h) type specifies the permitted caching behavior when allocating or mapping memory. |
MONITOR_DISPLAY_STATE Indicates the power state of the monitor being displayed on. |
MONITOR_DISPLAY_STATE Learn how this method indicates the power state of the monitor being displayed on. |
PCI_BUS_WIDTH This topic describes the PCI_BUS_WIDTH enumeration. |
PCI_BUS_WIDTH This topic describes the PCI_BUS_WIDTH enumeration (ntddk.h). |
PCI_DEVICE_D3COLD_STATE_REASON This topic describes the PCI_DEVICE_D3COLD_STATE_REASON enumeration. |
PCI_DEVICE_D3COLD_STATE_REASON This topic describes the PCI_DEVICE_D3COLD_STATE_REASON enumeration (ntddk.h). |
PCI_EXPRESS_ASPM_CONTROL This topic describes the PCI_EXPRESS_ASPM_CONTROL enumeration. |
PCI_EXPRESS_ASPM_CONTROL This topic describes the PCI_EXPRESS_ASPM_CONTROL enumeration (ntddk.h). |
PCI_EXPRESS_ASPM_SUPPORT This topic describes the PCI_EXPRESS_ASPM_SUPPORT enumeration. |
PCI_EXPRESS_ASPM_SUPPORT This topic describes the PCI_EXPRESS_ASPM_SUPPORT enumeration (ntddk.h). |
PCI_EXPRESS_CARD_PRESENCE This topic describes the PCI_EXPRESS_CARD_PRESENCE enumeration. |
PCI_EXPRESS_CARD_PRESENCE This topic describes the PCI_EXPRESS_CARD_PRESENCE enumeration (ntddk.h). |
PCI_EXPRESS_DEVICE_TYPE This topic describes the PCI_EXPRESS_DEVICE_TYPE enumeration. |
PCI_EXPRESS_DEVICE_TYPE This topic describes the PCI_EXPRESS_DEVICE_TYPE enumeration (ntddk.h). |
PCI_EXPRESS_INDICATOR_STATE This topic describes the PCI_EXPRESS_INDICATOR_STATE enumeration. |
PCI_EXPRESS_INDICATOR_STATE This topic describes the PCI_EXPRESS_INDICATOR_STATE enumeration (ntddk.h). |
PCI_EXPRESS_L0s_EXIT_LATENCY This topic describes the PCI_EXPRESS_L0s_EXIT_LATENCY enumeration. |
PCI_EXPRESS_L0s_EXIT_LATENCY This topic describes the PCI_EXPRESS_L0s_EXIT_LATENCY enumeration (ntddk.h). |
PCI_EXPRESS_L1_EXIT_LATENCY This topic describes the PCI_EXPRESS_L1_EXIT_LATENCY enumeration. |
PCI_EXPRESS_L1_EXIT_LATENCY This topic describes the PCI_EXPRESS_L1_EXIT_LATENCY enumeration (ntddk.h). |
PCI_EXPRESS_LINK_SUBSTATE This topic describes the PCI_EXPRESS_LINK_SUBSTATE enumeration. |
PCI_EXPRESS_LINK_SUBSTATE This topic describes the PCI_EXPRESS_LINK_SUBSTATE enumeration (ntddk.h). |
PCI_EXPRESS_MAX_PAYLOAD_SIZE This topic describes the PCI_EXPRESS_MAX_PAYLOAD_SIZE enumeration (ntddk.h). |
PCI_EXPRESS_MRL_STATE This topic describes the PCI_EXPRESS_MRL_STATE enumeration. |
PCI_EXPRESS_MRL_STATE This topic describes the PCI_EXPRESS_MRL_STATE enumeration (ntddk.h). |
PCI_EXPRESS_POWER_STATE This topic describes the PCI_EXPRESS_POWER_STATE enumeration. |
PCI_EXPRESS_POWER_STATE This topic describes the PCI_EXPRESS_POWER_STATE enumeration (ntddk.h). |
PCI_EXPRESS_RCB This topic describes the PCI_EXPRESS_RCB enumeration. |
PCI_EXPRESS_RCB This topic describes the PCI_EXPRESS_RCB enumeration (ntddk.h). |
PCR_BTI_VBAR_INDEX Describes the PCR_BTI_VBAR_INDEX enumeration. |
PEP_ACPI_OBJECT_TYPE Learn how the PEP_ACPI_OBJECT_TYPE enumeration indicates the type of ACPI object. |
PEP_ACPI_OBJECT_TYPE The PEP_ACPI_OBJECT_TYPE enumeration indicates the type of ACPI object. |
PEP_ACPI_RESOURCE_TYPE Learn how the PEP_ACPI_RESOURCE_TYPE enumeration is used to identify the type of ACPI resource that is contained in the PEP_ACPI_RESOURCE union. |
PEP_ACPI_RESOURCE_TYPE The PEP_ACPI_RESOURCE_TYPE enumeration is used to identify the type of ACPI resource that is contained in the PEP_ACPI_RESOURCE union. |
PEP_DEVICE_ACCEPTANCE_TYPE Learn how the PEP_DEVICE_ACCEPTANCE_TYPE enumeration indicates whether a PEP accepts ownership of a device. |
PEP_DEVICE_ACCEPTANCE_TYPE The PEP_DEVICE_ACCEPTANCE_TYPE enumeration indicates whether a PEP accepts ownership of a device. |
PEP_PERF_STATE_TYPE Learn how the PEP_PERF_STATE_TYPE enumeration indicates the type of performance information that is specified for a performance state (P-state) of a component. |
PEP_PERF_STATE_TYPE The PEP_PERF_STATE_TYPE enumeration indicates the type of performance information that is specified for a performance state (P-state) of a component. |
PEP_PERF_STATE_UNIT Learn how the PEP_PERF_STATE_UNIT enumeration indicates the measurement units in which the performance state (P-state) of a component is specified. |
PEP_PERF_STATE_UNIT The PEP_PERF_STATE_UNIT enumeration indicates the measurement units in which the performance state (P-state) of a component is specified. |
PEP_PROCESSOR_IDLE_CANCEL_CODE The PEP_PROCESSOR_IDLE_CANCEL_CODE enumeration values indicate reasons why a processor cannot enter an idle state that was previously selected by the platform extension plug-in (PEP). |
PEP_PROCESSOR_IDLE_TYPE The PEP_PROCESSOR_IDLE_TYPE enumeration indicates whether idle constraints apply to just the current processor or to all processors in the hardware platform. |
PEP_WORK_TYPE Learn how the PEP_WORK_TYPE enumeration describes the type of work that the platform extension plug-in (PEP) is requesting. |
PEP_WORK_TYPE The PEP_WORK_TYPE enumeration describes the type of work that the platform extension plug-in (PEP) is requesting. |
PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE The PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE enumeration contains constants that indicate the type of hardware performance counter resource that is described by a PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR structure. |
PO_EFFECTIVE_POWER_MODE The PO_EFFECTIVE_POWER_MODE enumeration constants indicates the effective power mode the system is running. |
PO_FX_PERF_STATE_TYPE The PO_FX_PERF_STATE_TYPE enumeration contains values that describe the type of performance states in a PO_FX_COMPONENT_PERF_SET. |
PO_FX_PERF_STATE_UNIT The PO_FX_PERF_STATE_UNIT enumeration contains values that describe the type of unit that is controlled by the performance states in a PO_FX_COMPONENT_PERF_SET. |
PO_INTERNAL_WAKE_SOURCE_TYPE Learn more about: PO_INTERNAL_WAKE_SOURCE_TYPE enumeration |
POOL_EXTENDED_PARAMETER_TYPE Learn more about: POOL_EXTENDED_PARAMETER_TYPE |
POOL_TYPE The POOL_TYPE enumeration type specifies the type of system memory to allocate. |
POWER_ACTION The POWER_ACTION enumeration identifies the system power actions that can occur on a computer. |
POWER_ACTION Learn how the POWER_ACTION enumeration (wdm.h) identifies the system power actions that can occur on a computer. |
POWER_INFORMATION_LEVEL Indicates power level information. |
POWER_INFORMATION_LEVEL POWER_INFORMATION_LEVEL enumerates power level information indicators. |
POWER_MONITOR_REQUEST_REASON Defines values for power transitions reasons for a monitor. |
POWER_MONITOR_REQUEST_REASON This topic describes the POWER_MONITOR_REQUEST_REASON enumeration. |
POWER_MONITOR_REQUEST_TYPE This topic describes the POWER_MONITOR_REQUEST_TYPE enumeration. |
POWER_REQUEST_TYPE The POWER_REQUEST_TYPE enumeration indicates the power request type. |
POWER_REQUEST_TYPE Learn how the POWER_REQUEST_TYPE enumeration indicates the power request type. |
POWER_STATE_TYPE The POWER_STATE_TYPE enumeration type indicates that a power state value is a system power state or a device power state. |
POWER_STATE_TYPE Learn how the POWER_STATE_TYPE enumeration type indicates that a power state value is a system power state or a device power state. |
POWER_USER_PRESENCE_TYPE This topic describes the POWER_USER_PRESENCE_TYPE enumeration. |
PROCESS_MITIGATION_POLICY Enumerates process mitigation policies. |
PSCREATEPROCESSNOTIFYTYPE Indicates the type of process notification. This enumeration is used in PsSetCreateProcessNotifyRoutineEx2 to register callback notifications. |
PSCREATETHREADNOTIFYTYPE Indicates the type of thread notification. This enumeration is used in PsSetCreateThreadNotifyRoutineEx to register callback notifications associated with thread creation or deletion. |
REG_NOTIFY_CLASS The REG_NOTIFY_CLASS enumeration type specifies the type of registry operation that the configuration manager is passing to a RegistryCallback routine. |
RESOURCEMANAGER_INFORMATION_CLASS The RESOURCEMANAGER_INFORMATION_CLASS enumeration identifies the type of information that the ZwQueryInformationResourceManager routine can retrieve for a resource manager object. |
SE_IMAGE_TYPE Learn more about: _SE_IMAGE_TYPE enumeration |
STATE_LOCATION_TYPE Defines values for persisted state locations for device and driver files. |
SUBSYSTEM_INFORMATION_TYPE Indicates the type of subsystem for a process or thread. This enumeration is used in NtQueryInformationProcess and NtQueryInformationThread calls. |
SYSTEM_POWER_CONDITION This topic describes the SYSTEM_POWER_CONDITION enumeration. |
SYSTEM_POWER_STATE The SYSTEM_POWER_STATE enumeration type is used to indicate a system power state. |
SYSTEM_POWER_STATE Learn how the SYSTEM_POWER_STATE enumeration type is used to indicate a system power state. |
TRACE_INFORMATION_CLASS The TRACE_INFORMATION_CLASS enumeration type is used to indicate types of information associated with a WMI event tracing session. |
TRANSACTION_INFORMATION_CLASS The TRANSACTION_INFORMATION_CLASS enumeration specifies the type of information that ZwSetInformationTransaction can set and ZwQueryInformationTransaction can retrieve for a transaction manager object. |
TRANSACTION_OUTCOME The TRANSACTION_OUTCOME enumeration defines the outcomes (results) that KTM can assign to a transaction. |
TRANSACTION_STATE The TRANSACTION_STATE enumeration defines the states that KTM can assign to a transaction. |
TRANSACTIONMANAGER_INFORMATION_CLASS The TRANSACTIONMANAGER_INFORMATION_CLASS enumeration specifies the type of information that the ZwQueryInformationTransactionManager routine can retrieve for a transaction manager object. |
WHEA_PCI_RECOVERY_SIGNAL Describes the WHEA_PCI_RECOVERY_SIGNAL enumeration. |
WHEA_PCI_RECOVERY_STATUS Describes the WHEA_PCI_RECOVERY_STATUS enumeration. |
WHEAP_DPC_ERROR_EVENT_TYPE This topic describes the WHEAP_DPC_ERROR_EVENT_TYPE enumeration. |
WORK_QUEUE_TYPE The WORK_QUEUE_TYPE enumeration type indicates the type of system worker thread that handles a work item. |
Functions
__mulh |
__RtlpMultiply128 |
__RtlpUnsignedMultiply128 |
__umulh |
_BitTest64 This topic describes the _BitTest64 function. |
_BitTest64 The _BitTest64 function... |
_BitTestAndComplement64 This topic describes the _BitTestAndComplement64 function. |
_BitTestAndComplement64 The _BitTestAndComplement64 function... |
_BitTestAndReset64 This topic describes the _BitTestAndReset64 function. |
_BitTestAndReset64 The _BitTestAndReset64 function... |
_BitTestAndSet64 This topic describes the _BitTestAndSet64 function. |
_BitTestAndSet64 The _BitTestAndSet64 function... |
_ReadWriteBarrier Describes the ReadWriteBarrier~r1 function (miniport.h). |
_ReadWriteBarrier Describes the ReadWriteBarrier~r2 function (wdm.h). |
_WHEA_SIGNAL_HANDLER_OVERRIDE_CALLBACK This topic describes the _WHEA_SIGNAL_HANDLER_OVERRIDE_CALLBACK callback function. |
ALLOCATE_FUNCTION_EX The LookasideListAllocateEx routine allocates the storage for a new lookaside-list entry when a client requests an entry from a lookaside list that is empty. |
AppendTailList The AppendTailList routine appends a doubly linked list of LIST_ENTRY structures to the tail of another doubly linked list of LIST_ENTRY structures. |
ARM64_SYSREG_CRM Returns the CRn field for a given ARM system register. |
ARM64_SYSREG_CRN Learn how the method returns the CRn field for a given ARM system register. |
ARM64_SYSREG_OP1 Returns the op1 field for a given ARM system register. |
ARM64_SYSREG_OP2 Returns the op2 field for a given ARM system register. |
AuxKlibEnumerateSystemFirmwareTables The AuxKlibEnumerateSystemFirmwareTables routine enumerates all system firmware tables of the specified type. |
AuxKlibGetBugCheckData The AuxKlibGetBugCheckData routine retrieves information about a bug check that has just occurred. |
AuxKlibGetImageExportDirectory The AuxKlibGetImageExportDirectory routine returns an image module's export directory. |
AuxKlibGetSystemFirmwareTable The AuxKlibGetSystemFirmwareTable routine retrieves the specified firmware table from the firmware table provider. |
AuxKlibInitialize The AuxKlibInitialize routine initializes the Auxiliary Kernel-Mode Library. |
AuxKlibQueryModuleInformation The AuxKlibQueryModuleInformation routine retrieves information about the image modules that the operating system has loaded. |
BarrierAfterRead Describes the BarrierAfterRead function (miniport.h). |
BarrierAfterRead Describes the BarrierAfterRead~r1 (miniport.h) function. |
BarrierAfterRead Describes the BarrierAfterRead~r2 function (miniport.h). |
BarrierAfterRead Describes the BarrierAfterRead function (wdm.h). |
BarrierAfterRead Describes the BarrierAfterRead~r1 function (wdm.h). |
BarrierAfterRead Describes the BarrierAfterRead~r2 function (wdm.h). |
BOOT_DRIVER_CALLBACK_FUNCTION Learn more about: BOOT_DRIVER_CALLBACK_FUNCTION callback function |
BOUND_CALLBACK The BoundCallback routine is executed whenever the system issues a bounds exception for a user-mode thread. |
ClfsAddLogContainer The ClfsAddLogContainer routine adds a container to a CLFS log. |
ClfsAddLogContainerSet The ClfsAddLogContainerSet routine atomically adds a set of containers to a CLFS log. |
ClfsAdvanceLogBase The ClfsAdvanceLogBase routine sets the base LSN of a CLFS stream. |
ClfsAlignReservedLog The ClfsAlignReservedLog routine calculates the size of the space that must be reserved for a specified set of records. The size calculation includes the space required for headers and the space required for sector alignment. |
ClfsAllocReservedLog The ClfsAllocReservedLog routine reserves space in a marshalling area for a set of records. |
ClfsCloseAndResetLogFile The ClfsCloseAndResetLogFile routine releases all references to a specified log file object and marks its associated stream for reset. |
ClfsCloseLogFileObject The ClfsCloseLogFileObject routine releases all references to a log file object. |
ClfsCreateLogFile The ClfsCreateLogFile routine creates or opens a CLFS stream. If necessary, ClfsCreateLogFile also creates the underlying physical log that holds the stream's records. |
ClfsCreateMarshallingArea The ClfsCreateMarshallingArea routine creates a marshalling area for a CLFS stream and returns a pointer to an opaque context that represents the new marshalling area. |
ClfsCreateScanContext The ClfsCreateScanContext routine creates a scan context that can be used to iterate over the containers of a specified CLFS log. |
ClfsDeleteLogByPointer The ClfsDeleteLogByPointer routine marks a CLFS stream for deletion. |
ClfsDeleteLogFile The ClfsDeleteLogFile routine marks a CLFS stream for deletion. |
ClfsDeleteMarshallingArea The ClfsDeleteMarshallingArea routine deletes a marshalling area. |
ClfsFlushBuffers The ClfsFlushBuffers routine forces all log I/O blocks in a specified marshalling area to stable storage. |
ClfsFlushToLsn The ClfsFlushToLsn routine forces, to stable storage, all records that have an LSN less than or equal to a specified LSN. |
ClfsGetContainerName The ClfsGetContainerName routine returns the path name of a specified container. |
ClfsGetIoStatistics The ClfsGetIoStatistics routine returns I/O statistics for a specified CLFS log. |
ClfsLsnBlockOffset The ClfsLsnBlockOffset routine returns the sector-aligned block offset contained in a specified LSN. |
ClfsLsnContainer The ClfsLsnContainer routine returns the logical container identifier contained in a specified LSN. |
ClfsLsnCreate The ClfsLsnCreate routine creates a log sequence number (LSN), given a container identifier, a block offset, and a record sequence number. |
ClfsLsnEqual The ClfsLsnEqual routine determines whether two LSNs from the same stream are equal. |
ClfsLsnGreater The ClfsLsnGreater routine determines whether one LSN is greater than another LSN. The two LSNs must be from the same stream. |
ClfsLsnLess The ClfsLsnLess routine determines whether one LSN is less than another LSN. The two LSNs must be from the same stream. |
ClfsLsnNull The ClfsLsnNull routine determines whether a specified LSN is equal to the smallest possible LSN, CLFS_LSN_NULL. |
ClfsLsnRecordSequence The ClfsLsnRecordSequence routine returns the record sequence number contained in a specified LSN. |
ClfsMgmtDeregisterManagedClient The ClfsMgmtDeregisterManagedClient routine removes the connection between a client and a log, so that the client no longer manages the log. |
ClfsMgmtHandleLogFileFull The ClfsMgmtHandleLogFileFull routine attempts to make more space available in a log. It might make more space available by adding containers to the log, or it might ask clients to move their log tails. |
ClfsMgmtInstallPolicy The ClfsMgmtInstallPolicy routine adds a CLFS_MGMT_POLICY structure to a physical log. |
ClfsMgmtQueryPolicy The ClfsMgmtQueryPolicy routine retrieves a specific CLFS_MGMT_POLICY structure for a log. |
ClfsMgmtRegisterManagedClient The ClfsMgmtRegisterManagedClient routine creates a client that will manage a CLFS log. |
ClfsMgmtRemovePolicy The ClfsMgmtRemovePolicy routine resets a log's CLFS_MGMT_POLICY structure to its default value. |
ClfsMgmtSetLogFileSize The ClfsMgmtSetLogFileSize routine adds containers to a log or deletes containers from a log. |
ClfsMgmtSetLogFileSizeAsClient The ClfsMgmtSetLogFileSizeAsClient routine sets the log file size by adding containers to a client log or deleting containers from a client log. |
ClfsMgmtTailAdvanceFailure The ClfsMgmtTailAdvanceFailure routine notifies CLFS management that the client could not advance the log's tail. |
ClfsQueryLogFileInformation The ClfsQueryLogFileInformation routine returns metadata and state information for a specified CLFS stream or its underlying physical log or both. |
ClfsReadLogRecord The ClfsReadLogRecord routine reads a target record in a CLFS stream and returns a read context that the caller can use to read the records preceding or following it in the stream. |
ClfsReadNextLogRecord The ClfsReadNextLogRecord routine reads the next record in a sequence, relative to the current record in a read context. |
ClfsReadPreviousRestartArea The ClfsReadPreviousRestartArea routine reads the previous restart record relative to the current record in a read context. |
ClfsReadRestartArea The ClfsReadRestartArea routine reads the restart record that was most recently written to a specified CLFS stream. |
ClfsRemoveLogContainer The ClfsRemoveLogContainer routine removes a container from a CLFS log. |
ClfsRemoveLogContainerSet The ClfsRemoveLogContainerSet routine atomically removes a set of containers from a CLFS log. |
ClfsReserveAndAppendLog The ClfsReserveAndAppendLog routine reserves space in a marshalling area or appends a record to a marshalling area or does both atomically. |
ClfsReserveAndAppendLogAligned The ClfsReserveAndAppendLogAligned routine reserves space in a marshalling area or appends a record to a marshalling area or does both atomically. The record's data is aligned on specified boundaries. |
ClfsScanLogContainers The ClfsScanLogContainers routine retrieves descriptive information for a sequence of containers that belong to a particular CLFS log. |
ClfsSetArchiveTail The ClfsSetArchiveTail routine sets the archive tail of a CLFS log to a specified LSN. |
ClfsSetEndOfLog The ClfsSetEndOfLog routine truncates a CLFS stream. |
ClfsSetLogFileInformation The ClfsSetLogFileInformation routine sets metadata and state information for a specified stream and its underlying physical log. |
ClfsTerminateReadLog The ClfsTerminateReadLog routine invalidates a specified read context after freeing resources associated with the context. |
ClfsWriteRestartArea The ClfsWriteRestartArea routine atomically appends a new restart record to a CLFS stream, flushes the restart record to stable storage, and optionally updates the base LSN of the stream. |
CmCallbackGetKeyObjectID The CmCallbackGetKeyObjectID routine retrieves the unique identifier and object name that are associated with a specified registry key object. |
CmCallbackGetKeyObjectIDEx The CmCallbackGetKeyObjectIDEx routine retrieves the unique identifier and object name that are associated with a specified registry key object. |
CmCallbackReleaseKeyObjectIDEx The CmCallbackReleaseKeyObjectIDEx routine frees an object name string obtained from the CmCallbackGetKeyObjectIDEx routine. |
CmGetBoundTransaction The CmGetBoundTransaction routine returns a pointer to the transaction object that represents the transaction, if any, that is associated with a specified registry key object. |
CmGetCallbackVersion The CmGetCallbackVersion routine retrieves the major and minor version numbers for the current version of the configuration manager's registry callback feature. |
CmRegisterCallback The CmRegisterCallback routine is obsolete for Windows Vista and later operating system versions. Use CmRegisterCallbackEx instead.The CmRegisterCallback routine registers a RegistryCallback routine. |
CmRegisterCallbackEx The CmRegisterCallbackEx routine registers a RegistryCallback routine. |
CmSetCallbackObjectContext The CmSetCallbackObjectContext routine associates specified context information with a specified registry object. |
CmUnRegisterCallback The CmUnRegisterCallback routine unregisters a RegistryCallback routine that a CmRegisterCallback or CmRegisterCallbackEx routine previously registered. |
CUSTOM_SYSTEM_EVENT_TRIGGER_INIT Initializes the CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG structure. |
D3COLD_REQUEST_AUX_POWER Enables the function device object (FDO) to convey its auxiliary power requirement. |
D3COLD_REQUEST_CORE_POWER_RAIL Enables the function device object (FDO) to indicate whether the core power rail is needed. |
D3COLD_REQUEST_PERST_DELAY Enables the function device object (FDO) to convey its requirement for a fixed delay time. |
DEVICE_QUERY_BUS_SPECIFIC_RESET_HANDLER This topic describes the DEVICE_QUERY_BUS_SPECIFIC_RESET_HANDLER callback function. |
DEVICE_RESET_HANDLER The DeviceReset routine is used to reset and recover a malfunctioning device. |
DMA_COMPLETION_ROUTINE The DmaCompletionRoutine callback routine notifies the driver that previously requested a system DMA transfer that this transfer is complete. |
DRIVER_ADD_DEVICE The AddDevice routine is responsible for creating functional device objects (FDO) or filter device objects (filter DO) for devices enumerated by the Plug and Play (PnP) manager. |
DRIVER_CANCEL The Cancel routine cancels an I/O operation. |
DRIVER_CONTROL This routine starts a DMA data-transfer or a data transfer operation. |
DRIVER_DISPATCH The callback routine services various IRPs. For a list of function codes, see Remarks. |
DRIVER_INITIALIZE DriverEntry is the first routine called after a driver is loaded, and is responsible for initializing the driver. |
DRIVER_LIST_CONTROL The AdapterListControl routine starts a direct memory access (DMA) scatter/gather operation. |
DRIVER_REINITIALIZE The Reinitialize routine continues driver and device initialization after the driver's DriverEntry routine returns. |
DRIVER_STARTIO The StartIo routine starts the I/O operation described by an IRP. |
DRIVER_UNLOAD The Unload routine performs any operations that are necessary before the system unloads the driver. |
EtwSetInformation The EtwSetInformation provides special-purpose information to modify a kernel-mode ETW provider registration. |
EX_CALLBACK_FUNCTION A filter driver's RegistryCallback routine can monitor, block, or modify a registry operation. |
ExAcquireFastMutex Learn more about the ExAcquireFastMutex routine. |
ExAcquireFastMutexUnsafe Learn more about the ExAcquireFastMutexUnsafe routine. |
ExAcquirePushLockExclusive Acquires the given push lock for exclusive access by the calling thread. |
ExAcquirePushLockShared Acquires the given push lock for shared access by the calling thread. |
ExAcquireResourceExclusiveLite The ExAcquireResourceExclusiveLite routine acquires the given resource for exclusive access by the calling thread. |
ExAcquireResourceSharedLite The ExAcquireResourceSharedLite routine acquires the given resource for shared access by the calling thread. |
ExAcquireRundownProtection The ExAcquireRundownProtection routine tries to acquire run-down protection on a shared object so the caller can safely access the object. |
ExAcquireRundownProtectionCacheAware This topic describes the ExAcquireRundownProtectionCacheAware function. |
ExAcquireRundownProtectionCacheAwareEx This topic describes the ExAcquireRundownProtectionCacheAwareEx function. |
ExAcquireRundownProtectionEx The ExAcquireRundownProtectionEx routine tries to acquire run-down protection on a shared object so the caller can safely access the object. |
ExAcquireSharedStarveExclusive The ExAcquireSharedStarveExclusive routine acquires a given resource for shared access without waiting for any pending attempts to acquire exclusive access to the same resource. |
ExAcquireSharedWaitForExclusive The ExAcquireSharedWaitForExclusive routine acquires the given resource for shared access if shared access can be granted and there are no exclusive waiters. |
ExAcquireSpinLockExclusive The ExAcquireSpinLockExclusive routine acquires a spin lock for exclusive access by the caller, and raises the IRQL to DISPATCH_LEVEL. |
ExAcquireSpinLockExclusiveAtDpcLevel Learn more about the ExAcquireSpinLockExclusiveAtDpcLevel routine. |
ExAcquireSpinLockShared The ExAcquireSpinLockShared routine acquires a spin lock for shared access by the caller, and raises the IRQL to DISPATCH_LEVEL. |
ExAcquireSpinLockSharedAtDpcLevel Learn more about the ExAcquireSpinLockSharedAtDpcLevel routine. |
ExAllocateCacheAwareRundownProtection This topic describes the ExAllocateCacheAwareRundownProtection function. |
ExAllocateFromLookasideListEx The ExAllocateFromLookasideListEx routine removes the first entry from the specified lookaside list, or, if the list is empty, dynamically allocates the storage for a new entry. |
ExAllocateFromNPagedLookasideList The ExAllocateFromNPagedLookasideList routine returns a pointer to a nonpaged entry from the given lookaside list, or it returns a pointer to a newly allocated nonpaged entry. |
ExAllocateFromPagedLookasideList The ExAllocateFromPagedLookasideList routine returns a pointer to a paged entry from the given lookaside list, or it returns a pointer to a newly allocated paged entry. |
ExAllocatePool The ExAllocatePool routine is obsolete, and is exported only for existing binaries. Use ExAllocatePoolWithTag instead. ExAllocatePool allocates pool memory. |
ExAllocatePool2 Learn more about: ExAllocatePool2 |
ExAllocatePool3 Learn more about: ExAllocatePool3 |
ExAllocatePoolPriorityUninitialized ExAllocatePoolPriorityUninitialized allocates pool memory of the specified type. This routine is a wrapper and replacement option for ExAllocatePoolWithTagPriority. |
ExAllocatePoolPriorityZero Learn more about: ExAllocatePoolPriorityZero |
ExAllocatePoolQuotaUninitialized The ExAllocatePoolQuotaUninitialized routine allocates pool memory, charging the quota against the current process. |
ExAllocatePoolQuotaZero Learn more about: ExAllocatePoolQuotaZero |
ExAllocatePoolUninitialized This routine is a wrapper and replacement option for ExAllocatePoolWithTag. |
ExAllocatePoolWithQuota Obsolete. Use ExAllocatePoolWithQuotaTag instead. ExAllocatePoolWithQuota allocates pool memory. It is exported only for existing driver binaries. |
ExAllocatePoolWithQuotaTag The ExAllocatePoolWithQuotaTag routine allocates pool memory, charging the quota against the current process. |
ExAllocatePoolWithTag Obsolete. Use ExAllocatePool2 instead. The ExAllocatePoolWithTag routine allocates pool memory of the specified type and returns a pointer to the allocated block. |
ExAllocatePoolWithTagPriority The ExAllocatePoolWithTagPriority routine allocates pool memory of the specified type. |
ExAllocatePoolZero Learn more about: ExAllocatePoolZero |
ExAllocateTimer The ExAllocateTimer routine allocates and initializes a timer object. |
ExCancelTimer The ExCancelTimer routine cancels a timer that was set by a previous call to the ExSetTimer routine. |
ExConvertExclusiveToSharedLite The ExConvertExclusiveToSharedLite routine converts a given resource from acquired for exclusive access to acquired for shared access. |
ExCreateCallback The ExCreateCallback routine either creates a new callback object or opens an existing callback object on behalf of the caller. |
ExCreatePool Defines the ExCreatePool function. |
ExDeleteLookasideListEx The ExDeleteLookasideListEx routine deletes a lookaside list. |
ExDeleteNPagedLookasideList The ExDeleteNPagedLookasideList routine destroys a nonpaged lookaside list. |
ExDeletePagedLookasideList The ExDeletePagedLookasideList routine destroys a paged lookaside list. |
ExDeleteResourceLite The ExDeleteResourceLite routine deletes a given resource from the system's resource list. |
ExDeleteTimer The ExDeleteTimer routine deletes a timer object that was previously allocated by the ExAllocateTimer routine. |
ExDestroyPool Defines the ExDestroyPool function. |
ExEnterCriticalRegionAndAcquireResourceExclusive Learn more about the ExEnterCriticalRegionAndAcquireResourceExclusive routine. |
ExFlushLookasideListEx The ExFlushLookasideListEx routine flushes all entries from the specified lookaside list and frees the allocated storage for each entry. |
ExFreeCacheAwareRundownProtection This topic describes the ExFreeCacheAwareRundownProtection function. |
ExFreePool The ExFreePool macro (ntddk.h) routine deallocates a specified block of pool memory that was previously allocated. |
ExFreePool The ExFreePool function (wdm.h) deallocates a specified block of pool memory that was previously allocated. |
ExFreePool2 Defines the ExFreePool2 function. |
ExFreePoolWithTag The ExFreePoolWithTag routine deallocates a block of pool memory allocated with the specified tag. |
ExFreeToLookasideListEx The ExFreeToLookasideListEx routine inserts an entry into a lookaside list, or, if the list is full, frees the allocated storage for the entry. |
ExFreeToNPagedLookasideList The ExFreeToNPagedLookasideList routine returns a nonpaged entry to the given lookaside list or to nonpaged pool. |
ExFreeToPagedLookasideList The ExFreeToPagedLookasideList routine returns a pageable entry to the given lookaside list or to paged pool. |
ExGetExclusiveWaiterCount The ExGetExclusiveWaiterCount routine returns the number of waiters on exclusive access to a given resource. |
ExGetFirmwareEnvironmentVariable The ExGetFirmwareEnvironmentVariable routine gets the value of the specified system firmware environment variable. |
ExGetFirmwareType Returns the system firmware type. |
ExGetPreviousMode The ExGetPreviousMode routine returns the previous processor mode for the current thread. |
ExGetPrmInterface Retrieves pointers to PRM interfaces. |
ExGetSharedWaiterCount The ExGetSharedWaiterCount routine returns the number of waiters on shared access to a given resource. |
ExInitializeDeleteTimerParameters The ExInitializeDeleteTimerParameters routine initializes an EXT_DELETE_PARAMETERS structure. |
ExInitializeDeviceAts Describes the ExInitializeDeviceAts function. |
ExInitializeDriverRuntime Learn more about: ExInitializeDriverRuntime |
ExInitializeFastMutex The ExInitializeFastMutex routine initializes a fast mutex variable, used to synchronize mutually exclusive access by a set of threads to a shared resource. |
ExInitializeLookasideListEx The ExInitializeLookasideListEx routine initializes a lookaside list. |
ExInitializeNPagedLookasideList The ExInitializeNPagedLookasideList routine initializes a lookaside list for nonpaged entries of the specified size. |
ExInitializePagedLookasideList The ExInitializePagedLookasideList routine initializes a lookaside list for pageable entries of the specified size. |
ExInitializePushLock Initializes a push lock variable. |
ExInitializeResourceLite The ExInitializeResourceLite routine initializes a resource variable. |
ExInitializeRundownProtection The ExInitializeRundownProtection routine initializes run-down protection on a shared object. |
ExInitializeRundownProtectionCacheAware This topic describes the ExInitializeRundownProtectionCacheAware function. |
ExInitializeRundownProtectionCacheAwareEx |
ExInitializeSetTimerParameters The ExInitializeSetTimerParameters routine initializes an EXT_SET_PARAMETERS structure. |
ExInterlockedAddLargeInteger The ExInterlockedAddLargeInteger routine adds a large integer value to the specified variable as an atomic operation. |
ExInterlockedAddLargeStatistic The ExInterlockedAddLargeStatistic routine performs an interlocked addition of a ULONG increment value to a LARGE_INTEGER variable. |
ExInterlockedAddUlong The ExInterlockedAddUlong routine adds an unsigned long value to a given unsigned integer as an atomic operation. |
ExInterlockedCompareExchange64 The ExInterlockedCompareExchange64 routine compares one integer variable to another and, if they are equal, sets the first variable to a caller-supplied value. |
ExInterlockedFlushSList The ExInterlockedFlushSList routine atomically removes all entries from a sequenced singly linked list. |
ExInterlockedInsertHeadList The ExInterlockedInsertHeadList routine atomically inserts an entry at the beginning of a doubly linked list of LIST_ENTRY structures. |
ExInterlockedInsertTailList The ExInterlockedInsertTailList routine atomically inserts an entry at the end of a doubly linked list of LIST_ENTRY structures. |
ExInterlockedPopEntryList The ExInterlockedPopEntryList routine atomically removes an entry from the beginning of a singly linked list of SINGLE_LIST_ENTRY structures. |
ExInterlockedPopEntrySList The ExInterlockedPopEntrySList routine atomically removes the first entry from a sequenced singly linked list. |
ExInterlockedPushEntryList The ExInterlockedPushEntryList routine atomically inserts an entry at the beginning of a singly linked list of SINGLE_LIST_ENTRY structures. |
ExInterlockedPushEntrySList The ExInterlockedPushEntrySList routine atomically inserts an entry at the beginning of a sequenced singly linked list. |
ExInterlockedRemoveHeadList The ExInterlockedRemoveHeadList routine removes an entry from the beginning of a doubly linked list of LIST_ENTRY structures. |
ExIsProcessorFeaturePresent The ExIsProcessorFeaturePresent routine queries for the existence of a specified processor feature. |
ExIsResourceAcquiredExclusiveLite The ExIsResourceAcquiredExclusiveLite routine returns whether the current thread has exclusive access to a given resource. |
ExIsResourceAcquiredSharedLite The ExIsResourceAcquiredSharedLite routine returns whether the current thread has access (either shared or exclusive) to a given resource. |
ExIsSoftBoot Determines whether the system has gone through a soft restart. |
ExLocalTimeToSystemTime The ExLocalTimeToSystemTime routine converts a system time value for the current time zone to an unbiased, GreenGMT value. |
ExNotifyCallback The ExNotifyCallback routine causes all callback routines registered for the given object to be called. |
EXPAND_STACK_CALLOUT The ExpandedStackCall routine executes with a guaranteed stack size. |
ExpInterlockedPopEntrySList Describes the ExpInterlockedPopEntrySList function. |
ExpInterlockedPushEntrySList Describes the ExpInterlockedPushEntrySList function. |
ExQueryDepthSList The ExQueryDepthSList routine returns the number of entries currently in a given sequenced singly linked list. |
ExQueryTimerResolution The ExQueryTimerResolution routine reports the range of timer resolutions that are supported by the system clock. |
ExRaiseAccessViolation The ExRaiseAccessViolation routine can be used with structured exception handling to throw a driver-determined exception for a memory access violation that occurs when a driver processes I/O requests. |
ExRaiseDatatypeMisalignment The ExRaiseDatatypeMisalignment routine can be used with structured exception handling to throw a driver-determined exception for a misaligned data type that occurs when a driver processes I/O requests. |
ExRaiseStatus The ExRaiseStatus routine is called by drivers that supply structured exception handlers to handle particular errors that occur while they are processing I/O requests. |
ExRegisterCallback The ExRegisterCallback routine registers a given callback routine with a given callback object. |
ExReinitializeResourceLite The ExReinitializeResourceLite routine reinitializes an existing resource variable. |
ExReInitializeRundownProtection The ExReInitializeRundownProtection routine reinitializes an EX_RUNDOWN_REF structure after the associated object is run down. |
ExReInitializeRundownProtectionCacheAware This topic describes the ExReInitializeRundownProtectionCacheAware function. |
ExReleaseFastMutex Learn more about the ExReleaseFastMutex routine. |
ExReleaseFastMutexUnsafe Learn more about the ExReleaseFastMutexUnsafe routine. |
ExReleasePushLockExclusive Releases a specified push lock for exclusive access owned by the current thread. |
ExReleasePushLockShared Releases a specified push lock for shared access owned by the current thread. |
ExReleaseResourceAndLeaveCriticalRegion Learn more about the ExReleaseResourceAndLeaveCriticalRegion routine. |
ExReleaseResourceForThreadLite The ExReleaseResourceForThreadLite routine releases the input resource of the indicated thread. |
ExReleaseResourceLite The ExReleaseResourceLite routine releases a specified executive resource owned by the current thread. |
ExReleaseRundownProtection The ExReleaseRundownProtection routine releases run-down protection that the caller previously acquired by calling the ExAcquireRundownProtection routine. |
ExReleaseRundownProtectionCacheAware This topic describes the ExReleaseRundownProtectionCacheAware function. |
ExReleaseRundownProtectionCacheAwareEx This topic describes the ExReleaseRundownProtectionCacheAwareEx function. |
ExReleaseRundownProtectionEx The ExReleaseRundownProtectionEx routine releases run-down protection that the caller previously acquired by calling the ExAcquireRundownProtectionEx routine. |
ExReleaseSpinLockExclusive The ExReleaseSpinLockExclusive routine releases a spin lock that the caller previously acquired for exclusive access, and restores the IRQL to its original value. |
ExReleaseSpinLockExclusiveFromDpcLevel Learn more about the ExReleaseSpinLockExclusiveFromDpcLevel routine. |
ExReleaseSpinLockShared The ExReleaseSpinLockShared routine releases ownership of a spin lock that the caller previously acquired for shared access, and restores the IRQL to its original value. |
ExReleaseSpinLockSharedFromDpcLevel Learn more about the ExReleaseSpinLockSharedFromDpcLevel routine. |
ExRundownCompleted The ExRundownCompleted routine updates the run-down status of a shared object to indicate that the run down of the object has completed. |
ExRundownCompletedCacheAware This topic describes the ExRundownCompletedCacheAware function. |
ExSecurePoolUpdate The ExSecurePoolUpdate function updates the contents of the secure pool allocation. |
ExSecurePoolValidate The ExSecurePoolValidate function validates that the secure pool provided is indeed the one previously created. |
ExSetFirmwareEnvironmentVariable The ExSetFirmwareEnvironmentVariable routine sets the value of the specified system firmware environment variable. |
ExSetResourceOwnerPointer The ExSetResourceOwnerPointer routine sets the owner thread pointer for an executive resource. |
ExSetResourceOwnerPointerEx The ExSetResourceOwnerPointerEx routine transfers the ownership of an executive resource from the calling thread to an owner pointer, which is a system address that identifies the resource owner. |
ExSetTimer The ExSetTimer routine starts a timer operation and sets the timer to expire at the specified due time. |
ExSetTimerResolution The ExSetTimerResolution routine modifies the frequency at which the system clock interrupts. Use this routine with extreme caution (see the following Remarks section). |
ExSizeOfRundownProtectionCacheAware This topic describes the ExSizeOfRundownProtectionCacheAware function. |
ExSystemTimeToLocalTime The ExSystemTimeToLocalTime routine converts a GMT system time value to the local system time for the current time zone. |
EXT_CALLBACK An ExTimerCallback callback routine runs after an EX_TIMER timer object's time interval expires. |
EXT_DELETE_CALLBACK An ExTimerDeleteCallback callback routine runs when the operating system deletes an EX_TIMER timer object. |
ExTryConvertSharedSpinLockExclusive The ExTryConvertSharedSpinLockExclusive routine attempts to convert the access state of a spin lock from acquired for shared access to exclusive access. |
ExTryToAcquireFastMutex Learn more about the ExTryToAcquireFastMutex routine. |
ExUnregisterCallback The ExUnregisterCallback routine removes a callback routine previously registered with a callback object from the list of routines to be called during the notification process. |
ExUuidCreate The ExUuidCreate routine initializes a UUID (GUID) structure to a newly generated value. |
ExWaitForRundownProtectionRelease The ExWaitForRundownProtectionRelease routine waits until all drivers that have already been granted run-down protection complete their accesses of the shared object. |
ExWaitForRundownProtectionReleaseCacheAware This topic describes the ExWaitForRundownProtectionReleaseCacheAware function. |
FIELD_OFFSET The FIELD_OFFSET macro (miniport.h) returns the byte offset of the specified field in the specified known structure type. |
FIELD_OFFSET The FIELD_OFFSET macro (wdm.h) returns the byte offset of the specified field in the specified known structure type. |
FirstEntrySList The FirstEntrySList routine returns the first entry in a sequenced singly linked list. |
FPGA_BUS_SCAN Reserved for future use. Triggers a bus scan at the parent of the FPGA device. |
FPGA_CONTROL_CONFIG_SPACE Reserved for future use. Enables or disables the access to the configuration space of the FPGA device. |
FPGA_CONTROL_ERROR_REPORTING Reserved for future use. Toggles the error reporting for the FPGA device and its parent bridge. |
FPGA_CONTROL_LINK Reserved for future use of FPGA_CONTROL_LINK. |
FREE_FUNCTION_EX The LookasideListFreeEx routine frees the storage for a lookaside-list entry when a client tries to insert the entry into a lookaside list that is full. |
GET_D3COLD_CAPABILITY The GetBusDriverD3ColdSupport routine enables the driver for a device to query whether the enumerating bus driver supports the D3cold device power state. |
GET_D3COLD_LAST_TRANSITION_STATUS The GetLastTransitionStatus routine enables the driver for a device to query whether the most recent transition to the D3hot substate was followed by a transition to the D3cold substate. |
GET_DEVICE_RESET_STATUS This topic describes the GET_DEVICE_RESET_STATUS callback function. |
GET_DMA_ADAPTER The GetDmaAdapter routine returns a DMA_ADAPTER structure for the target device. |
GET_IDLE_WAKE_INFO The GetIdleWakeInfo routine enables the driver for a device to discover the device power states from which the device can signal a wake event. |
GET_SDEV_IDENTIFIER This material is not yet available. This placeholder topic is provided as an example of documentation that may be included in a later release. |
GET_SET_DEVICE_DATA The GetBusData routine reads data from the device's configuration space. |
GET_UPDATED_BUS_RESOURCE Reports the latest resource lists. |
HalAllocateHardwareCounters The HalAllocateHardwareCounters routine allocates a set of hardware performance counters. |
HalExamineMBR The HalExamineMBR function reads the master boot record (MBR) of a disk and returns the MBR data if the MBR is of the specified type. |
HalFreeHardwareCounters The HalFreeHardwareCounters routine frees a set of hardware performance counters that was acquired in a previous call to HalAllocateHardwareCounters routine. |
HalGetBusDataByOffset This function retrieves information, starting at the offset, about a slot or address on an I/O bus. |
HalSetBusDataByOffset This function sets bus-configuration data for a device on a dynamically configurable I/O bus with a published, standard interface. |
IMAGE_POLICY_OVERRIDE Reserved for the IMAGE_POLICY_OVERRIDE macro. |
InitializeListHead The InitializeListHead routine initializes a LIST_ENTRY structure that represents the head of a doubly linked list. |
InitializeSListHead The InitializeSListHead routine (or ExInitializeSListHead) initializes an SLIST_HEADER structure that represents the head of a sequenced singly linked list. |
InsertHeadList The InsertHeadList routine inserts an entry at the head of a doubly linked list of LIST_ENTRY structures. |
InsertTailList The InsertTailList routine inserts an entry at the tail of a doubly linked list of LIST_ENTRY structures. |
InterlockedAnd The InterlockedAnd (miniport.h) macro atomically computes a bitwise AND operation with the specified variable and specified value. |
InterlockedAnd The InterlockedAnd (wdm.h) macro atomically computes a bitwise AND operation with the specified variable and specified value. |
InterlockedCompareExchange The InterlockedCompareExchange routine performs an atomic operation that compares the input value pointed to by Destination with the value of Comparand. |
InterlockedCompareExchange The InterlockedCompareExchange routine performs an atomic operation that compares the input value pointed to by Destination with the value of Comperand. |
InterlockedCompareExchangePointer The InterlockedCompareExchangePointer routine performs an atomic operation that compares the input pointer value pointed to by Destination with the pointer value Comparand. |
InterlockedCompareExchangePointer The InterlockedCompareExchangePointer routine performs an atomic operation that compares the input pointer value pointed to by Destination with the pointer value Comperand. |
InterlockedDecrement The InterlockedDecrement function (miniport.h) decrements a caller-supplied variable of type LONG as an atomic operation. |
InterlockedDecrement The InterlockedDecrement function (wdm.h) decrements a caller-supplied variable of type LONG as an atomic operation. |
InterlockedExchange The InterlockedExchange function (miniport.h) sets an integer variable to a given value as an atomic operation. |
InterlockedExchange The InterlockedExchange function (wdm.h) sets an integer variable to a given value as an atomic operation. |
InterlockedExchangeAdd The InterlockedExchangeAdd function (miniport.h) adds a value to a given integer as an atomic operation and returns the original value of the given integer. |
InterlockedExchangeAdd The InterlockedExchangeAdd function (wdm.h) adds a value to a given integer as an atomic operation and returns the original value of the given integer. |
InterlockedExchangePointer The InterlockedExchangePointer function (miniport.h) performs an atomic operation that sets a pointer to a new value. |
InterlockedExchangePointer The InterlockedExchangePointer function (wdm.h) performs an atomic operation that sets a pointer to a new value. |
InterlockedIncrement The InterlockedIncrement function (miniport.h) increments a caller-supplied variable as an atomic operation. |
InterlockedIncrement The InterlockedIncrement function (wdm.h) increments a caller-supplied variable as an atomic operation. |
InterlockedOr The InterlockedOr function (miniport.h) atomically computes a bitwise OR operation with the specified variable and specified value. |
InterlockedOr The InterlockedOr function (wdm.h) atomically computes a bitwise OR operation with the specified variable and specified value. |
InterlockedXor The InterlockedXor function (miniport.h) atomically computes a bitwise exclusive OR operation with the specified variable and specified value. |
InterlockedXor The InterlockedXor function (wdm.h) atomically computes a bitwise exclusive OR operation with the specified variable and specified value. |
IO_COMPLETION_ROUTINE The IoCompletion routine completes the processing of I/O operations. |
IO_CSQ_ACQUIRE_LOCK The CsqAcquireLock routine is used by the system to acquire the lock for a driver-implemented, cancel-safe IRP queue. |
IO_CSQ_COMPLETE_CANCELED_IRP The CsqCompleteCanceledIrp routine is used by the system to signal to the driver that it can complete a canceled IRP. |
IO_CSQ_INSERT_IRP The CsqInsertIrp routine is used by the system to insert an IRP into a driver-implemented, cancel-safe IRP queue. |
IO_CSQ_INSERT_IRP_EX The CsqInsertIrpEx routine is used by the system to insert an IRP into a driver-implemented, cancel-safe IRP queue. |
IO_CSQ_PEEK_NEXT_IRP The CsqPeekNextIrp routine is used by the system to find the next matching IRP in a driver-implemented, cancel-safe IRP queue. |
IO_CSQ_RELEASE_LOCK The CsqReleaseLock routine is used by the system to release the lock that was acquired using CsqAcquireLock. |
IO_CSQ_REMOVE_IRP The CsqRemoveIrp routine is used by the system to remove the specified IRP from a driver-implemented, cancel-safe IRP queue. |
IO_DPC_ROUTINE The DpcForIsr routine finishes the servicing of an I/O operation, after an InterruptService routine returns. |
IO_SESSION_NOTIFICATION_FUNCTION The IO_SESSION_NOTIFICATION_FUNCTION function type defines a callback routine through which a driver receives notifications of changes in the state of user sessions that the driver is interested in. |
IO_TIMER_ROUTINE The IoTimer routine is a DPC that, if registered, is called once per second. |
IO_WORKITEM_ROUTINE A WorkItem routine performs the processing for a work item that was queued by the IoQueueWorkItem routine. |
IO_WORKITEM_ROUTINE_EX A WorkItemEx routine performs the processing for a work item that was queued by the IoQueueWorkItemEx or IoTryQueueWorkItem routine. |
IoAcquireCancelSpinLock Learn more about the IoAcquireCancelSpinLock routine. |
IoAcquireKsrPersistentMemory Microsoft reserves the IoAcquireKsrPersistentMemory function for internal use only. Don't use this function in your code. |
IoAcquireKsrPersistentMemoryEx Microsoft reserves the IoAcquireKsrPersistentMemoryEx function for internal use only. Don't use this function in your code. |
IoAcquireRemoveLock The IoAcquireRemoveLock routine increments the count for a remove lock, indicating that the associated device object should not be detached from the device stack or deleted. |
IoAdjustPagingPathCount The IoAdjustPagingPathCount routine increments or decrements a caller-supplied page-file counter as an atomic operation. |
IoAllocateAdapterChannel Deprecated. Use PALLOCATE_ADAPTER_CHANNEL. |
IoAllocateController The IoAllocateController routine sets up the call to a driver-supplied ControllerControl routine as soon as the device controller, represented by the given controller object, is available to carry out an I/O operation for the target device, represented by the given device object. |
IoAllocateDriverObjectExtension The IoAllocateDriverObjectExtension routine allocates a per-driver context area, called a driver object extension, and assigns a unique identifier to it. |
IoAllocateErrorLogEntry The IoAllocateErrorLogEntry routine allocates an error log entry, and returns a pointer to the packet that the caller uses to supply information about an I/O error. |
IoAllocateIrp The IoAllocateIrp routine allocates an IRP, given the number of I/O stack locations for each driver layered under the caller, and, optionally, for the caller. |
IoAllocateIrpEx IoAllocateIrpEx allocates an I/O request packet (IRP) from |
IoAllocateMdl The IoAllocateMdl routine allocates a memory descriptor list (MDL) large enough to map a buffer, given the buffer's starting address and length. Optionally, this routine associates the MDL with an IRP. |
IoAllocateWorkItem The IoAllocateWorkItem routine allocates a work item. |
IoAssignArcName The IoAssignArcName routine creates a symbolic link between the ARC name of a physical device and the name of the corresponding device object when it has been created. |
IoAttachDevice The IoAttachDevice routine attaches the caller's device object to a named target device object, so that I/O requests bound for the target device are routed first to the caller. |
IoAttachDeviceToDeviceStack The IoAttachDeviceToDeviceStack routine attaches the caller's device object to the highest device object in the chain and returns a pointer to the previously highest device object. |
IoBuildAsynchronousFsdRequest The IoBuildAsynchronousFsdRequest routine allocates and sets up an IRP to be sent to lower-level drivers. |
IoBuildDeviceIoControlRequest The IoBuildDeviceIoControlRequest routine allocates and sets up an IRP for a synchronously processed device control request. |
IoBuildPartialMdl The IoBuildPartialMdl routine builds a new memory descriptor list (MDL) that represents part of a buffer that is described by an existing MDL. |
IoBuildSynchronousFsdRequest The IoBuildSynchronousFsdRequest routine allocates and sets up an IRP for a synchronously processed I/O request. |
IoCallDriver The IoCallDriver routine sends an IRP to the driver associated with a specified device object. |
IoCancelIrp The IoCancelIrp routine sets the cancel bit in a given IRP and calls the cancel routine for the IRP if there is one. |
IoCheckFileObjectOpenedAsCopyDestination Learn more about the IoCheckFileObjectOpenedAsCopyDestination function. |
IoCheckFileObjectOpenedAsCopySource Learn more about the IoCheckFileObjectOpenedAsCopySource function. |
IoCheckLinkShareAccess The IoCheckLinkShareAccess routine is called by file system drivers (FSDs) or other highest-level drivers to check whether link shared access to a file object is permitted. |
IoCheckShareAccess The IoCheckShareAccess routine is called by file system drivers (FSDs) or other highest-level drivers to check whether shared access to a file object is permitted. |
IoCheckShareAccessEx The IoCheckShareAccessEx routine is called by file system drivers (FSDs) or other highest-level drivers to check whether shared access to a file object is permitted. |
IoClearActivityIdThread The IoClearActivityIdThread routine clears the activity ID of the current thread. |
IoConnectInterrupt The IoConnectInterrupt routine registers a device driver's InterruptService routine (ISR), so that it will be called when a device interrupts on any of a specified set of processors. |
IoConnectInterruptEx For more information, see the WdmlibIoConnectInterruptEx function.#define IoConnectInterruptEx WdmlibIoConnectInterruptEx |
IoCopyCurrentIrpStackLocationToNext The IoCopyCurrentIrpStackLocationToNext routine copies the IRP stack parameters from the current I/O stack location to the stack location of the next-lower driver. |
IoCreateController The IoCreateController routine allocates memory for and initializes a controller object with a controller extension of a driver-determined size. |
IoCreateDevice The IoCreateDevice routine creates a device object for use by a driver. |
IoCreateFile The IoCreateFile routine either causes a new file or directory to be created, or it opens an existing file, device, directory, or volume, giving the caller a handle for the file object. |
IoCreateNotificationEvent The IoCreateNotificationEvent routine creates or opens a named notification event used to notify one or more threads of execution that an event has occurred. |
IoCreateSymbolicLink The IoCreateSymbolicLink routine sets up a symbolic link between a device object name and a user-visible name for the device. |
IoCreateSynchronizationEvent The IoCreateSynchronizationEvent routine creates or opens a named synchronization event for use in serialization of access to hardware between two otherwise unrelated drivers. |
IoCreateSystemThread The IoCreateSystemThread routine creates a system thread that executes in kernel mode, and supplies a handle for the thread. |
IoCreateUnprotectedSymbolicLink The IoCreateUnprotectedSymbolicLink routine sets up an unprotected symbolic link between a device object name and a corresponding Win32-visible name. |
IoCsqInitialize The IoCsqInitialize routine initializes the driver's cancel-safe IRP queue dispatch table. |
IoCsqInitializeEx The IoCsqInitializeEx routine initializes the dispatch table for a cancel-safe IRP queue. |
IoCsqInsertIrp The IoCsqInsertIrp routine inserts an IRP in the driver's cancel-safe IRP queue. |
IoCsqInsertIrpEx The IoCsqInsertIrpEx routine inserts an IRP into the driver's cancel-safe IRP queue. |
IoCsqRemoveIrp The IoCsqRemoveIrp routine removes a particular IRP from the queue. |
IoCsqRemoveNextIrp The IoCsqRemoveNextIrp routine removes the next matching IRP in the queue. |
IoDeassignArcName The IoDeassignArcName routine removes a symbolic link between the ARC name for a device and the named device object. |
IoDecrementKeepAliveCount The IoDecrementKeepAliveCount routine decrements a reference count associated with a Windows app on a specific device. |
IoDeleteController The IoDeleteController routine removes a given controller object from the system, for example, when the driver that created it is being unloaded. |
IoDeleteDevice The IoDeleteDevice routine removes a device object from the system, for example, when the underlying device is removed from the system. |
IoDeleteSymbolicLink The IoDeleteSymbolicLink routine removes a symbolic link from the system. |
IoDetachDevice The IoDetachDevice routine releases an attachment between the caller's device object and a lower driver's device object. |
IoDisconnectInterrupt The IoDisconnectInterrupt routine releases a device driver's set of interrupt object(s) when the device is paused or removed, or when the driver is being unloaded. |
IoDisconnectInterruptEx For more information, see the WdmlibIoDisconnectInterruptEx function.#define IoDisconnectInterruptEx WdmlibIoDisconnectInterruptEx |
IoEnumerateKsrPersistentMemoryEx Microsoft reserves the IoEnumerateKsrPersistentMemoryEx function for internal use only. Don't use this function in your code. |
IofCallDriver Call IoCallDriver instead. Sends an IRP to the driver associated with a specified device object. |
IofCompleteRequest The IoCompleteRequest routine indicates that the caller has completed all processing for a given I/O request and is returning the given IRP to the I/O manager. |
IoForwardIrpSynchronously The IoForwardIrpSynchronously routine sends an IRP to a specified driver and waits for that driver to complete the IRP. |
IoFreeController The IoFreeController routine releases a previously allocated controller object when the driver has completed an I/O request. |
IoFreeErrorLogEntry The IoFreeErrorLogEntry routine frees an unused error log entry. |
IoFreeIrp The IoFreeIrp routine releases a caller-allocated IRP from the caller's IoCompletion routine. |
IoFreeKsrPersistentMemory Microsoft reserves the IoFreeKsrPersistentMemory function for internal use only. Don't use this function in your code. |
IoFreeMdl The IoFreeMdl routine releases a caller-allocated memory descriptor list (MDL). |
IoFreeWorkItem The IoFreeWorkItem routine frees a work item that was allocated by IoAllocateWorkItem. |
IoGetActivityIdIrp The IoGetActivityIdIrp routine retrieves the current activity ID associated with an IRP. |
IoGetActivityIdThread The IoGetActivityIdThread routine returns the activity ID associated with the current thread. |
IoGetAffinityInterrupt For more information, see the WdmlibIoGetAffinityInterrupt function.#define IoGetAffinityInterrupt WdmlibIoGetAffinityInterrupt |
IoGetAttachedDeviceReference Learn more about the IoGetAttachedDeviceReference routine. |
IoGetAttachedDeviceReference The IoGetAttachedDeviceReference routine in wdm.h returns a pointer to the highest level device object in a driver stack and increments the reference count. |
IoGetBootDiskInformation The IoGetBootDiskInformation routine returns information describing the boot and system disks. |
IoGetConfigurationInformation The IoGetConfigurationInformation function (ntddk.h) returns a pointer to the I/O manager's global configuration information structure. |
IoGetConfigurationInformation Learn more about the IoGetConfigurationInformation function. |
IoGetContainerInformation The IoGetContainerInformation routine provides information about the current state of a user session. |
IoGetCurrentIrpStackLocation The IoGetCurrentIrpStackLocation routine returns a pointer to the caller's I/O stack location in the specified IRP. |
IoGetCurrentProcess The IoGetCurrentProcess routine returns a pointer to the current process. |
IoGetDeviceDirectory Returns a handle to a directory on disk specific to the specified driver object where the driver can read and write files. |
IoGetDeviceInterfaceAlias The IoGetDeviceInterfaceAlias routine returns the alias device interface of the specified device interface instance, if the alias exists. |
IoGetDeviceInterfacePropertyData The IoGetDeviceInterfacePropertyData routine retrieves the current value of a device interface property. |
IoGetDeviceInterfaces The IoGetDeviceInterfaces routine returns a list of device interface instances of a particular device interface class (such as all devices on the system that support a HID interface). |
IoGetDeviceNumaNode The IoGetDeviceNumaNode routine gets the node number of a device. |
IoGetDeviceObjectPointer The IoGetDeviceObjectPointer routine returns a pointer to the top object in the named device object's stack and a pointer to the corresponding file object, if the requested access to the objects can be granted. |
IoGetDeviceProperty The IoGetDeviceProperty routine retrieves information about a device such as configuration information and the name of its PDO. |
IoGetDevicePropertyData The IoGetDevicePropertyData routine retrieves the current setting for a device property. |
IoGetDmaAdapter The IoGetDmaAdapter routine returns a pointer to the DMA adapter structure for a physical device object. |
IoGetDriverDirectory Returns a handle to a directory on disk from which the driver can read and write files. The files in that directory apply to a specific driver object. |
IoGetDriverObjectExtension The IoGetDriverObjectExtension routine retrieves a previously allocated per-driver context area. |
IoGetFileObjectGenericMapping The IoGetFileObjectGenericMapping routine returns information about the mapping between each generic access right and the set of specific access rights for file objects. |
IoGetFunctionCodeFromCtlCode The IoGetFunctionCodeFromCtlCode macro returns the value of the function code contained in an I/O control code. |
IoGetInitialStack The IoGetInitialStack routine returns the base address of the current thread's stack. |
IoGetInitiatorProcess The IoGetInitiatorProcess routine retrieves the process which initiated the creation of a file object if different than the process which is issuing the create. |
IoGetIommuInterface Retrieves a pointer to the interface that contains pointers to IOMMU routines. |
IoGetIommuInterfaceEx Retrieves a pointer to the extended interface that contains a set of IOMMU routines. |
IoGetIoPriorityHint The IoGetIoPriorityHint routine gets the priority hint value from an IRP. |
IoGetNextIrpStackLocation The IoGetNextIrpStackLocation routine gives a higher level driver access to the next-lower driver's I/O stack location in an IRP so the caller can set it up for the lower driver. |
IoGetPagingIoPriority The IoGetPagingIoPriority routine indicates the priority level of a paging I/O request. |
IoGetRelatedDeviceObject Given a file object, the IoGetRelatedDeviceObject routine returns a pointer to the corresponding device object. |
IoGetRemainingStackSize The IoGetRemainingStackSize routine returns the current amount of available kernel-mode stack space. |
IoGetShadowFileInformation This topic describes the IoGetShadowFileInformation function. |
IoGetStackLimits The IoGetStackLimits routine returns the boundaries of the current thread's stack frame. |
IoIncrementKeepAliveCount The IoIncrementKeepAliveCount routine increments a reference count associated with a Windows app process on a specific device. |
IoInitializeDpcRequest The IoInitializeDpcRequest routine registers a driver-supplied DpcForIsr routine. |
IoInitializeIrp The IoInitializeIrp routine initializes a given IRP that was allocated by the caller. |
IoInitializeRemoveLock The IoInitializeRemoveLock routine initializes a remove lock for a device object. |
IoInitializeTimer The IoInitializeTimer routine sets up a driver-supplied IoTimer routine associated with a given device object. |
IoInitializeWorkItem The IoInitializeWorkItem routine initializes a work item that the caller has already allocated. |
IoInvalidateDeviceRelations The IoInvalidateDeviceRelations routine notifies the PnP manager that the relations for a device (such as bus relations, ejection relations, removal relations, and the target device relation) have changed. |
IoInvalidateDeviceState The IoInvalidateDeviceState routine notifies the PnP manager that some aspect of the PnP state of a device has changed. |
IoIs32bitProcess The IoIs32bitProcess routine checks whether the originator of the current I/O request is a 32-bit user-mode application. |
IoIsErrorUserInduced The IoIsErrorUserInduced routine determines whether an I/O error encountered while processing a request to a removable-media device was caused by the user. |
IoIsValidIrpStatus The IoIsValidIrpStatus routine validates the specified NTSTATUS status code value. |
IoIsWdmVersionAvailable The IoIsWdmVersionAvailable routine checks whether a given WDM version is supported by the operating system. |
IoMakeAssociatedIrp This routine is reserved for use by file systems and file system filter drivers. |
IoMarkIrpPending The IoMarkIrpPending routine marks the specified IRP, indicating that a driver's dispatch routine subsequently returned STATUS_PENDING because further processing is required by other driver routines. |
IOMMU_DEVICE_CREATE Takes a physical device object and creates an IOMMU_DMA_DEVICE. |
IOMMU_DEVICE_DELETE Deletes the provided IOMMU_DMA_DEVICE. |
IOMMU_DEVICE_FAULT_HANDLER Reports fault from a specific device and domain. |
IOMMU_DEVICE_QUERY_DOMAIN_TYPES Queries for the available types of domains that a IOMMU_DMA_DEVICE is allowed to attach to, depending on environment factors, such as platform and DMA Guard Policy. |
IOMMU_DOMAIN_ATTACH_DEVICE Attaches a device to an existing domain. |
IOMMU_DOMAIN_ATTACH_DEVICE_EX Attaches an IOMMU_DMA_DEVICE to an existing DMA device domain. |
IOMMU_DOMAIN_CONFIGURE Configures a domain for use. |
IOMMU_DOMAIN_CREATE Creates a new DMA remapping device domain (a container for a set of page tables). |
IOMMU_DOMAIN_CREATE_EX Creates a new DMA device domain based on the provided domain type. |
IOMMU_DOMAIN_DELETE Deletes an existing domain. |
IOMMU_DOMAIN_DETACH_DEVICE Detaches a device from an existing domain. |
IOMMU_DOMAIN_DETACH_DEVICE_EX Detaches a IOMMU_DMA_DEVICE from an existing domain. |
IOMMU_FLUSH_DOMAIN Flushes the TLB for all entries which match this domain. |
IOMMU_FLUSH_DOMAIN_VA_LIST Flushes the TLB for all entries that match the specified domain's ASID and one of the addresses in the provided list. |
IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE Frees a logical address token created by IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE. |
IOMMU_INTERFACE_STATE_CHANGE_CALLBACK This routine is invoked whenever there has been a system state change that affects a DMA_IOMMU_INTERFACE_EX. |
IOMMU_MAP_IDENTITY_RANGE Creates an identity mapping for the provided MDL in the provided domain. |
IOMMU_MAP_IDENTITY_RANGE_EX Creates an identity mapping for a provided physical address space in the provided domain. |
IOMMU_MAP_LOGICAL_RANGE Maps a range of pages into the address space of a domain. |
IOMMU_MAP_LOGICAL_RANGE_EX Maps physical address space into the logical address space of an IOMMU_DMA_DOMAIN. |
IOMMU_MAP_RESERVED_LOGICAL_RANGE Maps a reserved logical range. |
IOMMU_QUERY_INPUT_MAPPINGS Attempts to find input mapping IDs which are valid for the given device and populate the provided buffer with those IDs. |
IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK Allows the caller to register a callback to be invoked whenever any state change related to a DMA_IOMMU_INTERFACE_EX occurs. |
IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE Preallocates logical address space that can be used for future mappings. |
IOMMU_SET_DEVICE_FAULT_REPORTING This routine sets the device fault reporting state to a device already attached to a domain. |
IOMMU_SET_DEVICE_FAULT_REPORTING_EX This routine set the device fault reporting state on a device already attached to a domain. |
IOMMU_UNMAP_IDENTITY_RANGE Deletes an identity mapping for the specified MDL. |
IOMMU_UNMAP_IDENTITY_RANGE_EX Deletes an identity mapping created by IOMMU_MAP_IDENTITY_RANGE_EX. |
IOMMU_UNMAP_LOGICAL_RANGE Unmaps a linear range from a domain. |
IOMMU_UNMAP_RESERVED_LOGICAL_RANGE Unmaps a previously mapped reserved logical range. |
IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK Allows the caller to deregister a registered IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK. |
IoOpenDeviceInterfaceRegistryKey The IoOpenDeviceInterfaceRegistryKey routine returns a handle to a registry key for storing information about a particular device interface instance. |
IoOpenDeviceRegistryKey The IoOpenDeviceRegistryKey routine returns a handle to a registry state location for a particular device instance. |
IoOpenDriverRegistryKey Reserved for the IoOpenDriverRegistryKey function. |
IoPropagateActivityIdToThread The IoPropagateActivityIdToThread routine associates the activity ID from an IRP with the current thread. |
IoQueryFullDriverPath The IoQueryFullDriverPath routine retrieves the full path name of the binary file that is loaded for the specified driver object. |
IoQueryKsrPersistentMemorySize Microsoft reserves the IoQueryKsrPersistentMemorySize function for internal use only. Don't use this function in your code. |
IoQueryKsrPersistentMemorySizeEx Microsoft reserves the IoQueryKsrPersistentMemorySizeEx function for internal use only. Don't use this function in your code. |
IoQueueWorkItem The IoQueueWorkItem routine associates a WorkItem routine with a work item, and it inserts the work item into a queue for later processing by a system worker thread. |
IoQueueWorkItemEx The IoQueueWorkItemEx routine associates a WorkItemEx routine with a work item, and it inserts the work item into a queue for later processing by a system worker thread. |
IoRaiseHardError The IoRaiseHardError routine causes a dialog box to appears that warns the user that a device I/O error has occurred, which might indicate that a physical device is failing. |
IoRaiseInformationalHardError The IoRaiseInformationalHardError routine sends a dialog box to the user, warning about a device I/O error that indicates why a user I/O request failed. |
IoRegisterBootDriverCallback The IoRegisterBootDriverCallback routine registers a BOOT_DRIVER_CALLBACK_FUNCTION routine to be called during the initialization of a boot-start driver and its dependent DLLs. |
IoRegisterBootDriverReinitialization The IoRegisterBootDriverReinitialization routine is called by a boot driver to register the driver's reinitialization routine with the I/O manager to be called after all devices have been enumerated and started. |
IoRegisterContainerNotification The IoRegisterContainerNotification routine registers a kernel-mode driver to receive notifications about a specified class of events. |
IoRegisterDeviceInterface The IoRegisterDeviceInterface routine registers a device interface class, if it has not been previously registered, and creates a new instance of the interface class, which a driver can subsequently enable for use by applications or other system components. |
IoRegisterDriverReinitialization The IoRegisterDriverReinitialization routine is called by a driver during its initialization or reinitialization to register its Reinitialize routine to be called again before the driver's and, possibly the system's, initialization is complete. |
IoRegisterLastChanceShutdownNotification The IoRegisterLastChanceShutdownNotification routine registers a driver to receive an IRP_MJ_SHUTDOWN IRP when the system is shut down, after all file systems have been flushed. |
IoRegisterPlugPlayNotification The IoRegisterPlugPlayNotification routine registers a Plug and Play (PnP) notification callback routine to be called when a PnP event of the specified category occurs. |
IoRegisterShutdownNotification The IoRegisterShutdownNotification routine registers the driver to receive an IRP_MJ_SHUTDOWN IRP when the system is shut down. |
IoReleaseCancelSpinLock Learn more about the IoReleaseCancelSpinLock routine. |
IoReleaseRemoveLock The IoReleaseRemoveLock routine releases a remove lock acquired with a previous call to IoAcquireRemoveLock. |
IoReleaseRemoveLockAndWait The IoReleaseRemoveLockAndWait routine releases a remove lock that the driver acquired in a previous call to IoAcquireRemoveLock, and waits until all acquisitions of the lock have been released. |
IoRemoveLinkShareAccess The IoRemoveLinkShareAccess routine removes the access and link share-access information for a given open instance of a file object. |
IoRemoveShareAccess The IoRemoveShareAccess routine removes the access and share-access information for a given open instance of a file object. |
IoReportDetectedDevice The IoReportDetectedDevice routine reports a non-PnP device to the PnP manager. |
IoReportInterruptActive The IoReportInterruptActive routine informs the operating system that a registered interrupt service routine (ISR) is active and ready to handle interrupt requests. |
IoReportInterruptInactive The IoReportInterruptInactive routine informs the operating system that a registered interrupt service routine (ISR) is inactive and is not expecting interrupt requests. |
IoReportResourceForDetection The IoReportResourceForDetection routine claims hardware resources in the configuration registry for a legacy device. |
IoReportRootDevice The IoReportRootDevice routine reports a device that cannot be detected by a PnP bus driver to the PnP Manager. IoReportRootDevice allows only one device per driver to be created. |
IoReportTargetDeviceChange The IoReportTargetDeviceChange routine notifies the PnP manager that a custom event has occurred on a device. |
IoReportTargetDeviceChangeAsynchronous The IoReportTargetDeviceChangeAsynchronous routine notifies the PnP manager that a custom event has occurred on a device. |
IoRequestDeviceEject The IoRequestDeviceEject routine notifies the PnP manager that the device eject button was pressed. |
IoRequestDpc The IoRequestDpc routine queues a driver-supplied DpcForIsr routine to complete interrupt-driven I/O processing at a lower IRQL. |
IoReserveKsrPersistentMemory Microsoft reserves the IoReserveKsrPersistentMemory function for internal use only. Don't use this function in your code. |
IoReserveKsrPersistentMemoryEx Microsoft reserves the IoReserveKsrPersistentMemoryEx function for internal use only. Don't use this function in your code. |
IoReuseIrp The IoReuseIrp routine reinitializes an IRP so that it can be reused. |
Iosb64ToIosb The Iosb64ToIosb function... |
IosbToIosb64 The IosbToIosb64 function... |
IoSetActivityIdIrp The IoSetActivityIdIrp routine associates an activity ID with an IRP. |
IoSetActivityIdThread The IoSetActivityIdThread routine associates an activity ID with the current thread. Drivers should use this routine when they are tracing aware and are issuing I/O on a worker thread. |
IoSetCancelRoutine The IoSetCancelRoutine routine sets up a driver-supplied Cancel routine to be called if a given IRP is canceled. |
IoSetCompletionRoutine The IoSetCompletionRoutine routine registers an IoCompletion routine, which will be called when the next-lower-level driver has completed the requested operation for the given IRP. |
IoSetCompletionRoutineEx The IoSetCompletionRoutineEx routine registers an IoCompletion routine, which is called when the next-lower-level driver has completed the requested operation for the given IRP. |
IoSetDeviceInterfacePropertyData The IoSetDeviceInterfacePropertyData routine modifies the current value of a device interface property. |
IoSetDeviceInterfaceState The IoSetDeviceInterfaceState routine enables or disables an instance of a previously registered device interface class. |
IoSetDevicePropertyData The IoSetDevicePropertyData routine modifies the current setting for a device property. |
IoSetHardErrorOrVerifyDevice Lower-level drivers call the IoSetHardErrorOrVerifyDevice routine to identify a removable media device that has encountered an error, so that a file system driver can prompt the user to verify that the medium is valid. |
IoSetIoPriorityHint The IoSetIoPriorityHint routine sets the priority hint value for an IRP. |
IoSetLinkShareAccess The IoSetLinkShareAccess routine sets the access rights for link sharing the specified file object. |
IoSetMasterIrpStatus The IoSetMasterIrpStatus routine conditionally replaces the Status value in an IRP with the specified NTSTATUS value. |
IoSetNextIrpStackLocation The IoSetNextIrpStackLocation routine sets the IRP stack location in a driver-allocated IRP to that of the caller. |
IoSetShadowFileInformation This topic describes the IoSetShadowFileInformation function. |
IoSetShareAccess The IoSetShareAccess routine sets the access rights for sharing the given file object. |
IoSetShareAccessEx The IoSetShareAccessEx routine sets the access rights for sharing the specified file object. |
IoSetStartIoAttributes The IoSetStartIoAttributes routine in ntifs.h sets attributes for the driver's StartIo routine. |
IoSetStartIoAttributes The IoSetStartIoAttributes routine in wdm.h sets attributes for the driver's StartIo routine. |
IoSetSystemPartition The IoSetSystemPartition routine sets the boot partition for the system. |
IoSetThreadHardErrorMode The IoSetThreadHardErrorMode routine enables or disables hard error reporting for the current thread. |
IoSizeOfIrp Learn more about the IoSizeOfIrp routine. |
IoSizeOfIrp The IoSizeOfIrp routine in wdm.h determines the size in bytes for an IRP, given the number of stack locations in the IRP. |
IoSizeofWorkItem The IoSizeofWorkItem routine returns the size, in bytes, of an IO_WORKITEM structure. |
IoStartNextPacket Learn more about the IoStartNextPacket routine. |
IoStartNextPacket The IoStartNextPacket routine in wdm.h dequeues the next IRP from the given device object's associated device queue and calls the driver's StartIo routine. |
IoStartNextPacketByKey Learn more about the IoStartNextPacketByKey routine. |
IoStartNextPacketByKey The IoStartNextPacketByKey routine in wdm.h dequeues the next I/O request packet from the specified device object's associated device queue. |
IoStartPacket Learn more about the IoStartPacket routine. |
IoStartPacket The IoStartPacket routine in wdm.h calls the driver's StartIo routine with an IRP or inserts the IRP into the device queue for the given device object. |
IoStartTimer Learn more about the IoStartTimer routine. |
IoStartTimer The IoStartTimer routine in wdm.h enables the timer associated with a given device object so the driver-supplied IoTimer routine is called once per second. |
IoStopTimer Learn more about the IoStopTimer routine. |
IoStopTimer The IoStopTimer routine in wdm.h disables the timer for a specified device object so the driver-supplied IoTimer routine is not called. |
IoTransferActivityId The IoTransferActivityId routine logs an ETW transfer event using the I/O tracing provider on behalf of the caller. This allows a driver to associate two related activity IDs without requiring a specific provider to be enabled. |
IoUninitializeWorkItem The IoUninitializeWorkItem routine uninitializes a work item that was initialized by IoInitializeWorkItem. |
IoUnregisterBootDriverCallback The IoUnRegisterBootDriverCallback routine unregisters a previously registered BOOT_DRIVER_CALLBACK_FUNCTION routine. |
IoUnregisterContainerNotification The IoUnregisterContainerNotification routine cancels a container notification registration that was previously created by the IoRegisterContainerNotification routine. |
IoUnregisterPlugPlayNotification This routine is obsolete in Windows 7 and later versions of Windows. The IoUnregisterPlugPlayNotification routine removes the registration of a driver's callback routine for a PnP event. |
IoUnregisterPlugPlayNotificationEx The IoUnregisterPlugPlayNotificationEx routine cancels the registration of a driver's callback routine for notifications of Plug and Play (PnP) events. |
IoUnregisterShutdownNotification The IoUnregisterShutdownNotification routine removes a registered driver from the shutdown notification queue. |
IoUpdateLinkShareAccess The IoUpdateLinkShareAccess routine updates the share access for the given file object, usually when the file is being opened. |
IoUpdateLinkShareAccessEx The IoUpdateLinkShareAccessEx routine updates the share access for the given file object, usually when the file is being opened. |
IoUpdateShareAccess The IoUpdateShareAccess routine updates the share access for the given file object, usually when the file is being opened. |
IoValidateDeviceIoControlAccess For more information, see the WdmlibIoValidateDeviceIoControlAccess function. |
IoVerifyPartitionTable The IoVerifyPartitionTable routine checks the validity of the partition table for a disk. |
IoVolumeDeviceToDosName The IoVolumeDeviceToDosName routine returns the MS-DOS path for a specified device object that represents a file system volume. |
IoWithinStackLimits The IoWithinStackLimits routine determines whether a region of memory is within the stack limit of the current thread. |
IoWMIAllocateInstanceIds The IoWMIAllocateInstanceIds routine allocates one or more instance IDs that are unique to the GUID. |
IoWMIDeviceObjectToInstanceName The IoWMIDeviceObjectToInstanceName routine determines the instance name for the WMI class instance implemented by the driver that is specified by a device object. |
IoWMIDeviceObjectToProviderId The IoWMIDeviceObjectToProviderId routine translates the specified device object into the corresponding WMI Provider ID. |
IoWMIExecuteMethod The IoWMIExecuteMethod routine runs a WMI class method on the specified WMI data block instance. |
IoWMIHandleToInstanceName The IoWMIHandleToInstanceName routine determines the instance name for the WMI class instance implemented by the driver that is specified by a file handle. |
IoWMIOpenBlock The IoWMIOpenBlock routine opens the WMI data block object for the specified WMI class. |
IoWMIQueryAllData The IoWMIQueryAllData routine returns all WMI data blocks that implement a given WMI class. |
IoWMIQueryAllDataMultiple The IoWMIQueryAllDataMultiple routine returns all WMI data blocks that implement one of a set of WMI classes. |
IoWMIQuerySingleInstance The IoWMIQuerySingleInstance routine returns the specified instance of a WMI data block. |
IoWMIQuerySingleInstanceMultiple The IoWMIQuerySingleInstanceMultiple routine returns all WMI data block instances that implement the specified WMI classes with the specified instance names. |
IoWMIRegistrationControl The IoWMIRegistrationControl routine registers or unregisters the caller as a WMI data provider for a specified device object. |
IoWMISetNotificationCallback The IoWMISetNotificationCallback routine registers a notification callback for a WMI event. |
IoWMISetSingleInstance The IoWMISetSingleInstance routine sets the values for properties within the data block instance that matches the specified WMI class and instance name. |
IoWMISetSingleItem The IoWMISetSingleItem routine sets a single property in the data block instance that matches the specified WMI class and instance name. |
IoWMISuggestInstanceName The IoWMISuggestInstanceName routine is used to request that WMI suggest a base name which a driver can use to build WMI instance names for the device. |
IoWMIWriteEvent The IoWMIWriteEvent routine delivers a given event to the user-mode WMI components for notification. |
IoWriteErrorLogEntry Learn more about the IoWriteErrorLogEntry routine. |
IoWriteErrorLogEntry The IoWriteErrorLogEntry routine in wdm.h queues a given error log packet to the system error logging thread. |
IoWriteKsrPersistentMemory Microsoft reserves the IoWriteKsrPersistentMemory function for internal use only. Don't use this function in your code. |
IsListEmpty The IsListEmpty routine indicates whether a doubly linked list of LIST_ENTRY structures is empty. |
KBUGCHECK_CALLBACK_ROUTINE The BugCheckCallback routine is executed whenever the system issues a bug check. |
KBUGCHECK_REASON_CALLBACK_ROUTINE Driver-implemented callback functions that the system executes when it issues a bug check. |
KDEFERRED_ROUTINE The callback routine performs actions, after an InterruptService returns, of a threaded DPC, The CustomDpc routine finishes the servicing of an I/O operation, after an InterruptService routine returns.The CustomThreadedDpc routine performs the action of a threaded DPC. The system executes this routine when the threaded DPC runs.The CustomTimerDpc routine executes after a timer object's time interval expires. |
KeAcquireGuardedMutex Learn more about the KeAcquireGuardedMutex routine. |
KeAcquireGuardedMutexUnsafe Learn more about the KeAcquireGuardedMutexUnsafe function. |
KeAcquireInStackQueuedSpinLock Learn more about the KeAcquireInStackQueuedSpinLock routine. |
KeAcquireInStackQueuedSpinLockAtDpcLevel Learn more about the KeAcquireInStackQueuedSpinLockAtDpcLevel routine. |
KeAcquireInStackQueuedSpinLockForDpc Learn more about the KeAcquireInStackQueuedSpinLockForDpc routine. |
KeAcquireInterruptSpinLock Learn more about the KeAcquireInterruptSpinLock routine. |
KeAcquireSpinLock The KeAcquireSpinLock routine acquires a spin lock so the caller can synchronize access to shared data in a multiprocessor-safe way by raising IRQL. |
KeAcquireSpinLockAtDpcLevel The KeAcquireSpinLockAtDpcLevel routine acquires a spin lock when the caller is already running at IRQL >= DISPATCH_LEVEL. |
KeAcquireSpinLockForDpc Learn more about the KeAcquireSpinLockForDpc routine. |
KeAcquireSpinLockRaiseToDpc The KeAcquireSpinLockRaiseToDpc routine is a faster version of the KeAcquireSpinLock routine. |
KeAddTriageDumpDataBlock Adds a triage dump data block to a triage dump data block array. |
KeAreAllApcsDisabled The KeAreAllApcsDisabled routine indicates whether the calling thread is inside a guarded region or running at IRQL >= APC_LEVEL, which disables all APC delivery. |
KeAreApcsDisabled The KeAreApcsDisabled function (ntddk.h) returns a value that indicates whether the calling thread is within a critical region or a guarded region. |
KeAreApcsDisabled The KeAreApcsDisabled function (wdm.h) returns a value that indicates whether the calling thread is within a critical region or a guarded region. |
KeBugCheck The KeBugCheck routine brings down the system in a controlled manner when the caller discovers an unrecoverable inconsistency that would corrupt the system if the caller continued to run. |
KeBugCheckEx The KeBugCheckEx routine brings down the system in a controlled manner when the caller discovers an unrecoverable inconsistency that would corrupt the system if the caller continued to run. |
KeCancelTimer The KeCancelTimer routine dequeues a timer object before the timer interval, if any was set, expires. |
KeClearEvent The KeClearEvent routine sets an event to a not-signaled state. |
KeConvertAuxiliaryCounterToPerformanceCounter The KeConvertAuxiliaryCounterToPerformanceCounter routine converts the specified auxiliary counter value into a performance counter value. |
KeConvertPerformanceCounterToAuxiliaryCounter The KeConvertPerformanceCounterToAuxiliaryCounter routine converts the specified performance counter value into an auxiliary counter value. |
KeDelayExecutionThread The KeDelayExecutionThread routine puts the current thread into an alertable or nonalertable wait state for a specified interval. |
KeDeregisterBoundCallback The KeDeregisterBoundCallback routine deregisters a user-mode bound exception callback registered by KeRegisterBoundCallback. |
KeDeregisterBugCheckCallback The KeDeregisterBugCheckCallback routine removes a callback routine that was registered by KeRegisterBugCheckCallback. |
KeDeregisterBugCheckReasonCallback The KeDeregisterBugCheckReasonCallback routine removes a callback routine that was registered by KeRegisterBugCheckReasonCallback. |
KeDeregisterNmiCallback The KeDeregisterNmiCallback routine deregisters a nonmaskable interrupt (NMI) callback registered by KeRegisterNmiCallback. |
KeDeregisterProcessorChangeCallback The KeDeregisterProcessorChangeCallback routine unregisters a callback function that was previously registered with the operating system by calling the KeRegisterProcessorChangeCallback routine. |
KeEnterCriticalRegion The KeEnterCriticalRegion function (ntddk.h) temporarily disables the execution of normal kernel APCs, but does not prevent special kernel APCs from running. |
KeEnterCriticalRegion The KeEnterCriticalRegion function (wdm.h) temporarily disables the execution of normal kernel APCs, but does not prevent special kernel APCs from running. |
KeEnterGuardedRegion The KeEnterGuardedRegion function (ntddk.h) enters a guarded region, which disables all kernel-mode APC delivery to the current thread. |
KeEnterGuardedRegion The KeEnterGuardedRegion function (wdm.h) enters a guarded region, which disables all kernel-mode APC delivery to the current thread. |
KeExpandKernelStackAndCallout The KeExpandKernelStackAndCallout routine calls a routine with a guaranteed amount of stack space. |
KeExpandKernelStackAndCalloutEx Learn more about: KeExpandKernelStackAndCalloutEx |
KeFlushIoBuffers The KeFlushIoBuffers routine flushes the memory region described by an MDL from caches of all processors. |
KeFlushQueuedDpcs The KeFlushQueuedDpcs routine returns after all queued DPCs on all processors have executed. |
KefReleaseSpinLockFromDpcLevel The KeReleaseSpinLockFromDpcLevel routine releases an executive spin lock without changing the IRQL. |
KeGetCurrentIrql The KeGetCurrentIrql routine returns the current IRQL. |
KeGetCurrentNodeNumber The KeGetCurrentNodeNumber function (ntddk.h) returns the NUMA node number for the logical processor that the caller is running on. |
KeGetCurrentNodeNumber The KeGetCurrentNodeNumber function (wdm.h) returns the NUMA node number for the logical processor that the caller is running on. |
KeGetCurrentProcessorIndex KeGetCurrentProcessorIndex returns the index of the processor that the caller is running on. |
KeGetCurrentProcessorNumber The KeGetCurrentProcessorNumber routine returns the system-assigned number of the current processor on which the caller is running. |
KeGetCurrentProcessorNumberEx The KeGetCurrentProcessorNumberEx function (ntddk.h) returns the processor number of the logical processor that the caller is running on. |
KeGetCurrentProcessorNumberEx The KeGetCurrentProcessorNumberEx function (wdm.h) returns the processor number of the logical processor that the caller is running on. |
KeGetCurrentThread The KeGetCurrentThread routine identifies the current thread. |
KeGetProcessorIndexFromNumber The KeGetProcessorIndexFromNumber routine in ntifs.h converts a group number and a group-relative processor number to a systemwide processor index. |
KeGetProcessorIndexFromNumber The KeGetProcessorIndexFromNumber routine in wdm.h converts a group number and a group-relative processor number to a systemwide processor index. |
KeGetProcessorNumberFromIndex The KeGetProcessorNumberFromIndex routine in ntifs.h converts a systemwide processor index to a group number and a group-relative processor number. |
KeGetProcessorNumberFromIndex The KeGetProcessorNumberFromIndex routine in wdm.h converts a systemwide processor index to a group number and a group-relative processor number. |
KeGetRecommendedSharedDataAlignment The KeGetRecommendedSharedDataAlignment routine returns the preferred alignment for memory structures that can be accessed by more than one processor. |
KeInitializeCrashDumpHeader The KeInitializeCrashDumpHeader routine supplies the header information the system requires for a crash dump file. |
KeInitializeCrashDumpHeader Learn how the KeInitializeCrashDumpHeader routine supplies the header information the system requires for a crash dump file. |
KeInitializeDeviceQueue The KeInitializeDeviceQueue routine initializes a device queue object to a not-busy state. |
KeInitializeDpc The KeInitializeDpc routine initializes a DPC object, and registers a CustomDpc routine for that object. |
KeInitializeEvent The KeInitializeEvent routine initializes an event object as a synchronization (single waiter) or notification type event and sets it to a signaled or not-signaled state. |
KeInitializeGuardedMutex The KeInitializeGuardedMutex routine initializes a guarded mutex. |
KeInitializeMutex The KeInitializeMutex routine initializes a mutex object, setting it to a signaled state. |
KeInitializeSemaphore The KeInitializeSemaphore routine initializes a semaphore object with a specified count and specifies an upper limit that the count can attain. |
KeInitializeSpinLock The KeInitializeSpinLock routine initializes a variable of type KSPIN_LOCK. |
KeInitializeThreadedDpc The KeInitializeThreadedDpc routine initializes a threaded DPC object, and registers a CustomThreadedDpc routine for that object. |
KeInitializeTimer The KeInitializeTimer routine initializes a timer object. |
KeInitializeTimerEx The KeInitializeTimerEx routine initializes an extended kernel timer object. |
KeInsertByKeyDeviceQueue The KeInsertByKeyDeviceQueue routine acquires the spin lock for the specified DeviceQueue and queues an entry according to the specified sort-key value if the device queue is set to a busy state. |
KeInsertDeviceQueue The KeInsertDeviceQueue routine acquires the spin lock for the specified device queue object and, if the device queue is set to a busy state, queues the specified entry. |
KeInsertQueueDpc The KeInsertQueueDpc routine queues a DPC for execution. |
KeInvalidateAllCaches The KeInvalidateAllCaches routine flushes all processor caches. |
KeInvalidateRangeAllCaches The KeInvalidateRangeAllCaches routine flushes the specified virtual address range from all processor caches. |
KeIpiGenericCall The KeIpiGenericCall routine causes the specified routine to run on all processors simultaneously. |
KeIsExecutingDpc Checks whether a DPC is being executed on current processor. |
KeLeaveCriticalRegion The KeLeaveCriticalRegion routine reenables the delivery of normal kernel-mode APCs that were disabled by a preceding call to KeEnterCriticalRegion. |
KeLeaveCriticalRegion Learn how the KeLeaveCriticalRegion routine reenables the delivery of normal kernel-mode APCs that were disabled by a preceding call to KeEnterCriticalRegion. |
KeLeaveGuardedRegion The KeLeaveGuardedRegion routine exits a guarded region entered by KeEnterGuardedRegion. |
KeLeaveGuardedRegion Learn how the KeLeaveGuardedRegion routine exits a guarded region entered by KeEnterGuardedRegion. |
KeLowerIrql The KeLowerIrql routine restores the IRQL on the current processor to its original value. |
KeMemoryBarrier The KeMemoryBarrier routine creates a barrier at its position in the code—across which the compiler and the processor cannot move any operations. |
KePulseEvent The KePulseEvent routine atomically sets an event object to a signaled state, attempts to satisfy as many waits as possible, and then resets the event object to a not-signaled state. |
KeQueryActiveGroupCount The KeQueryActiveGroupCount routine returns the number of active processor groups in a multiprocessor system. |
KeQueryActiveGroupCount Learn how the KeQueryActiveGroupCount routine returns the number of active processor groups in a multiprocessor system. |
KeQueryActiveProcessorCount The KeQueryActiveProcessorCount routine returns the number of currently active processors. |
KeQueryActiveProcessorCount Learn how the KeQueryActiveProcessorCount routine returns the number of currently active processors. |
KeQueryActiveProcessorCountEx The KeQueryActiveProcessorCountEx routine returns the number of active logical processors in a specified group in a multiprocessor system or in the entire system. |
KeQueryActiveProcessorCountEx Learn how the KeQueryActiveProcessorCountEx routine returns the number of active logical processors in a specified group in a multiprocessor system or in the entire system. |
KeQueryActiveProcessors The KeQueryActiveProcessors routine returns a bitmask of the currently active processors. |
KeQueryActiveProcessors Learn how the KeQueryActiveProcessors routine returns a bitmask of the currently active processors. |
KeQueryAuxiliaryCounterFrequency The KeQueryAuxiliaryCounterFrequency routine returns frequency of the auxiliary counter in units of Hz. |
KeQueryDpcWatchdogInformation The KeQueryDpcWatchdogInformation routine returns the deferred procedure call (DPC) watchdog timer values for the current processor. |
KeQueryGroupAffinity The KeQueryGroupAffinity routine returns an affinity mask that identifies the active logical processors in a specified group in a multiprocessor system. |
KeQueryGroupAffinity Learn how the KeQueryGroupAffinity routine returns an affinity mask that identifies the active logical processors in a specified group in a multiprocessor system. |
KeQueryHardwareCounterConfiguration The KeQueryHardwareCounterConfiguration routine queries the operating system for the list of hardware counters to use for thread profiling. |
KeQueryHighestNodeNumber The KeQueryHighestNodeNumber routine returns the highest node number in a multiprocessor system that has a non-uniform memory access (NUMA) architecture. |
KeQueryHighestNodeNumber Learn how the KeQueryHighestNodeNumber routine returns the highest node number in a multiprocessor system that has a non-uniform memory access (NUMA) architecture. |
KeQueryInterruptTime The KeQueryInterruptTime routine returns the current value of the system interrupt time count, with accuracy to within system clock tick. |
KeQueryInterruptTimePrecise The KeQueryInterruptTimePrecise routine returns the current value of the system interrupt time count, with accuracy to within a microsecond. |
KeQueryLogicalProcessorRelationship The KeQueryLogicalProcessorRelationship routine gets information about the relationships of one or more processors to the other processors in a multiprocessor system. |
KeQueryMaximumGroupCount The KeQueryMaximumGroupCount routine returns the maximum number of groups in a multiprocessor system. |
KeQueryMaximumGroupCount Learn how the KeQueryMaximumGroupCount routine returns the maximum number of groups in a multiprocessor system. |
KeQueryMaximumProcessorCount The KeQueryMaximumProcessorCount routine returns the maximum number of processors. |
KeQueryMaximumProcessorCount Learn how the KeQueryMaximumProcessorCount routine returns the maximum number of processors. |
KeQueryMaximumProcessorCountEx The KeQueryMaximumProcessorCountEx routine returns the maximum number of logical processors in a specified group in a multiprocessor system. |
KeQueryMaximumProcessorCountEx Learn how the KeQueryMaximumProcessorCountEx routine returns the maximum number of logical processors in a specified group in a multiprocessor system. |
KeQueryNodeActiveAffinity The KeQueryNodeActiveAffinity routine gets the current processor affinity of a specified node in a multiprocessor system that has a non-uniform memory access (NUMA) architecture. |
KeQueryNodeActiveAffinity2 This routine returns the current multi-group processor affinity of the given NUMA node. |
KeQueryNodeActiveProcessorCount This routine returns the number of active processors in the given NUMA node across all groups. |
KeQueryNodeMaximumProcessorCount The KeQueryNodeMaximumProcessorCount routine returns the maximum number of logical processors that a specified node in a non-uniform memory access (NUMA) multiprocessor system can contain. |
KeQueryNodeMaximumProcessorCount Learn how the KeQueryNodeMaximumProcessorCount routine returns the maximum number of logical processors that a specified node in a non-uniform memory access (NUMA) multiprocessor system can contain. |
KeQueryPerformanceCounter The KeQueryPerformanceCounter routine in wdm.h retrieves the current value and frequency of the performance counter. |
KeQueryPriorityThread The KeQueryPriorityThread routine returns the current priority of a particular thread. |
KeQueryRuntimeThread The KeQueryRuntimeThread routine reports the accumulated kernel-mode and user-mode run time of a thread, in clock ticks. |
KeQuerySystemTime The KeQuerySystemTime routine obtains the current system time. |
KeQuerySystemTimePrecise The KeQuerySystemTimePrecise routine retrieves the current system time, and is more precise than the KeQuerySystemTime routine. |
KeQueryTickCount The KeQueryTickCount routine maintains a count of the interval timer interrupts that have occurred since the system was booted. |
KeQueryTickCount Learn how the KeQueryTickCount routine maintains a count of the interval timer interrupts that have occurred since the system was booted. |
KeQueryTimeIncrement The KeQueryTimeIncrement routine returns the number of 100-nanosecond units that are added to the system time each time the interval clock interrupts. |
KeQueryTotalCycleTimeThread The KeQueryTotalCycleTimeThread routine returns the accumulated cycle time for the specified thread. |
KeQueryUnbiasedInterruptTime The KeQueryUnbiasedInterruptTime routine returns the current value of the system interrupt time count. |
KeRaiseIrql The KeRaiseIrql routine raises the hardware priority to the specified IRQL value, thereby masking off interrupts of equivalent or lower IRQL on the current processor. |
KeRaiseIrqlToDpcLevel The KeRaiseIrqlToDpcLevel routine raises the hardware priority to IRQL = DISPATCH_LEVEL, thereby masking off interrupts of equivalent or lower IRQL on the current processor. |
KeRaiseIrqlToDpcLevel Learn how the KeRaiseIrqlToDpcLevel routine raises the hardware priority to IRQL = DISPATCH_LEVEL, thereby masking off interrupts of equivalent or lower IRQL on the current processor. |
KeReadStateEvent The KeReadStateEvent routine returns the current state, signaled or not-signaled, of an event object. |
KeReadStateMutex The KeReadStateMutex routine returns the current state, signaled or not-signaled, of the specified mutex object. |
KeReadStateSemaphore The KeReadStateSemaphore routine returns the current state, signaled or not-signaled, of the specified semaphore object. |
KeReadStateTimer The KeReadStateTimer routine reads the current state of a timer object. |
KeRegisterBoundCallback The KeRegisterBoundCallback routine registers a routine to be called whenever a user-mode bound exception occurs. |
KeRegisterBugCheckCallback The KeRegisterBugCheckCallback routine registers a BugCheckCallback routine, which executes when the operating system issues a bug check. |
KeRegisterBugCheckReasonCallback The KeRegisterBugCheckReasonCallback routine registers a KbCallbackDumpIo, KbCallbackSecondaryDumpData, or KbCallbackAddPages routine, which executes when the operating system issues a bug check. |
KeRegisterNmiCallback The KeRegisterNmiCallback routine registers a routine to be called whenever a nonmaskable interrupt (NMI) occurs. |
KeRegisterProcessorChangeCallback The KeRegisterProcessorChangeCallback routine registers a callback function with the operating system so that the operating system will notify the driver when a new processor is added to the hardware partition. |
KeReleaseGuardedMutex The KeReleaseGuardedMutex routine releases a guarded mutex acquired with KeAcquireGuardedMutex or KeTryToAcquireGuardedMutex. |
KeReleaseGuardedMutexUnsafe The KeReleaseGuardedMutexUnsafe routine releases a guarded mutex acquired by KeAcquireGuardedMutexUnsafe. |
KeReleaseInStackQueuedSpinLock The KeReleaseInStackQueuedSpinLock routine releases a queued spin lock acquired by KeAcquireInStackQueuedSpinLock. |
KeReleaseInStackQueuedSpinLockForDpc The KeReleaseInStackQueuedSpinLockForDpc routine releases a queued spin lock that was acquired by calling KeAcquireInStackQueuedSpinLockForDpc. |
KeReleaseInStackQueuedSpinLockFromDpcLevel The KeReleaseInStackQueuedSpinLockFromDpcLevel routine releases a queued spin lock acquired by KeAcquireInStackQueuedSpinLockAtDpcLevel. |
KeReleaseInterruptSpinLock The KeReleaseInterruptSpinLock routine releases an interrupt spin lock acquired by KeAcquireInterruptSpinLock. |
KeReleaseMutex The KeReleaseMutex routine releases a mutex object, and specifies whether the caller is to call one of the KeWaitXxx routines as soon as KeReleaseMutex returns control. |
KeReleaseSemaphore The KeReleaseSemaphore routine releases the specified semaphore object. |
KeReleaseSpinLock The KeReleaseSpinLock routine releases a spin lock and restores the original IRQL at which the caller was running. |
KeReleaseSpinLockForDpc The KeReleaseSpinLockForDpc routine releases a spin lock that was acquired by calling KeAcquireSpinLockForDpc. |
KeReleaseSpinLockFromDpcLevel Learn how the KeReleaseSpinLockFromDpcLevel routine releases an executive spin lock without changing the IRQL. |
KeRemoveByKeyDeviceQueue The KeRemoveByKeyDeviceQueue routine removes an entry, selected according to a sort key value, from the specified device queue. |
KeRemoveDeviceQueue The KeRemoveDeviceQueue routine removes an entry from the head of a specified device queue. |
KeRemoveEntryDeviceQueue The KeRemoveEntryDeviceQueue routine returns whether the specified entry is in the device queue and removes it, if it was queued, from the device queue. |
KeRemoveQueueDpc The KeRemoveQueueDpc routine removes the specified DPC object from the system DPC queue. |
KeResetEvent The KeResetEvent routine resets a specified event object to a not-signaled state and returns the previous state of that event object. |
KeRestoreExtendedProcessorState The KeRestoreExtendedProcessorState routine restores extended processor state information that was previously saved. |
KeRestoreFloatingPointState The KeRestoreFloatingPointState routine restores the nonvolatile floating-point context saved by the preceding call to KeSaveFloatingPointState. |
KeRevertToUserAffinityThreadEx The KeRevertToUserAffinityThreadEx routine restores the previous affinity of the current thread. |
KeRevertToUserGroupAffinityThread The KeRevertToUserGroupAffinityThread routine restores the group affinity of the calling thread to its original value at the time that the thread was created. |
KeSaveExtendedProcessorState The KeSaveExtendedProcessorState routine saves extended processor state information. |
KeSaveFloatingPointState The KeSaveFloatingPointState routine saves the nonvolatile floating-point context so the caller can carry out floating-point operations. |
KeSetBasePriorityThread The KeSetBasePriorityThread routine sets the run-time priority, relative to the current process, for a given thread. |
KeSetCoalescableTimer The KeSetCoalescableTimer routine sets the initial expiration time and period of a timer object and specifies how much delay can be tolerated in the expiration times. |
KeSetEvent The KeSetEvent routine sets an event object to a signaled state if the event was not already signaled, and returns the previous state of the event object. |
KeSetHardwareCounterConfiguration The KeSetHardwareCounterConfiguration routine specifies a list of hardware counters to use for thread profiling. |
KeSetImportanceDpc The KeSetImportanceDpc routine specifies how soon the DPC routine is run. |
KeSetImportanceDpc Learn how the KeSetImportanceDpc routine specifies how soon the DPC routine is run. |
KeSetKernelStackSwapEnable Learn more about the KeSetKernelStackSwapEnable routine. |
KeSetPriorityThread The KeSetPriorityThread routine sets the run-time priority of a driver-created thread. |
KeSetSystemAffinityThread The KeSetSystemAffinityThread routine sets the system affinity of the current thread. |
KeSetSystemAffinityThreadEx The KeSetSystemAffinityThreadEx routine sets the system affinity of the current thread. |
KeSetSystemGroupAffinityThread The KeSetSystemGroupAffinityThread routine changes the group number and affinity mask of the calling thread. |
KeSetTargetProcessorDpc The KeSetTargetProcessorDpc routine specifies the processor that a DPC routine will be run on. |
KeSetTargetProcessorDpc Learn how the KeSetTargetProcessorDpc routine specifies the processor that a DPC routine will be run on. |
KeSetTargetProcessorDpcEx The KeSetTargetProcessorDpcEx routine specifies the processor that a DPC routine will run on. |
KeSetTimer The KeSetTimer routine sets the absolute or relative interval at which a timer object is to be set to a signaled state and, optionally, supplies a CustomTimerDpc routine to be executed when that interval expires. |
KeSetTimerEx The KeSetTimerEx routine sets the absolute or relative interval at which a timer object is to be set to a signaled state, optionally supplies a CustomTimerDpc routine to be executed when that interval expires, and optionally supplies a recurring interval for the timer. |
KeShouldYieldProcessor Learn more about: KeShouldYieldProcessor function |
KeStallExecutionProcessor Learn more about the KeStallExecutionProcessor routine. |
KeStallExecutionProcessor The KeStallExecutionProcessor routine in wdm.h stalls the caller on the current processor for a specified time interval. |
KeSynchronizeExecution The KeSynchronizeExecution routine synchronizes the execution of the specified routine with the interrupt service routine (ISR) that is assigned to a set of one or more interrupt objects. |
KeTestSpinLock The KeTestSpinLock routine tests for the availability of a spin lock. |
KeTryToAcquireGuardedMutex The KeTryToAcquireGuardedMutex routine acquires a guarded mutex, if available. |
KeTryToAcquireSpinLockAtDpcLevel The KeTryToAcquireSpinLockAtDpcLevel routine attempts to acquire a spin lock at DISPATCH_LEVEL. |
KeWaitForMultipleObjects The KeWaitForMultipleObjects routine puts the current thread into an alertable or nonalertable wait state until any or all of a number of dispatcher objects are set to a signaled state or (optionally) until the wait times out. |
KeWaitForSingleObject The KeWaitForSingleObject routine puts the current thread into a wait state until the given dispatcher object is set to a signaled state or (optionally) until the wait times out. |
KIPI_BROADCAST_WORKER The IpiGenericCall routine runs simultaneously on all processors. |
KMESSAGE_SERVICE_ROUTINE An InterruptMessageService routine services a message-signaled interrupt. |
KSERVICE_ROUTINE The InterruptService routine (ISR) quickly services a device interrupt and schedules post-interrupt processing of received data, if necessary. |
KSTART_ROUTINE The ThreadStart routine provides an entry point for a driver-created system thread. |
KSYNCHRONIZE_ROUTINE The SynchCritSection routine is used to access hardware resources or driver data that are shared with a driver's InterruptService routine. |
KzLowerIrql Restores the IRQL on the current processor to its original value. |
KzRaiseIrql Raises the hardware priority to the specified IRQL value, thereby masking off interrupts of equivalent or lower IRQL on the current processor. |
MM_MDL_ROUTINE A driver-supplied callback routine that is invoked after a memory descriptor list (MDL) is mapped by calling the MmMapMdl function. |
MmAddPhysicalMemory The MmAddPhysicalMemory function adds a range of physical memory to the system. |
MmAdvanceMdl The MmAdvanceMdl routine advances the beginning of an MDL's virtual memory range by the specified number of bytes. |
MmAllocateContiguousMemory The MmAllocateContiguousMemory routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousMemory Learn how the MmAllocateContiguousMemory routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousMemoryEx The MmAllocateContiguousMemoryEx function allocates a range of physically contiguous non-paged memory and returns its virtual address. |
MmAllocateContiguousMemorySpecifyCache The MmAllocateContiguousMemorySpecifyCache routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousMemorySpecifyCache Learn how the MmAllocateContiguousMemorySpecifyCache routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousMemorySpecifyCacheNode The MmAllocateContiguousMemorySpecifyCacheNode routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousMemorySpecifyCacheNode Learn how the MmAllocateContiguousMemorySpecifyCacheNode routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousNodeMemory The MmAllocateContiguousNodeMemory routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateContiguousNodeMemory Learn how the MmAllocateContiguousNodeMemory routine allocates a range of contiguous, nonpaged physical memory and maps it to the system address space. |
MmAllocateMappingAddress The MmAllocateMappingAddress routine reserves a range of system virtual address space of the specified size. |
MmAllocateMappingAddressEx The MmAllocateMappingAddressEx function allocates a system PTE mapping of the requested length that can be used later to map arbitrary addresses. |
MmAllocateMdlForIoSpace The MmAllocateMdlForIoSpace routine allocates an MDL and initializes this MDL to describe a set of physical address ranges in I/O address space. |
MmAllocateNodePagesForMdlEx The MmAllocateNodePagesForMdlEx routine allocates nonpaged physical memory from an ideal node, and allocates an MDL structure to describe this memory. |
MmAllocateNonCachedMemory The MmAllocateNonCachedMemory routine allocates a virtual address range of non-cached and cache-aligned memory. |
MmAllocatePagesForMdl The MmAllocatePagesForMdl routine allocates zero-filled, nonpaged, physical memory pages to an MDL. |
MmAllocatePagesForMdlEx The MmAllocatePagesForMdlEx routine allocates nonpaged, physical memory pages to an MDL. Use this routine instead of MmAllocatePagesForMdl. |
MmBuildMdlForNonPagedPool The MmBuildMdlForNonPagedPool routine receives an MDL that specifies a nonpaged virtual memory buffer, and updates it to describe the underlying physical pages. |
MmCopyMemory The MmCopyMemory routine copies the specified range of virtual or physical memory into the caller-supplied buffer. |
MmFreeContiguousMemory The MmFreeContiguousMemory routine releases a range of physically contiguous memory that was allocated by an MmAllocateContiguousMemoryXxx routine. |
MmFreeContiguousMemory Learn how the MmFreeContiguousMemory routine releases a range of physically contiguous memory that was allocated by an MmAllocateContiguousMemoryXxx routine. |
MmFreeContiguousMemorySpecifyCache The MmFreeContiguousMemorySpecifyCache routine frees a buffer that was allocated by a MmAllocateContiguousMemorySpecifyCacheXxx routine. |
MmFreeContiguousMemorySpecifyCache Learn how the MmFreeContiguousMemorySpecifyCache routine frees a buffer that was allocated by an MmAllocateContiguousMemorySpecifyCacheXxx routine. |
MmFreeMappingAddress The MmFreeMappingAddress routine frees a range of virtual memory reserved by the MmAllocateMappingAddress routine. |
MmFreeNonCachedMemory The MmFreeNonCachedMemory routine releases a range of noncached memory that was allocated by the MmAllocateNonCachedMemory routine. |
MmFreePagesFromMdl The MmFreePagesFromMdl routine frees all the physical pages that are described by an MDL that was created by the MmAllocatePagesForMdl routine. |
MmGetMdlByteCount The MmGetMdlByteCount macro returns the length, in bytes, of the buffer described by the specified MDL. |
MmGetMdlByteOffset The MmGetMdlByteOffset macro returns the byte offset within the initial page of the buffer described by the given MDL. |
MmGetMdlPfnArray The MmGetMdlPfnArray macro returns a pointer to the beginning of the array of physical page numbers that are associated with a memory descriptor list (MDL). |
MmGetPhysicalAddress The MmGetPhysicalAddress routine returns the physical address corresponding to a valid nonpaged virtual address. |
MmGetPhysicalMemoryRangesEx2 The MmGetPhysicalMemoryRangesEx2 routine returns the virtual address of a nonpaged pool block which contains the physical memory ranges in the system. |
MmGetSystemAddressForMdl The MmGetSystemAddressForMdl routine is obsolete. Use MmGetSystemAddressForMdlSafe instead. |
MmGetSystemRoutineAddress The MmGetSystemRoutineAddress routine returns a pointer to a function specified by SystemRoutineName. |
MmGetSystemRoutineAddressEx The MmGetSystemRoutineAddressEx function returns the address of the specified function in the specified system module. |
MmIsAddressValid The MmIsAddressValid routine checks whether a page fault will occur for a read or write operation at a given virtual address.Warning We do not recommend using this function. |
MmIsDriverSuspectForVerifier The MmIsDriverSuspectForVerifier routine indicates whether the driver represented by the specified driver object is in the list of drivers that are selected to be verified by Driver Verifier. |
MmIsDriverVerifying The MmIsDriverVerifying routine indicates whether the kernel-mode driver that is identified by the specified driver object is being verified or calls a driver that is being verified by Driver Verifier. |
MmIsDriverVerifyingByAddress The MmIsDriverVerifyingByAddress routine checks whether the kernel-mode driver that is identified by the specified image address is being verified or calls a driver that is being verified by Driver Verifier. |
MmIsThisAnNtAsSystem The MmIsThisAnNtAsSystem routine is obsolete for Windows XP and later versions of Windows. Use RtlGetVersion or RtlVerifyVersionInfo instead. |
MmLockPagableCodeSection The MmLockPagableCodeSection routine locks a section of driver code, containing a set of driver routines marked with a special compiler directive, into system space. |
MmLockPagableDataSection The MmLockPagableDataSection routine locks an entire section of driver data into system space. |
MmLockPagableSectionByHandle The MmLockPagableSectionByHandle routine locks a pageable code or data section into system memory by incrementing the reference count on the handle to the section. |
MmMapIoSpace The MmMapIoSpace routine maps the given physical address range to nonpaged system space. |
MmMapIoSpaceEx The MmMapIoSpaceEx routine maps the given physical address range to non-paged system space using the specified page protection. |
MmMapLockedPages The MmMapLockedPages routine is obsolete for Windows 2000 and later versions of Windows, and for Windows Me. |
MmMapLockedPagesSpecifyCache The MmMapLockedPagesSpecifyCache routine maps the physical pages that are described by an MDL to a virtual address, and enables the caller to specify the cache attribute that is used to create the mapping. |
MmMapLockedPagesWithReservedMapping The MmMapLockedPagesWithReservedMapping routine maps all or part of an address range that was previously reserved by the MmAllocateMappingAddress routine. |
MmMapMdl This function maps physical pages described by a memory descriptor list (MDL) into the system virtual address space. |
MmMapMemoryDumpMdlEx The MmMapMemoryDumpMdlEx function maps an MDL into a specified virtual address. |
MmMapViewInSystemSpace The MmMapViewInSystemSpace function maps the specified section into the system's address space. |
MmPageEntireDriver The MmPageEntireDriver routine causes all of a driver's code and data to be made pageable, overriding the attributes of the various sections that make up the driver's image. |
MmProbeAndLockPages The MmProbeAndLockPages routine probes the specified virtual memory pages, makes them resident, and locks them in memory. |
MmProbeAndLockSelectedPages The MmProbeAndLockSelectedPages routine probes the selected virtual memory pages, makes them resident, and locks them in memory. |
MmProtectDriverSection The MmProtectDriverSection read-only protects a section of a loaded driver by using the services provided by the Virtual Secure Mode (VSM). |
MmProtectMdlSystemAddress The MmProtectMdlSystemAddress routine sets the protection type for a memory address range. |
MmQuerySystemSize The MmQuerySystemSize routine returns an estimate of the amount of memory in the system. |
MmResetDriverPaging The MmResetDriverPaging routine resets the pageable status of a driver's sections to that specified when the driver was compiled. |
MmSecureVirtualMemory The MmSecureVirtualMemory routine secures a user-space memory address range so that it cannot be freed and its protection type cannot be made more restrictive. |
MmSecureVirtualMemoryEx This routine probes the requested address range and protects the specified address range from having its protection made more restrictive and being deleted. |
MmSizeOfMdl The MmSizeOfMdl routine returns the number of bytes to allocate for an MDL describing a given address range. |
MmUnlockPagableImageSection The MmUnlockPagableImageSection routine releases a section of driver code or driver data, previously locked into system space with MmLockPagableCodeSection, MmLockPagableDataSection or MmLockPagableSectionByHandle, so the section can be paged out again. |
MmUnlockPages The MmUnlockPages routine unlocks the physical pages that are described by the specified memory descriptor list (MDL). |
MmUnmapIoSpace The MmUnmapIoSpace routine unmaps a specified range of physical addresses previously mapped by MmMapIoSpace. |
MmUnmapLockedPages The MmUnmapLockedPages routine releases a mapping that was set up by a preceding call to the MmMapLockedPages or MmMapLockedPagesSpecifyCache routine. |
MmUnmapReservedMapping The MmUnmapReservedMapping routine unmaps a memory buffer that was mapped by the MmMapLockedPagesWithReservedMapping routine. |
MmUnmapViewInSystemSpace Learn more about: MmUnmapViewInSystemSpace function |
MmUnsecureVirtualMemory The MmUnsecureVirtualMemory routine unsecures a memory address range secured by the MmSecureVirtualMemory routine. |
NtAllocateVirtualMemory Learn more about the NtAllocateVirtualMemory routine. |
NtClose Learn more about the NtClose routine. |
NtCommitComplete The ZwCommitComplete routine notifies KTM that the calling resource manager has finished committing a transaction's data. |
NtCommitEnlistment The ZwCommitEnlistment routine initiates the commit operation for a specified enlistment's transaction. |
NtCommitTransaction The ZwCommitTransaction routine initiates a commit operation for a specified transaction. |
NtCopyFileChunk Learn more about the NtCopyFileChunk function. |
NtCreateEnlistment The ZwCreateEnlistment routine creates a new enlistment object for a transaction. |
NtCreateFile Learn more about the NtCreateFile function. |
NtCreateResourceManager The ZwCreateResourceManager routine creates a resource manager object. |
NtCreateSection Learn about the NtCreateSection function. |
NtCreateSectionEx Creates a section object. |
NtCreateTransaction The ZwCreateTransaction routine creates a transaction object. |
NtCreateTransactionManager The ZwCreateTransactionManager routine creates a new transaction manager object. |
NtDeviceIoControlFile Learn more about the NtDeviceIoControlFile function. |
NtDuplicateToken Learn more about the NtDuplicateToken function. |
NtEnumerateTransactionObject The ZwEnumerateTransactionObject routine enumerates the KTM objects on a computer. |
NtFlushBuffersFileEx Learn more about the NtFlushBuffersFileEx routine. |
NtFreeVirtualMemory Learn more about the NtFreeVirtualMemory routine. |
NtFsControlFile Learn more about the NtFsControlFile routine. |
NtGetNotificationResourceManager The ZwGetNotificationResourceManager routine retrieves the next transaction notification from a specified resource manager's notification queue. |
NtLockFile The NtLockFile routine requests a byte-range lock for the specified file. |
NtManagePartition The NtManagePartition function gets and sets information for a partition. |
NtOpenEnlistment The ZwOpenEnlistment routine obtains a handle to an existing enlistment object. |
NtOpenFile Learn more about the NtOpenFile routine. |
NtOpenProcess The ZwOpenProcess routine opens a handle to a process object and sets the access rights to this object. |
NtOpenProcessToken The NtOpenProcessToken routine opens the access token associated with a process, and returns a handle that can be used to access that token. |
NtOpenProcessTokenEx The NtOpenProcessTokenEx routine opens the access token associated with a process, and returns a handle that can be used to access that token. |
NtOpenResourceManager The ZwOpenResourceManager routine returns a handle to an existing resource manager object. |
NtOpenThreadToken The NtOpenThreadToken routine opens the access token associated with a thread, and returns a handle that can be used to access that token. |
NtOpenThreadTokenEx The NtOpenThreadTokenEx routine opens the access token associated with a thread. |
NtOpenTransaction The ZwOpenTransaction routine obtains a handle to an existing transaction object. |
NtOpenTransactionManager The ZwOpenTransactionManager routine obtains a handle to an existing transaction manager object. |
NtPowerInformation Learn how the ZwPowerInformation routine sets or retrieves system power information. |
NtPowerInformation Learn how the ZwPowerInformation routine (wdm.h) sets or retrieves system power information. |
NtPrepareComplete The ZwPrepareComplete routine notifies KTM that the calling resource manager has finished preparing a transaction's data. |
NtPrepareEnlistment The ZwPrepareEnlistment routine initiates the prepare operation for a specified enlistment's transaction. |
NtPrePrepareComplete The ZwPrePrepareComplete routine notifies KTM that the calling resource manager has finished preliminary preparation of a transaction's data. |
NtPrePrepareEnlistment The ZwPrePrepareEnlistment routine initiates the pre-prepare operation for a specified enlistment's transaction. |
NtPrivilegeCheck The NtPrivilegeCheck routine determines whether a specified set of privileges is enabled in the subject's access token. |
NtQueryDirectoryFile The NtQueryDirectoryFile routine returns various kinds of information about files in the directory specified by a given file handle. |
NtQueryDirectoryFileEx Learn more about NtQueryDirectoryFileEx |
NtQueryInformationEnlistment The ZwQueryInformationEnlistment routine retrieves information about a specified enlistment object. |
NtQueryInformationFile The NtQueryInformationFile routine returns various kinds of information about a file object. |
NtQueryInformationResourceManager The ZwQueryInformationResourceManager routine retrieves information about a specified resource manager object. |
NtQueryInformationToken The NtQueryInformationToken routine retrieves a specified type of information about an access token. |
NtQueryInformationTransaction The ZwQueryInformationTransaction routine retrieves information about a specified transaction. |
NtQueryInformationTransactionManager The ZwQueryInformationTransactionManager routine retrieves information about a specified transaction manager object. |
NtQueryObject The NtQueryObject routine provides information about a supplied object. If the call occurs in user mode, use the name NtQueryObject. |
NtQueryQuotaInformationFile The NtQueryQuotaInformationFile routine retrieves quota entries associated with the volume specified by the FileHandle parameter. |
NtQuerySecurityObject The NtQuerySecurityObject routine retrieves a copy of an object's security descriptor. A security descriptor can be in absolute or self-relative form. |
NtQueryVirtualMemory Learn more about the NtQueryVirtualMemory function. |
NtQueryVolumeInformationFile This routine retrieves information about the volume associated with a given file, directory, storage device, or volume. |
NtReadFile Learn more about the NtReadFile routine. |
NtReadOnlyEnlistment The ZwReadOnlyEnlistment routine sets a specified enlistment to be read-only. |
NtRecoverEnlistment The ZwRecoverEnlistment routine initiates a recovery operation for the transaction that is associated with a specified enlistment. |
NtRecoverResourceManager The ZwRecoverResourceManager routine tries to recover the transaction that is associated with each enlistment of a specified resource manager object. |
NtRecoverTransactionManager The ZwRecoverTransactionManager routine reconstructs the state of the transaction manager object (including all transactions, enlistments, and resource managers) from the recovery information that is in the log stream. |
NtRenameTransactionManager The NtRenameTransactionManager routine changes the identity of the transaction manager object that is stored in the CLFS log file stream contained in the log file name. |
NtRollbackComplete The ZwRollbackComplete routine notifies KTM that the calling resource manager has finished rolling back a transaction's data. |
NtRollbackEnlistment The ZwRollbackEnlistment routine rolls back the transaction that is associated with a specified enlistment. |
NtRollbackTransaction The ZwRollbackTransaction routine initiates a rollback operation for a specified transaction. |
NtRollforwardTransactionManager The ZwRollforwardTransactionManager routine initiates recovery operations for all of the in-progress transactions that are assigned to a specified transaction manager. |
NtSetInformationEnlistment The ZwSetInformationEnlistment routine sets information for a specified enlistment object. |
NtSetInformationFile The NtSetInformationFile routine in ntifs.h changes various kinds of information about a file object. |
NtSetInformationResourceManager The ZwSetInformationResourceManager routine is not used. |
NtSetInformationThread Learn how the ZwSetInformationThread routine sets the priority of a thread. |
NtSetInformationToken The NtSetInformationToken routine modifies information in a specified token. The calling process must have access rights to set the information. |
NtSetInformationTransaction The ZwSetInformationTransaction routine sets information for a specified transaction. |
NtSetInformationTransactionManager Do not call this routine from kernel-mode code. |
NtSetQuotaInformationFile The NtSetQuotaInformationFile routine changes quota entries for the volume associated with the FileHandle parameter. |
NtSetSecurityObject Learn more about the NtSetSecurityObject routine. |
NtSinglePhaseReject The ZwSinglePhaseReject routine informs KTM that the calling resource manager will not support single-phase commit operations for a specified enlistment. |
NtUnlockFile The NtUnlockFile routine in unlocks a byte-range lock in a file. If the call is in user mode, use the name NtUnlockFile instead of ZwUnlockFile. |
NtWriteFile Learn more about the NtWriteFile routine. |
ObCloseHandle The ObCloseHandle routine closes an object handle. |
ObDereferenceObject The ObDereferenceObject routine decrements the given object's reference count and performs retention checks. |
ObDereferenceObjectDeferDelete The ObDereferenceObjectDeferDelete routine decrements the reference count for the given object, checks for object retention, and avoids deadlocks. |
ObDereferenceObjectDeferDeleteWithTag The ObDereferenceObjectDeferDeleteWithTag routine decrements the reference count for the specified object, defers deletion of the object to avoid deadlocks, and writes a four-byte tag value to the object to support object reference tracing. |
ObDereferenceObjectWithTag The ObDereferenceObjectWithTag routine decrements the reference count of the specified object, and writes a four-byte tag value to the object to support object reference tracing. |
ObfReferenceObject The ObfReferenceObject routine increments the reference count to the given object. |
ObGetObjectSecurity The ObGetObjectSecurity routine gets the security descriptor for a given object. |
ObReferenceObject The ObReferenceObject routine increments the reference count to the given object. |
ObReferenceObjectByHandle The ObReferenceObjectByHandle routine provides access validation on the object handle, and, if access can be granted, returns the corresponding pointer to the object's body. |
ObReferenceObjectByHandleWithTag The ObReferenceObjectByHandleWithTag routine increments the reference count of the object that is identified by the specified handle, and writes a four-byte tag value to the object to support object reference tracing. |
ObReferenceObjectByPointer The ObReferenceObjectByPointer routine increments the pointer reference count for a given object. |
ObReferenceObjectByPointerWithTag The ObReferenceObjectByPointerWithTag routine increments the reference count of the specified object, and writes a four-byte tag value to the object to support object reference tracing. |
ObReferenceObjectSafe The ObReferenceObjectSafe function increments the reference count for an object and determines if it is safe to use the object. It returns FALSE if the object is being deleted or TRUE if it's safe to use the object further. |
ObReferenceObjectWithTag The ObReferenceObjectWithTag routine increments the reference count of the specified object, and writes a four-byte tag value to the object to support object reference tracing. |
ObRegisterCallbacks The ObRegisterCallbacks routine registers a list of callback routines for thread, process, and desktop handle operations. |
ObReleaseObjectSecurity The ObReleaseObjectSecurity routine is the reciprocal to ObGetObjectSecurity. |
ObUnRegisterCallbacks The ObUnRegisterCallbacks routine unregisters a set of callback routines that were registered with the ObRegisterCallbacks routine. |
PALLOCATE_ADAPTER_CHANNEL The AllocateAdapterChannel routine prepares the system for a DMA operation on behalf of the target device object, and then calls the driver-supplied AdapterControl routine to carry out the DMA operation. |
PALLOCATE_ADAPTER_CHANNEL_EX The AllocateAdapterChannelEx routine allocates the resources that are needed to perform a DMA transfer, and then calls the driver-supplied AdapterControl routine to initiate the DMA transfer. |
PALLOCATE_COMMON_BUFFER The AllocateCommonBuffer routine allocates memory and maps it so that it is simultaneously accessible from both the processor and a device for DMA operations. |
PALLOCATE_COMMON_BUFFER_EX The AllocateCommonBufferEx routine allocates memory for a common buffer and maps this memory so that it can be accessed both by the processor and by a device that performs DMA operations. |
PALLOCATE_COMMON_BUFFER_VECTOR Learn more about: PALLOCATE_COMMON_BUFFER_VECTOR callback function |
PALLOCATE_COMMON_BUFFER_WITH_BOUNDS This callback function allocates the memory for a common buffer and maps it so that it can be accessed by a master device and the CPU. |
PALLOCATE_DOMAIN_COMMON_BUFFER This callback function allocates the memory for a domain common buffer. |
PBUILD_MDL_FROM_SCATTER_GATHER_LIST The BuildMdlFromScatterGatherList routine builds an MDL from a scatter/gather list allocated by the system.Note This routine is reserved for system use. |
PBUILD_SCATTER_GATHER_LIST The BuildScatterGatherList routine prepares the system for a DMA operation, using a driver-supplied buffer to build the scatter/gather list. |
PBUILD_SCATTER_GATHER_LIST_EX The BuildScatterGatherListEx routine allocates the resources that are required for a DMA transfer, builds a scatter/gather list, and calls the driver-supplied AdapterListControl routine to initiate the DMA transfer. |
PCALCULATE_SCATTER_GATHER_LIST_SIZE The CalculateScatterGatherList routine calculates the size, in bytes, of scatter/gather list necessary to hold a given buffer. |
PCANCEL_ADAPTER_CHANNEL The CancelAdapterChannel routine tries to cancel a pending request to allocate a DMA channel. |
PCANCEL_MAPPED_TRANSFER The CancelMappedTransfer routine cancels a system DMA transfer that is currently mapped to an adapter. |
PCI_MSIX_MASKUNMASK_ENTRY The MaskTableEntry routine masks an interrupt in the MSI-X hardware interrupt table. |
PCI_MSIX_SET_ENTRY The SetTableEntry routine sets the message ID for a table entry in the MSI-X hardware interrupt table. |
PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK The ClfsAdvanceTailCallback function advances the base log sequence number (LSN) of the client's log. |
PCLFS_CLIENT_LFF_HANDLER_COMPLETE_CALLBACK The ClfsLogGrowthCompleteCallback function implements the actions that the client will take when space is freed in a log that had previously been full. |
PCLFS_CLIENT_LOG_UNPINNED_CALLBACK The ClfsLogUnpinnedCallback function implements any actions that the client will take when a log that had previously been pinned becomes unpinned. |
PCONFIGURE_ADAPTER_CHANNEL The ConfigureAdapterChannel routine invokes a custom function that is implemented by the DMA controller represented by an adapter object. |
PCREATE_PROCESS_NOTIFY_ROUTINE Process-creation callback implemented by a driver to track the system-wide creation and deletion of processes against the driver's internal state. |
PCREATE_PROCESS_NOTIFY_ROUTINE_EX A callback routine implemented by a driver to notify the caller when a process is created or exits. |
PCREATE_THREAD_NOTIFY_ROUTINE A callback routine implemented by a driver to notify the caller when a thread is created or deleted. |
PEP_ACPI_INITIALIZE_EXTENDED_IO_RESOURCE Learn how the PEP_ACPI_INITIALIZE_EXTENDED_IO_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure. |
PEP_ACPI_INITIALIZE_EXTENDED_IO_RESOURCE The PEP_ACPI_INITIALIZE_EXTENDED_IO_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure. |
PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE Learn how the PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure. |
PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE The PEP_ACPI_INITIALIZE_EXTENDED_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_EXTENDED_ADDRESS structure. |
PEP_ACPI_INITIALIZE_GPIO_INT_RESOURCE Learn how the PEP_ACPI_INITIALIZE_GPIO_INT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_GPIO_RESOURCE structure. |
PEP_ACPI_INITIALIZE_GPIO_INT_RESOURCE The PEP_ACPI_INITIALIZE_GPIO_INT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_GPIO_RESOURCE structure. |
PEP_ACPI_INITIALIZE_GPIO_IO_RESOURCE Learn how the PEP_ACPI_INITIALIZE_GPIO_IO_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_GPIO_RESOURCE structure. |
PEP_ACPI_INITIALIZE_GPIO_IO_RESOURCE The PEP_ACPI_INITIALIZE_GPIO_IO_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_GPIO_RESOURCE structure. |
PEP_ACPI_INITIALIZE_INTERRUPT_RESOURCE Learn how the PEP_ACPI_INITIALIZE_INTERRUPT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_INTERRUPT_RESOURCE structure. |
PEP_ACPI_INITIALIZE_INTERRUPT_RESOURCE The PEP_ACPI_INITIALIZE_INTERRUPT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_INTERRUPT_RESOURCE structure. |
PEP_ACPI_INITIALIZE_IOPORT_RESOURCE Learn how the PEP_ACPI_INITIALIZE_IOPORT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_IO_MEMORY_RESOURCE structure. |
PEP_ACPI_INITIALIZE_IOPORT_RESOURCE The PEP_ACPI_INITIALIZE_IOPORT_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_IO_MEMORY_RESOURCE structure. |
PEP_ACPI_INITIALIZE_MEMORY_RESOURCE Learn how the PEP_ACPI_INITIALIZE_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_IO_MEMORY_RESOURCE structure. |
PEP_ACPI_INITIALIZE_MEMORY_RESOURCE The PEP_ACPI_INITIALIZE_MEMORY_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_IO_MEMORY_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_I2C_RESOURCE Learn how the PEP_ACPI_INITIALIZE_SPB_I2C_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_I2C_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_I2C_RESOURCE The PEP_ACPI_INITIALIZE_SPB_I2C_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_I2C_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_SPI_RESOURCE Learn how the PEP_ACPI_INITIALIZE_SPB_SPI_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_SPI_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_SPI_RESOURCE The PEP_ACPI_INITIALIZE_SPB_SPI_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_SPI_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_UART_RESOURCE Learn how the PEP_ACPI_INITIALIZE_SPB_UART_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_UART_RESOURCE structure. |
PEP_ACPI_INITIALIZE_SPB_UART_RESOURCE The PEP_ACPI_INITIALIZE_SPB_UART_RESOURCE function initializes a platform extension plug-in's (PEP) PEP_ACPI_SPB_UART_RESOURCE structure. |
PEPCALLBACKNOTIFYACPI Learn how an AcceptAcpiNotification event callback routine handles ACPI notifications from the Windows power management framework (PoFx). |
PEPCALLBACKNOTIFYACPI An AcceptAcpiNotification event callback routine handles ACPI notifications from the Windows power management framework (PoFx). |
PEPCALLBACKNOTIFYDPM Learn how an AcceptDeviceNotification event callback routine handles device power management (DPM) notifications from the Windows power management framework (PoFx). |
PEPCALLBACKNOTIFYDPM An AcceptDeviceNotification event callback routine handles device power management (DPM) notifications from the Windows power management framework (PoFx). |
PEPCALLBACKNOTIFYPPM Learn how an AcceptProcessorNotification event callback routine handles processor power management (PPM) notifications from the Windows power management framework (PoFx). |
PEPCALLBACKNOTIFYPPM An AcceptProcessorNotification event callback routine handles processor power management (PPM) notifications from the Windows power management framework (PoFx). |
PEPCALLBACKPOWERONCRASHDUMPDEVICE Learn how the PowerOnDumpDeviceCallback callback routine turns on the crash-dump device. |
PEPCALLBACKPOWERONCRASHDUMPDEVICE The PowerOnDumpDeviceCallback callback routine turns on the crash-dump device. |
PFLUSH_ADAPTER_BUFFERS The FlushAdapterBuffers routine flushes any data remaining in the system DMA controller's internal cache or in a bus-master adapter's internal cache at the end of a DMA transfer operation. |
PFLUSH_ADAPTER_BUFFERS_EX The FlushAdapterBuffersEx routine flushes any data that remains in the data cache at the end of a DMA transfer operation performed by a system DMA controller or bus-master device. |
PFLUSH_DMA_BUFFER The callback routine flushes any data remaining in the memory region described by an MDL. |
PFREE_ADAPTER_CHANNEL The FreeAdapterChannel routine releases the system DMA controller when a driver has completed all DMA operations necessary to satisfy the current IRP. |
PFREE_ADAPTER_OBJECT The FreeAdapterObject routine releases the specified adapter object after a driver has completed all DMA operations. |
PFREE_COMMON_BUFFER The FreeCommonBuffer routine frees a common buffer allocated by AllocateCommonBuffer, along with all resources the buffer uses. |
PFREE_COMMON_BUFFER_FROM_VECTOR Describes the PFREE_COMMON_BUFFER_FROM_VECTOR callback function. |
PFREE_COMMON_BUFFER_VECTOR Describes the PFREE_COMMON_BUFFER_VECTOR callback function. |
PFREE_MAP_REGISTERS The FreeMapRegisters routine releases a set of map registers that were saved from a call to AllocateAdapterChannel. |
PGET_COMMON_BUFFER_FROM_VECTOR_BY_INDEX Describes the PGET_COMMON_BUFFER_FROM_VECTOR_BY_INDEX callback function. |
PGET_DMA_ADAPTER_INFO The GetDmaAdapterInfo routine retrieves information about the hardware capabilities of a system DMA channel. |
PGET_DMA_ALIGNMENT The GetDmaAlignment routine returns the alignment requirements of the DMA system. |
PGET_DMA_DOMAIN The PGET_DMA_DOMAIN callback function gets the handle to the DMA domain. |
PGET_DMA_TRANSFER_INFO The GetDmaTransferInfo routine calculates the allocation requirements for a scatter/gather DMA transfer. |
PGET_LOCATION_STRING The PnpGetLocationString routine provides the device-specific part of the device's SPDRP_LOCATION_PATHS property. |
PGET_SCATTER_GATHER_LIST The GetScatterGatherList routine prepares the system for a DMA scatter/gather operation on behalf of the target device object, through either the system DMA controller or a bus-master adapter. |
PGET_SCATTER_GATHER_LIST_EX The GetScatterGatherListEx routine allocates the resources that are required for a DMA transfer, builds a scatter/gather list, and calls the driver-supplied AdapterListControl routine to initiate the DMA transfer. |
pHalExamineMBR The pHalExamineMBR callback function is invoked to read the master boot record (MBR) of a disk and return the MBR data if the MBR is of the specified type. |
pHalQuerySystemInformation The pHalQuerySystemInformation callback function reads the MCA banks' status registers. |
pHalSetSystemInformation Register MCA driver with the HAL. |
PINITIALIZE_DMA_TRANSFER_CONTEXT The InitializeDmaTransferContext routine initializes an opaque DMA transfer context that is used to track pending allocations of DMA resources. |
PINTERFACE_DEREFERENCE The PINTERFACE_DEREFERENCE callback function (miniport.h) decrements the reference count on a driver-defined interface. |
PINTERFACE_DEREFERENCE The PINTERFACE_DEREFERENCE callback function (wdm.h) decrements the reference count on a driver-defined interface. |
PINTERFACE_REFERENCE The PINTERFACE_REFERENCE callback function (miniport.h) increments the reference count on a driver-defined interface. |
PINTERFACE_REFERENCE The PINTERFACE_REFERENCE callback function (wdm.h) increments the reference count on a driver-defined interface. |
PJOIN_DMA_DOMAIN The PJOIN_DMA_DOMAIN callback function joins the specified DMA domain. |
PLEAVE_DMA_DOMAIN The PLEAVE_DMA_DOMAIN callback function leaves the specified DMA domain. |
PLOAD_IMAGE_NOTIFY_ROUTINE Called by the operating system to notify the driver when a driver image or a user image (for example, a DLL or EXE) is mapped into virtual memory. |
PMAP_TRANSFER The MapTransfer routine sets up map registers for an adapter object to map a DMA transfer from a locked-down buffer. |
PMAP_TRANSFER_EX The MapTransferEx routine sets up map registers to map the physical addresses in a scatter/gather list to the logical addresses that are required to do a DMA transfer. |
PO_EFFECTIVE_POWER_MODE_CALLBACK The PO_EFFECTIVE_POWER_MODE_CALLBACK is the effective power mode callback. |
PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK The ComponentActiveConditionCallback callback routine notifies the driver that the specified component completed a transition from the idle condition to the active condition. |
PO_FX_COMPONENT_CRITICAL_TRANSITION_CALLBACK The ComponentCriticalTransitionCallback callback routine handles a transition of the specified component between the F0 (fully on) and low-power Fx component power states. |
PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK The ComponentIdleConditionCallback callback routine notifies the driver that the specified component completed a transition from the active condition to the idle condition. |
PO_FX_COMPONENT_IDLE_STATE_CALLBACK The ComponentIdleStateCallback callback routine notifies the driver of a pending change to the Fx power state of the specified component. |
PO_FX_COMPONENT_PERF_STATE_CALLBACK The ComponentPerfStateCallback callback routine notifies the driver that its request to change the performance state of a component is complete. |
PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK The DevicePowerNotRequiredCallback callback routine notifies the device driver that the device is not required to stay in the D0 power state. |
PO_FX_DEVICE_POWER_REQUIRED_CALLBACK The DevicePowerRequiredCallback callback routine notifies the device driver that the device must enter and remain in the D0 power state. |
PO_FX_DIRECTED_POWER_DOWN_CALLBACK The PO_FX_DIRECTED_POWER_DOWN_CALLBACK callback function is implemented by the client driver to handle driver-specific power down activities on behalf of DFx. |
PO_FX_DIRECTED_POWER_UP_CALLBACK The PO_FX_DIRECTED_POWER_UP_CALLBACK callback function is implemented by the client driver to handle driver-specific power up activities on behalf of DFx. |
PO_FX_POWER_CONTROL_CALLBACK The PowerControlCallback callback routine performs a power control operation that is requested by the power management framework (PoFx). |
POB_POST_OPERATION_CALLBACK The ObjectPostCallback routine is called by the operating system after a process or thread handle operation occurs. |
POB_PRE_OPERATION_CALLBACK The ObjectPreCallback routine is called by the operating system when a process or thread handle operation occurs. |
PoCallDriver The PoCallDriver routine in ntifs.h passes a power IRP to the next-lower driver in the device stack. (Windows Server 2003, Windows XP, and Windows 2000 only.). |
PoCallDriver The PoCallDriver routine in wdm.h passes a power IRP to the next-lower driver in the device stack. (Windows Server 2003, Windows XP, and Windows 2000 only.). |
PoClearPowerRequest Learn more about the PoClearPowerRequest routine. |
PoClearPowerRequest The PoClearPowerRequest routine in the wdm.h file decrements the count for the specified power request type. |
PoCreatePowerRequest Learn more about the PoCreatePowerRequest routine. |
PoCreatePowerRequest The PoCreatePowerRequest routine in wdm.h creates a power request object. To enable power requests, create one power request object and use it for all calls. |
PoDeletePowerRequest Learn more about the PoDeletePowerRequest routine. |
PoDeletePowerRequest The PoDeletePowerRequest routine in wdm.h deletes a power request object. The driver must delete the power request object before it deletes the device object. |
PoEndDeviceBusy Learn more about the PoEndDeviceBusy routine. |
PoEndDeviceBusy The PoEndDeviceBusy routine in the wdm.h file marks the end of a period of time in which the device is busy. |
PoFxActivateComponent The PoFxActivateComponent routine increments the activation reference count on the specified component. |
POFXCALLBACKCRITICALRESOURCE Learn how the TransitionCriticalResource routine changes the active/inactive state of a core system component. |
POFXCALLBACKCRITICALRESOURCE The TransitionCriticalResource routine changes the active/inactive state of a core system component. |
POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS Learn how the EnumerateUnmaskedInterrupts routine enumerates interrupt sources whose interrupts are unmasked and enabled. |
POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS The EnumerateUnmaskedInterrupts routine enumerates interrupt sources whose interrupts are unmasked and enabled. |
POFXCALLBACKPLATFORMIDLEVETO Learn how the PlatformIdleVeto routine increments or decrements the veto count for a veto code for a platform idle state. |
POFXCALLBACKPLATFORMIDLEVETO The PlatformIdleVeto routine increments or decrements the veto count for a veto code for a platform idle state. |
POFXCALLBACKPROCESSORHALT Learn how the ProcessorHalt routine prepares the processor to be halted. |
POFXCALLBACKPROCESSORHALT The ProcessorHalt routine prepares the processor to be halted. |
POFXCALLBACKPROCESSORIDLEVETO Learn how the ProcessorIdleVeto routine increments or decrements the veto count for a veto code for a processor idle state. |
POFXCALLBACKPROCESSORIDLEVETO The ProcessorIdleVeto routine increments or decrements the veto count for a veto code for a processor idle state. |
POFXCALLBACKREQUESTCOMMON Learn how the RequestCommon routine is a generic request handler. |
POFXCALLBACKREQUESTCOMMON The RequestCommon routine is a generic request handler. |
POFXCALLBACKREQUESTINTERRUPT Learn how the RequestInterrupt routine requests that the operating system replay an edge-triggered interrupt that might have been lost while the hardware platform was in a low-power state. |
POFXCALLBACKREQUESTINTERRUPT The RequestInterrupt routine requests that the operating system replay an edge-triggered interrupt that might have been lost while the hardware platform was in a low-power state. |
POFXCALLBACKREQUESTWORKER Learn how the RequestWorker routine is called by a platform extension plug-in (PEP) to inform the Windows power management framework (PoFx) that the platform extension plug-in (PEP) has a work request to submit on behalf of the specified device. |
POFXCALLBACKREQUESTWORKER The RequestWorker routine is called by a platform extension plug-in (PEP) to inform the Windows power management framework (PoFx) that the platform extension plug-in (PEP) has a work request to submit on behalf of the specified device. |
POFXCALLBACKUPDATEPLATFORMIDLESTATE Learn how the UpdatePlatformIdleState routine is called by the platform extension plug-in (PEP) to update the properties of the specified platform idle state. |
POFXCALLBACKUPDATEPLATFORMIDLESTATE The UpdatePlatformIdleState routine is called by the platform extension plug-in (PEP) to update the properties of the specified platform idle state. |
POFXCALLBACKUPDATEPROCESSORIDLESTATE Learn how the UpdateProcessorIdleState routine is called by the platform extension plug-in (PEP) to update the properties of the specified processor idle state. |
POFXCALLBACKUPDATEPROCESSORIDLESTATE The UpdateProcessorIdleState routine is called by the platform extension plug-in (PEP) to update the properties of the specified processor idle state. |
PoFxCompleteDevicePowerNotRequired The PoFxCompleteDevicePowerNotRequired routine notifies the power management framework (PoFx) that the calling driver has completed its response to a call to the driver's DevicePowerNotRequiredCallback callback routine. |
PoFxCompleteDirectedPowerDown A Directed Power Framework (DFx) client driver calls this function to complete the Directed power down transition. |
PoFxCompleteIdleCondition The PoFxCompleteIdleCondition routine informs the power management framework (PoFx) that the specified component has completed a pending change to the idle condition. |
PoFxCompleteIdleState The PoFxCompleteIdleState routine informs the power management framework (PoFx) that the specified component has completed a pending change to an Fx state. |
PoFxIdleComponent The PoFxIdleComponent routine decrements the activation reference count on the specified component. |
PoFxIssueComponentPerfStateChange The PoFxIssueComponentPerfStateChange routine submits a request to place a device component in a particular performance state. |
PoFxIssueComponentPerfStateChangeMultiple The PoFxIssueComponentPerfStateChangeMultiple routine submits a request to change the performance states in multiple performance state sets simultaneously for a device component. |
PoFxNotifySurprisePowerOn The PoFxNotifySurprisePowerOn routine notifies the power management framework (PoFx) that a device was turned on as a side effect of supplying power to some other device. |
PoFxPowerControl The PoFxPowerControl routine sends a power control request to the power management framework (PoFx). |
PoFxPowerOnCrashdumpDevice The PoFxPowerOnCrashdumpDevice routine requests that a crash-dump device be turned on. |
PoFxQueryCurrentComponentPerfState The PoFxQueryCurrentComponentPerfState routine retrieves the active performance state in a component's performance state set. |
PoFxRegisterComponentPerfStates The PoFxRegisterComponentPerfStates routine registers a device component for performance state management by the power management framework (PoFx). |
PoFxRegisterCoreDevice Learn how the PoFxRegisterCoreDevice routine registers a new core system resource with the Windows power management framework (PoFx). |
PoFxRegisterCoreDevice The PoFxRegisterCoreDevice routine registers a new core system resource with the Windows power management framework (PoFx). |
PoFxRegisterCrashdumpDevice The PoFxRegisterCrashdumpDevice routine registers a crash-dump device. |
PoFxRegisterDevice The PoFxRegisterDevice routine registers a device with the power management framework (PoFx). |
PoFxRegisterPlugin Learn how the PoFxRegisterPlugin routine registers a platform extension plug-in (PEP) with the Windows power management framework (PoFx). |
PoFxRegisterPlugin The PoFxRegisterPlugin routine registers a platform extension plug-in (PEP) with the Windows power management framework (PoFx). |
PoFxRegisterPluginEx Learn how the PoFxRegisterPluginEx routine registers a platform extension plug-in (PEP) with the Windows power management framework (PoFx). |
PoFxRegisterPluginEx The PoFxRegisterPluginEx routine registers a platform extension plug-in (PEP) with the Windows power management framework (PoFx). |
PoFxReportDevicePoweredOn The PoFxReportDevicePoweredOn routine notifies the power management framework (PoFx) that the device completed the requested transition to the D0 (fully on) power state. |
PoFxSetComponentLatency The PoFxSetComponentLatency routine specifies the maximum latency that can be tolerated in the transition from the idle condition to the active condition in the specified component. |
PoFxSetComponentResidency The PoFxSetComponentResidency routine sets the estimated time for how long a component is likely to remain idle after the component enters the idle condition. |
PoFxSetComponentWake The PoFxSetComponentWake routine indicates whether the driver arms the specified component to wake whenever the component enters the idle condition. |
PoFxSetDeviceIdleTimeout The PoFxSetDeviceIdleTimeout routine specifies the minimum time interval from when the last component of the device enters the idle condition to when the power management framework (PoFx) calls the driver's DevicePowerNotRequiredCallback routine. |
PoFxSetTargetDripsDevicePowerState This routine is called to notify the power manager of the device's target device power state for DRIPS. The driver can override the DRIPS constraint provided by the PEP. |
PoFxStartDevicePowerManagement The PoFxStartDevicePowerManagement routine completes the registration of a device with the power management framework (PoFx) and starts device power management. |
PoFxUnregisterDevice The PoFxUnregisterDevice routine removes the registration of a device from the power management framework (PoFx). |
PoGetSystemWake The PoGetSystemWake routine determines whether a specified IRP has been marked as waking the system from a sleeping state. |
PopEntryList The PopEntryList routine removes the first entry from a singly linked list of SINGLE_LIST_ENTRY structures. |
PoQueryWatchdogTime Learn more about the PoQueryWatchdogTime routine. |
PoQueryWatchdogTime The PoQueryWatchdogTime routine in wdm.h indicates whether the power manager has enabled a time-out counter for any power IRP assigned to the device stack. |
PoRegisterDeviceForIdleDetection Learn more about the PoRegisterDeviceForIdleDetection routine. |
PoRegisterDeviceForIdleDetection The PoRegisterDeviceForIdleDetection routine in wdm.h enables or cancels idle detection and sets idle time-out values for a device. |
PoRegisterForEffectivePowerModeNotifications The PoRegisterForEffectivePowerModeNotifications function registers a callback to receive effective power mode change notifications. |
PoRegisterPowerSettingCallback Learn more about the PoRegisterPowerSettingCallback routine. |
PoRegisterPowerSettingCallback The PoRegisterPowerSettingCallback routine in wdm.h registers a power-setting callback routine to receive notifications of changes in the specified power setting. |
PoRegisterSystemState Learn more about the PoRegisterSystemState routine. |
PoRegisterSystemState The PoRegisterSystemState routine in wdm.h registers the system as busy due to certain activity as indicated by the flags. |
PoRequestPowerIrp The PoRequestPowerIrp routine allocates a power IRP and sends it to the top driver in the device stack for the specified device. |
PoSetDeviceBusy Learn more about: PoSetDeviceBusy |
PoSetDeviceBusyEx Learn more about the PoSetDeviceBusyEx routine. |
PoSetDeviceBusyEx The PoSetDeviceBusyEx routine in wdm.h notifies the power manager that the device associated with the specified idle counter is busy. |
PoSetPowerRequest Learn more about the PoSetPowerRequest function. |
PoSetPowerRequest The PoSetPowerRequest routine in wdm.h increments the count for the specified power request type. The power manager counts requests for each power request type. |
PoSetPowerState Learn more about the PoSetPowerState function. |
PoSetPowerState The PoSetPowerState routine in wdm.h notifies the system of a change in the device power state for a device. |
PoSetSystemState Drivers call the PoSetSystemState routine to indicate that the system is active. |
PoSetSystemWake The PoSetSystemWake routine marks the specified IRP as one that contributed to waking the system from a sleep state. |
PoSetSystemWakeDevice The PoSetSystemWakeDevice function attempts to extract a PDO from the supplied device object. |
PoStartDeviceBusy The PoStartDeviceBusy routine in ntifs.h marks the start of a period of time in which the device is busy. |
PoStartDeviceBusy The PoStartDeviceBusy routine in wdm.h marks the start of a period of time in which the device is busy. |
PoStartNextPowerIrp The PoStartNextPowerIrp routine in ntifs.h signals the power manager that the driver is ready to handle the next power IRP. |
PoStartNextPowerIrp The PoStartNextPowerIrp routine in wdm.h signals the power manager that the driver is ready to handle the next power IRP. |
PoUnregisterFromEffectivePowerModeNotifications The PoUnregisterFromEffectivePowerModeNotifications function unregisters from effective power mode change notifications. |
PoUnregisterPowerSettingCallback The PoUnregisterPowerSettingCallback routine in ntifs.h unregisters a power-setting callback routine that a driver previously registered. |
PoUnregisterPowerSettingCallback The PoUnregisterPowerSettingCallback routine in wdm.h unregisters a power-setting callback routine that a driver previously registered. |
PoUnregisterSystemState The PoUnregisterSystemState routine in ntifs.h cancels a system state registration created by PoRegisterSystemState. |
PoUnregisterSystemState The PoUnregisterSystemState routine in wdm.h cancels a system state registration created by PoRegisterSystemState. |
PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER Learn more about: PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER callback function |
PPHYSICAL_COUNTER_OVERFLOW_HANDLER The PPHYSICAL_COUNTER_OVERFLOW_HANDLER is implemented by the client driver to handle overflows from the counters resources acquired through the HalAllocateHardwareCounters routine. |
PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK Learn how an EnumerateInterruptSource callback routine supplies a platform extension plug-in (PEP) with information about an interrupt source. |
PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK An EnumerateInterruptSource callback routine supplies a platform extension plug-in (PEP) with information about an interrupt source. |
PPUT_DMA_ADAPTER The PutDmaAdapter routine frees a DMA_ADAPTER structure previously allocated by IoGetDmaAdapter. |
PPUT_SCATTER_GATHER_LIST The PutScatterGatherList routine frees the previously allocated map registers and scatter/gather list used in scatter/gather DMA. |
PREAD_DMA_COUNTER The ReadDmaCounter routine returns the number of bytes remaining to be transferred during the current subordinate DMA operation. |
PREENUMERATE_SELF A ReenumerateSelf routine requests that a bus driver reenumerate a child device. |
PRM_INVOKE_HANDLER Invokes a specific PRM handler |
PRM_LOCK_MODULE Locks a PRM module and prevents it from being unloaded. |
PRM_QUERY_HANDLER Queries for the presence of a specific PRM handler. |
PRM_UNLOCK_MODULE Unlocks a PRM module and allows it to be updated. |
ProbeForRead The ProbeForRead routine checks that a user-mode buffer actually resides in the user portion of the address space, and is correctly aligned. |
ProbeForWrite The ProbeForWrite routine checks that a user-mode buffer actually resides in the user-mode portion of the address space, is writable, and is correctly aligned. |
PROCESSOR_HALT_ROUTINE A Halt callback routine transitions the processor to an idle state. |
PsAllocateAffinityToken The PsAllocateAffinityToken function allocates a thread affinity token. |
PsAllocSiloContextSlot This routine allocates a slot that can be used to insert, retrieve, and delete an object in all silos. |
PsAttachSiloToCurrentThread This routine places a thread temporarily into the specified Silo. |
PsCreateSiloContext This routine creates an object that will be inserted in a Silo. |
PsCreateSystemThread The PsCreateSystemThread routine creates a system thread that executes in kernel mode and returns a handle for the thread. |
PsDereferenceSiloContext This routine decrements the reference count on the object. |
PsDetachSiloFromCurrentThread This routine removes a thread from a silo which was added by an attach. For more info about attaching, see the PsAttachSiloToCurrentThread routine. |
PsFreeAffinityToken The PsFreeAffinityToken function frees an affinity token that was allocated by PsAllocateAffinityToken. |
PsFreeSiloContextSlot This routine frees the specified slot and makes it available in the system. It undoes the effects of the PsAllocSiloContextSlot routine. |
PsGetCurrentProcessId The PsGetCurrentProcessId routine identifies the current thread's process. |
PsGetCurrentServerSilo This routine returns the effective server silo for the thread. |
PsGetCurrentSilo This routine returns the current silo for the calling thread. First the thread is checked to see if it has been attached to a silo. If not, then the thread is checked to see if it is in a silo. |
PsGetCurrentThread The PsGetCurrentThread routine identifies the current thread. |
PsGetCurrentThread Learn how the PsGetCurrentThread routine identifies the current thread. |
PsGetCurrentThread Learn how the PsGetCurrentThread routine (wdm.h) identifies the current thread. |
PsGetCurrentThreadId The PsGetCurrentThreadId routine identifies the current thread. |
PsGetCurrentThreadTeb The PsGetCurrentThreadTeb routine returns the Thread Environment Block (TEB) of the current thread. The call must be made in kernel-mode. |
PsGetEffectiveServerSilo This routine traverses the parent chain of the Silo until finding the effective server silo or host silo. |
PsGetHostSilo This routine returns the host silo. |
PsGetJobServerSilo This routine returns the effective ServerSilo for the job. The returned pointer is valid as long as the supplied Job object remains referenced. |
PsGetJobSilo This routine returns the first job in the hierarchy that is a Silo. The returned pointer is valid as long as the supplied Job object remains referenced. |
PsGetParentSilo Retrieves the most immediate parent silo in the hierarchy for a given job object. |
PsGetPermanentSiloContext This routine retrieves an object that was inserted in the Silo without incrementing the reference count. |
PsGetProcessCreateTimeQuadPart The PsGetProcessCreateTimeQuadPart routine returns a LONGLONG value that represents the time at which the process was created. |
PsGetProcessExitStatus |
PsGetProcessId The PsGetProcessId routine returns the process identifier (process ID) that is associated with a specified process. |
PsGetProcessStartKey |
PsGetServerSiloActiveConsoleId Gets the active console for the current server silo context for the supplied thread. |
PsGetSiloContainerId Gets the ContainerId for the given Silo. |
PsGetSiloContext This routine retrieves the silo context from the specified silo and slot. |
PsGetSiloMonitorContextSlot This routine returns the silo context slot that was allocated by the monitor during the registration. |
PsGetThreadCreateTime |
PsGetThreadExitStatus |
PsGetThreadId |
PsGetThreadProcessId The PsGetThreadProcessId routine returns the process identifier that is associated with a specified thread's process. |
PsGetThreadProperty |
PsGetThreadServerSilo Determines whether the given thread is a silo. |
PsGetVersion This function is obsolete in Windows XP and later versions of the Windows operating system. Use RtlGetVersion instead.PsGetVersion returns caller-selected information about the current version of the NT-based operating system. |
PsInsertPermanentSiloContext This routine inserts an object in an empty slot in a Silo. |
PsInsertSiloContext Learn how this routine inserts an object in an empty slot in a Silo. |
PsIsHostSilo This routine will check if the supplied Silo is the host silo. |
PsIsSystemThread The PsIsSystemThread routine checks whether a given thread is a system thread. |
PsMakeSiloContextPermanent This routine makes the slot in a silo instance read-only, allowing the object in the slot to be retrieved without affecting the reference count on that object. |
PsQueryTotalCycleTimeProcess The PsQueryTotalCycleTimeProcess routine returns the accumulated cycle time for the specified process. |
PsReferenceSiloContext This routine increments the reference count on the object. |
PsRegisterSiloMonitor This routine registers a server silo monitor that can receive notifications about server silo events. |
PsRemoveCreateThreadNotifyRoutine The PsRemoveCreateThreadNotifyRoutine routine removes a callback routine that was registered by the PsSetCreateThreadNotifyRoutine routine. |
PsRemoveLoadImageNotifyRoutine The PsRemoveLoadImageNotifyRoutine routine removes a callback routine that was registered by the PsSetLoadImageNotifyRoutine routine. |
PsRemoveSiloContext This routine removes an object that was inserted in the Silo. |
PsReplaceSiloContext This routine inserts an object in a Silo. |
PsRevertToUserMultipleGroupAffinityThread The PsRevertToUserMultipleGroupAffinityThread function reverts the current thread to its previous affinity as indicated by the given affinity token. |
PsSetCreateProcessNotifyRoutine The PsSetCreateProcessNotifyRoutine routine adds a driver-supplied callback routine to, or removes it from, a list of routines to be called whenever a process is created or deleted. |
PsSetCreateProcessNotifyRoutineEx The PsSetCreateProcessNotifyRoutineEx routine registers or removes a callback routine that notifies the caller when a process is created or exits. |
PsSetCreateProcessNotifyRoutineEx2 The PsSetCreateProcessNotifyRoutineEx2 routine registers or removes a callback routine that notifies the caller when a process is created or deleted. |
PsSetCreateThreadNotifyRoutine The PsSetCreateThreadNotifyRoutine routine registers a driver-supplied callback that is subsequently notified when a new thread is created and when such a thread is deleted. |
PsSetCreateThreadNotifyRoutineEx The PsSetCreateThreadNotifyRoutineEx routine registers a driver-supplied callback that is subsequently notified when a new thread is created and when such a thread is deleted. |
PsSetLoadImageNotifyRoutine The PsSetLoadImageNotifyRoutine routine registers a driver-supplied callback that is subsequently notified whenever an image is loaded (or mapped into memory). |
PsSetLoadImageNotifyRoutineEx The PsSetLoadImageNotifyRoutineEx routine registers a driver-supplied callback that is subsequently notified whenever an image is loaded (or mapped into memory). |
PsSetSystemMultipleGroupAffinityThread The PsSetSystemMultipleGroupAffinityThread function sets the multi-group system affinity of the current thread. |
PsStartSiloMonitor This routine tries to start the server silo monitor. |
PsTerminateServerSilo This routine terminates the specified silo. |
PsTerminateSystemThread The PsTerminateSystemThread routine terminates the current system thread. |
PsUnregisterSiloMonitor This routine unregisters a server silo monitor. |
PTM_RM_NOTIFICATION A resource manager's ResourceManagerNotification callback routine receives and handles transaction notifications. |
PushEntryList The PushEntryList routine inserts an entry at the beginning of a singly linked list of SINGLE_LIST_ENTRY structures. |
READ_PORT_BUFFER_UCHAR The READ_PORT_BUFFER_UCHAR function (miniport.h) reads a number of bytes from the specified port address into a buffer. |
READ_PORT_BUFFER_UCHAR The READ_PORT_BUFFER_UCHAR function (wdm.h) reads a number of bytes from the specified port address into a buffer. |
READ_PORT_BUFFER_ULONG The READ_PORT_BUFFER_ULONG function (miniport.h) reads a number of ULONG values from the specified port address into a buffer. |
READ_PORT_BUFFER_ULONG The READ_PORT_BUFFER_ULONG function (wdm.h) reads a number of ULONG values from the specified port address into a buffer. |
READ_PORT_BUFFER_USHORT The READ_PORT_BUFFER_USHORT function (miniport.h) reads a number of USHORT values from the specified port address into a buffer. |
READ_PORT_BUFFER_USHORT The READ_PORT_BUFFER_USHORT function (wdm.h) reads a number of USHORT values from the specified port address into a buffer. |
READ_PORT_UCHAR The READ_PORT_UCHAR function (ioaccess.h) returns a byte that is read from the specified port address in resident, mapped device memory. |
READ_PORT_UCHAR The READ_PORT_UCHAR function (miniport.h) returns a byte that is read from the specified port address in resident, mapped device memory. |
READ_PORT_UCHAR The READ_PORT_UCHAR function (wdm.h) returns a byte that is read from the specified port address in resident, mapped device memory. |
READ_PORT_ULONG The READ_PORT_ULONG function (ioaccess.h) returns a ULONG value that is read from the specified port address in resident, mapped device memory. |
READ_PORT_ULONG The READ_PORT_ULONG function (miniport.h) returns a ULONG value that is read from the specified port address in resident, mapped device memory. |
READ_PORT_ULONG The READ_PORT_ULONG function (wdm.h) returns a ULONG value that is read from the specified port address in resident, mapped device memory. |
READ_PORT_USHORT The READ_PORT_USHORT function (ioaccess.h) returns a USHORT value that is read from the specified port address in resident, mapped device memory. |
READ_PORT_USHORT The READ_PORT_USHORT function (miniport.h) returns a USHORT value that is read from the specified port address in resident, mapped device memory. |
READ_PORT_USHORT The READ_PORT_USHORT function (wdm.h) returns a USHORT value that is read from the specified port address in resident, mapped device memory. |
READ_REGISTER_BUFFER_UCHAR The READ_REGISTER_BUFFER_UCHAR function (miniport.h) reads a number of bytes from the specified register address into a buffer. |
READ_REGISTER_BUFFER_UCHAR The READ_REGISTER_BUFFER_UCHAR function (wdm.h) reads a number of bytes from the specified register address into a buffer. |
READ_REGISTER_BUFFER_ULONG The READ_REGISTER_BUFFER_ULONG function (miniport.h) reads a number of ULONG values from the specified register address into a buffer. |
READ_REGISTER_BUFFER_ULONG The READ_REGISTER_BUFFER_ULONG function (wdm.h) reads a number of ULONG values from the specified register address into a buffer. |
READ_REGISTER_BUFFER_ULONG64 The READ_REGISTER_BUFFER_ULONG64 function (wdm.h)reads a number of ULONG64 values from the specified register address into a buffer. |
READ_REGISTER_BUFFER_USHORT The READ_REGISTER_BUFFER_USHORT function (miniport.h) reads a number of USHORT values from the specified register address into a buffer. |
READ_REGISTER_BUFFER_USHORT The READ_REGISTER_BUFFER_USHORT function (wdm.h) reads a number of USHORT values from the specified register address into a buffer. |
READ_REGISTER_UCHAR The READ_REGISTER_UCHAR function (ioaccess.h) returns a byte read from the specified register address in resident, mapped device memory. |
READ_REGISTER_UCHAR The READ_REGISTER_UCHAR function (miniport.h) returns a byte read from the specified register address in resident, mapped device memory. |
READ_REGISTER_UCHAR The READ_REGISTER_UCHAR function (wdm.h) returns a byte read from the specified register address in resident, mapped device memory. |
READ_REGISTER_ULONG The READ_REGISTER_ULONG function (ioaccess.h) returns a ULONG value read from the specified register address in resident, mapped device memory. |
READ_REGISTER_ULONG The READ_REGISTER_ULONG function (miniport.h) returns a ULONG value read from the specified register address in resident, mapped device memory. |
READ_REGISTER_ULONG The READ_REGISTER_ULONG function (wdm.h) returns a ULONG value read from the specified register address in resident, mapped device memory. |
READ_REGISTER_ULONG64 The READ_REGISTER_ULONG64 function (wdm.h) reads a ULONG64 value from the specified register address. |
READ_REGISTER_USHORT The READ_REGISTER_USHORT function (ioaccess.h) returns a USHORT value read from the specified register address in resident, mapped device memory. |
READ_REGISTER_USHORT The READ_REGISTER_USHORT function (miniport.h) returns a USHORT value read from the specified register address in resident, mapped device memory. |
READ_REGISTER_USHORT The READ_REGISTER_USHORT function (wdm.h) returns a USHORT value read from the specified register address in resident, mapped device memory. |
ReadBooleanRaw Describes the ReadBooleanRaw function. |
ReadBooleanRaw This topic describes the ReadBooleanRaw function. |
ReadInt32Acquire This topic describes the ReadInt32Acquire function. |
ReadInt32Acquire The ReadInt32Acquire function... |
ReadInt32NoFence This topic describes the ReadInt32NoFence function. |
ReadInt32NoFence The ReadInt32NoFence function... |
ReadInt32Raw This topic describes the ReadInt32Raw function. |
ReadInt32Raw The ReadInt32Raw function... |
ReadUInt32Acquire This topic describes the ReadUInt32Acquire function. |
ReadUInt32Acquire The ReadUInt32Acquire function... |
ReadUInt32NoFence This topic describes the ReadUInt32NoFence function. |
ReadUInt32NoFence The ReadUInt32NoFence function... |
ReadUInt32Raw This topic describes the ReadUInt32Raw function. |
ReadUInt32Raw The ReadUInt32Raw function... |
RemoveEntryList The RemoveEntryList routine removes an entry from a doubly linked list of LIST_ENTRY structures. |
RemoveHeadList The RemoveHeadList routine removes an entry from the beginning of a doubly linked list of LIST_ENTRY structures. |
RemoveTailList The RemoveTailList routine removes an entry from the end of a doubly linked list of LIST_ENTRY structures. |
REQUEST_POWER_COMPLETE The PowerCompletion callback routine completes the processing of a power IRP. |
RTL_QUERY_REGISTRY_ROUTINE The QueryRoutine routine provides information about a registry value that was requested in a preceding call to the RtlQueryRegistryValues routine. |
RTL_RUN_ONCE_INIT_FN The RunOnceInitialization routine performs a one-time initialization operation. |
RtlAnsiStringToUnicodeSize The RtlAnsiStringToUnicodeSize routine returns the number of bytes required to hold an ANSI string converted into a Unicode string. |
RtlAnsiStringToUnicodeString RtlAnsiStringToUnicodeString converts the given ANSI source string into a Unicode string. |
RtlAppendUnicodeStringToString The RtlAppendUnicodeStringToString routine concatenates two Unicode strings. |
RtlAppendUnicodeToString The RtlAppendUnicodeToString routine concatenates the supplied Unicode string to a buffered Unicode string. |
RtlAreBitsClear The RtlAreBitsClear routine determines whether a given range of bits within a bitmap variable is clear. |
RtlAreBitsSet The RtlAreBitsSet routine determines whether a given range of bits within a bitmap variable is set. |
RtlByteToChar Converts a value of type BYTE to a value of type CHAR. |
RtlByteToInt8 Converts a value of type BYTE to a value of type INT8. |
RtlCharToInteger The RtlCharToInteger routine converts a single-byte character string to an integer value in the specified base. |
RtlCheckBit The RtlCheckBit routine determines whether a particular bit in a given bitmap variable is clear or set. |
RtlCheckRegistryKey The RtlCheckRegistryKey routine checks for the existence of a given named key in the registry. |
RtlClearAllBits The RtlClearAllBits routine sets all bits in a given bitmap variable to zero. |
RtlClearBit The RtlClearBit routine sets the specified bit in a bitmap to zero. |
RtlClearBits The RtlClearBits routine sets all bits in the specified range of bits in the bitmap to zero. |
RtlCmDecodeMemIoResource The RtlCmDecodeMemIoResource routine provides the starting address and length of a CM_PARTIAL_RESOURCE_DESCRIPTOR structure that describes a range of memory or I/O port addresses. |
RtlCmEncodeMemIoResource The RtlCmEncodeMemIoResource routine updates a CM_PARTIAL_RESOURCE_DESCRIPTOR structure to describe a range of memory or I/O port addresses. |
RtlCompareMemory The RtlCompareMemory routine compares two blocks of memory and returns the number of bytes that match until the first difference. |
RtlCompareString The RtlCompareString routine compares two counted strings. |
RtlCompareUnicodeString The RtlCompareUnicodeString routine compares two Unicode strings. |
RtlConstantTimeEqualMemory This topic describes the RtlConstantTimeEqualMemory function. |
RtlConvertLongToLargeInteger The RtlConvertLongToLargeInteger routine converts the input signed integer to a signed large integer. |
RtlConvertLongToLuid The RtlConvertLongToLuid routine converts a long integer to a locally unique identifier (LUID), which is used by the system to represent a security privilege. |
RtlConvertUlongToLargeInteger The RtlConvertUlongToLargeInteger routine converts the input unsigned integer to a signed large integer. For Windows XP and later versions of Windows, do not use this routine; use the native support for __int64. |
RtlConvertUlongToLuid The RtlConvertUlongToLuid routine converts an unsigned long integer to a locally unique identifier (LUID), which is used by the system to represent a security privilege. |
RtlCopyDeviceMemory Provides RtlCopyVolatileMemory behavior in situations where the developer needs to additionally be sure that alignment faults won't be generated when accessing device memory. |
RtlCopyMemory Learn how the RtlCopyMemory routine copies the contents of a source memory block to a destination memory block. |
RtlCopyMemoryNonTemporal This function copies from one buffer to another using non-temporal moves that do not pollute the cache. The buffers shouldn’t overlap. |
RtlCopyString The RtlCopyString routine copies a source string to a destination string. |
RtlCopyUnicodeString The RtlCopyUnicodeString routine copies a source string to a destination string. |
RtlCopyVolatileMemory Provides RtlCopyMemory behavior in situations where the developer needs to be sure that the copy operation occurs. |
RtlCreateRegistryKey The RtlCreateRegistryKey routine adds a key object in the registry along a given relative path. |
RtlCreateSecurityDescriptor The RtlCreateSecurityDescriptor routine initializes a new absolute-format security descriptor. On return, the security descriptor is initialized with no system ACL, no discretionary ACL, no owner, no primary group, and all control flags set to zero. |
RtlDeleteRegistryValue The RtlDeleteRegistryValue routine removes the specified entry name and the associated values from the registry along the given relative path. |
RtlDowncaseUnicodeChar The RtlDowncaseUnicodeChar routine converts the specified Unicode character to lowercase. |
RtlDWordPtrAdd Adds two values of type DWORD_PTR. |
RtlDWordPtrMult Multiplies one value of type DWORD_PTR by another. |
RtlDWordPtrSub Subtracts one value of type DWORD_PTR from another. |
RtlEqualMemory The RtlEqualMemory routine compares two blocks of memory to determine whether the specified number of bytes are identical. |
RtlEqualString The RtlEqualString routine compares two counted strings to determine whether they are equal. |
RtlEqualUnicodeString The RtlEqualUnicodeString routine compares two Unicode strings to determine whether they are equal. |
RtlExtendCorrelationVector This routine extends the supplied correlation vector. For a correlation vector of the form X.i, the extended value is X.i.0. |
RtlFillDeviceMemory Provides RtlFillVolatileMemory behavior in situations where the developer needs to additionally be sure that alignment faults won't be generated when accessing device memory. |
RtlFillMemory The RtlFillMemory routine fills a block of memory with the specified fill value. |
RtlFillMemoryNonTemporal This function fills a block of memory with the specified fill value using non-temporal moves that do not pollute the cache. |
RtlFillVolatileMemory Provides RtlFillMemory behavior in situations where the developer needs to be sure that the setting operation occurs. |
RtlFindClearBits The RtlFindClearBits routine searches for a range of clear bits of a requested size within a bitmap. |
RtlFindClearBitsAndSet The RtlFindClearBitsAndSet routine searches for a range of clear bits of a requested size within a bitmap and sets all bits in the range when it has been located. |
RtlFindClearRuns The RtlFindClearRuns routine finds the specified number of runs of clear bits within a given bitmap. |
RtlFindFirstRunClear The RtlFindFirstRunClear routine searches for the initial contiguous range of clear bits within a given bitmap. |
RtlFindLastBackwardRunClear The RtlFindLastBackwardRunClear routine searches a given bitmap for the preceding clear run of bits, starting from the specified index position. |
RtlFindLeastSignificantBit The RtlFindLeastSignificantBit routine returns the zero-based position of the least significant nonzero bit in its parameter. |
RtlFindLongestRunClear The RtlFindLongestRunClear routine searches for the largest contiguous range of clear bits within a given bitmap. |
RtlFindMostSignificantBit The RtlFindMostSignificantBit routine returns the zero-based position of the most significant nonzero bit in its parameter. |
RtlFindNextForwardRunClear The RtlFindNextForwardRunClear routine searches a given bitmap variable for the next clear run of bits, starting from the specified index position. |
RtlFindSetBits The RtlFindSetBits routine searches for a range of set bits of a requested size within a bitmap. |
RtlFindSetBitsAndClear The RtlFindSetBitsAndClear routine searches for a range of set bits of a requested size within a bitmap and clears all bits in the range when it has been located. |
RtlFreeAnsiString The RtlFreeAnsiString routine releases storage that was allocated by RtlUnicodeStringToAnsiString. |
RtlFreeUnicodeString The RtlFreeUnicodeString routine releases storage that was allocated by RtlAnsiStringToUnicodeString or RtlUpcaseUnicodeString. |
RtlFreeUTF8String The RtlFreeUTF8String function releases storage that was allocated by RtlUnicodeStringToUTF8String. |
RtlGetEnabledExtendedFeatures The RtlGetEnabledExtendedFeatures routine returns a mask of extended processor features that are enabled by the system. |
RtlGetPersistedStateLocation Retrieves the redirected location for the specified SourceID from the redirection map. |
RtlGetVersion The RtlGetVersion routine returns version information about the currently running operating system. |
RtlGUIDFromString The RtlGUIDFromString routine converts the given Unicode string to a GUID in binary format. |
RtlHashUnicodeString The RtlHashUnicodeString routine creates a hash value from a given Unicode string and hash algorithm. |
RtlIncrementCorrelationVector Increments the specified correlation vector. For a correlation vector of the form X.i, the incremented value is be X.(i+1). |
RtlInitAnsiString The RtlInitAnsiString routine initializes a counted string of ANSI characters. |
RtlInitializeBitMap The RtlInitializeBitMap routine initializes the header of a bitmap variable. |
RtlInitializeCorrelationVector Initializes the specified correlation vector with the supplied GUID. |
RtlInitString The RtlInitString routine initializes a counted string of 8-bit characters. |
RtlInitStringEx The RtlInitStringEx routine in ntifs.h initializes a counted string of 8-bit characters. RtlInitStringEx does not alter the source string. |
RtlInitStringEx The RtlInitStringEx routine in wdm.h initializes a counted string of 8-bit characters. RtlInitStringEx does not alter the source string. |
RtlInitUnicodeString For more information, see the WdmlibRtlInitUnicodeStringEx function. |
RtlInitUTF8String The RtlInitUTF8String function initializes a counted string of UTF-8 characters. |
RtlInitUTF8StringEx The RtlInitUTF8StringEx routine initializes a counted string of UTF-8 characters. |
RtlInt64ToUnicodeString The RtlInt64ToUnicodeString routine converts a specified unsigned 64-bit integer value to a Unicode string that represents the value in a specified base. |
RtlInt8Add Adds two values of type INT8. |
RtlInt8Mult Multiplies one value of type INT8 by another. |
RtlInt8Sub Subtracts one value of type INT8 from another. |
RtlInt8ToUChar Converts a value of type INT8 to a value of type UCHAR. |
RtlInt8ToUInt Converts a value of type INT8 to a value of type UINT. |
RtlInt8ToUInt8 Converts a value of type INT8 to a value of type UINT8. |
RtlInt8ToUIntPtr Converts a value of type INT8 to a value of type UINT_PTR. |
RtlInt8ToULong Converts a value of type INT8 to a value of type ULONG. |
RtlInt8ToULongLong Converts a value of type INT8 to a value of type ULONGLONG. |
RtlInt8ToULongPtr Converts a value of type INT8 to a value of type ULONG_PTR. |
RtlInt8ToUShort Converts a value of type INT8 to a value of type USHORT. |
RtlIntAdd Adds two values of type INT. |
RtlIntegerToUnicodeString The RtlIntegerToUnicodeString routine converts an unsigned integer value to a null-terminated string of one or more Unicode characters in the specified base. |
RtlIntMult Multiplies one value of type INT by another. |
RtlIntPtrAdd Adds two values of type INT_PTR. |
RtlIntPtrMult Multiplies one value of type INT_PTR by another. |
RtlIntPtrSub Subtracts one value of type INT_PTR from another. |
RtlIntPtrToChar Converts a value of type INT_PTR to a value of type CHAR. |
RtlIntPtrToInt Converts a value of type INT_PTR to a value of type INT. |
RtlIntPtrToInt8 Converts a value of type INT_PTR to a value of type INT8. |
RtlIntPtrToLong Converts a value of type INT_PTR to a value of type LONG. |
RtlIntPtrToLongPtr Converts a value of type INT_PTR to a value of type LONG_PTR. |
RtlIntPtrToShort Converts a value of type INT_PTR to a value of type SHORT. |
RtlIntPtrToUChar Converts a value of type INT_PTR to a value of type UCHAR. |
RtlIntPtrToUInt Converts a value of type INT_PTR to a value of type UINT. |
RtlIntPtrToUInt8 Converts a value of type INT_PTR to a value of type UINT8. |
RtlIntPtrToUIntPtr Converts a value of type INT_PTR to a value of type UINT_PTR. |
RtlIntPtrToULong Converts a value of type INT_PTR to a value of type ULONG. |
RtlIntPtrToULongLong Converts a value of type INT_PTR to a value of type ULONGLONG. |
RtlIntPtrToULongPtr Converts a value of type INT_PTR to a value of type ULONG_PTR. |
RtlIntPtrToUnicodeString The RtlIntPtrToUnicodeString routine converts a specified ULONG_PTR value to a Unicode string that represents the value in a specified base. |
RtlIntPtrToUShort Converts a value of type INT_PTR to a value of type USHORT. |
RtlIntSub Subtracts one value of type INT from another. |
RtlIntToChar Converts a value of type INT to a value of type CHAR. |
RtlIntToInt8 Converts a value of type INT to a value of type INT8. |
RtlIntToShort Converts a value of type INT to a value of type SHORT. |
RtlIntToUChar Converts a value of type INT to a value of type UCHAR. |
RtlIntToUInt Converts a value of type INT to a value of type UINT. |
RtlIntToUInt8 Converts a value of type INT to a value of type UINT8. |
RtlIntToULong Converts a value of type INT to a value of type ULONG. |
RtlIntToULongLong Converts a value of type INT to a value of type ULONGLONG. |
RtlIntToUShort Converts a value of type INT to a value of type USHORT. |
RtlIoDecodeMemIoResource The RtlIoDecodeMemIoResource routine provides the address information that is contained in an IO_RESOURCE_DESCRIPTOR structure that describes a range of memory or I/O port addresses. |
RtlIoEncodeMemIoResource The RtlIoEncodeMemIoResource routine updates an IO_RESOURCE_DESCRIPTOR structure to describe a range of memory or I/O port addresses. |
RtlIsNtDdiVersionAvailable The RtlIsNtDdiVersionAvailable routine determines if a specified version of the Microsoft Windows device driver interface (DDI) is available. |
RtlIsServicePackVersionInstalled The RtlIsServicePackVersionInstalled routine determines if a specified service pack version of the Microsoft Windows device driver interface (DDI) is installed. |
RtlIsStateSeparationEnabled Checks if the SKU for the current context supports multiple sessions. |
RtlIsZeroMemory This routine checks if a block of unaligned memory is all zero. |
RtlLengthSecurityDescriptor The RtlLengthSecurityDescriptor routine returns the size of a given security descriptor. |
RtlLongAdd Adds two values of type LONG. |
RtlLongLongAdd Adds two values of type LONGLONG. |
RtlLongLongMult Multiplies one value of type LONGLONG by another. |
RtlLongLongSub Subtracts one value of type LONGLONG from another. |
RtlLongLongToChar Converts a value of type LONGLONG to a value of type CHAR. |
RtlLongLongToInt Converts a value of type LONGLONG to a value of type INT. |
RtlLongLongToInt8 Converts a value of type LONGLONG to a value of type INT8. |
RtlLongLongToIntPtr Converts a value of type LONGLONG to a value of type INT_PTR. |
RtlLongLongToLong Converts a value of type LONGLONG to a value of type LONG. |
RtlLongLongToLongPtr Converts a value of type LONGLONG to a value of type LONG_PTR. |
RtlLongLongToShort Converts a value of type LONGLONG to a value of type SHORT. |
RtlLongLongToUChar Converts a value of type LONGLONG to a value of type UCHAR. |
RtlLongLongToUInt Converts a value of type LONGLONG to a value of type UINT. |
RtlLongLongToUInt8 Converts a value of type LONGLONG to a value of type UNIT8. |
RtlLongLongToULong Converts a value of type LONGLONG to a value of type ULONG. |
RtlLongLongToULongLong Converts a value of type LONGLONG to a value of type LONGLONG. |
RtlLongLongToUShort Converts a value of type LONGLONG to a value of type USHORT. |
RtlLongMult Multiplies one value of type LONG by another. |
RtlLongPtrAdd Adds two values of type LONG_PTR. |
RtlLongPtrMult Multiplies one value of type LONG_PTR by another. |
RtlLongPtrSub Subtracts one value of type LONG_PTR from another. |
RtlLongPtrToChar Converts a value of type LONG_PTR to a value of type CHAR. |
RtlLongPtrToInt Converts a value of type LONG_PTR to a value of type INT. |
RtlLongPtrToInt8 Converts a value of type LONG_PTR to a value of type INT8. |
RtlLongPtrToIntPtr Converts a value of type LONG_PTR to a value of type INT_PTR. |
RtlLongPtrToLong Converts a value of type LONG_PTR to a value of type LONG. |
RtlLongPtrToShort Converts a value of type LONG_PTR to a value of type SHORT. |
RtlLongPtrToUChar Converts a value of type LONG_PTR to a value of type UCHAR. |
RtlLongPtrToUInt Converts a value of type LONG_PTR to a value of type UINT. |
RtlLongPtrToUInt8 Converts a value of type LONG_PTR to a value of type UINT8. |
RtlLongPtrToUIntPtr Converts a value of type LONG_PTR to a value of type UINT_PTR. |
RtlLongPtrToULong Converts a value of type LONG_PTR to a value of type ULONG. |
RtlLongPtrToULongLong Converts a value of type LONG_PTR to a value of type ULONGLONG. |
RtlLongPtrToULongPtr Converts a value of type LONG_PTR to a value of type ULONG_PTR. |
RtlLongPtrToUShort Converts a value of type LONG_PTR to a value of type USHORT. |
RtlLongSub Subtracts one value of type LONG from another. |
RtlLongToChar Converts a value of type LONG to a value of type CHAR. |
RtlLongToInt Converts a value of type LONG to a value of type INT. |
RtlLongToInt8 Converts a value of type LONG to a value of type INT8. |
RtlLongToIntPtr Converts a value of type LONG to a value of type INT_PTR. |
RtlLongToShort Converts a value of type LONG to a value of type SHORT. |
RtlLongToUChar Converts a value of type LONG to a value of type UCHAR. |
RtlLongToUInt Converts a value of type LONG to a value of type UINT. |
RtlLongToUInt8 Converts a value of type LONG to a value of type UINT8. |
RtlLongToUIntPtr Converts a value of type LONG to a value of type UINT_PTR. |
RtlLongToULong Converts a value of type LONG to a value of type ULONG. |
RtlLongToULongLong Converts a value of type LONG to a value of type ULONGLONG. |
RtlLongToULongPtr Converts a value of type LONG to a value of type ULONG_PTR. |
RtlLongToUShort Converts a value of type LONG to a value of type USHORT. |
RtlMapGenericMask The RtlMapGenericMask routine determines the nongeneric access rights specified by an ACCESS_MASK. |
RtlMoveMemory The RtlMoveMemory routine copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks. |
RtlMoveVolatileMemory Provides RtlMoveMemory behavior in situations where the developer needs to be sure that the copy operation occurs and handles cases where the Source and Destination buffer overlap. |
RtlNormalizeSecurityDescriptor Examines a security descriptor for ways to modify its layout. |
RtlNumberOfClearBits The RtlNumberOfClearBits routine returns a count of the clear bits in a given bitmap variable. |
RtlNumberOfSetBits The RtlNumberOfSetBits routine returns a count of the set bits in a given bitmap variable. |
RtlNumberOfSetBitsUlongPtr The RtlNumberOfSetBitsUlongPtr routine returns the number of bits in the specified ULONG_PTR integer value that are set to one. |
RtlPrefetchMemoryNonTemporal The RtlPrefetchMemoryNonTemporal routine provides a hint to the processor that a buffer should be temporarily moved into the processor cache. |
RtlPrefixUnicodeString The RtlPrefixUnicodeString routine compares two Unicode strings to determine whether one string is a prefix of the other. |
RtlPtrdiffTAdd Adds two values of type PTRDIFF_T. |
RtlPtrdiffTMult Multiplies one value of type PTRDIFF_T by another. |
RtlPtrdiffTSub Subtracts one value of type PTRDIFF_T from another. |
RtlQueryRegistryValues The RtlQueryRegistryValues routine allows the caller to query several values from the registry subtree with a single call. |
RtlQueryRegistryValueWithFallback Retrieves a value entry for a registry key by using, a primary handle; if not found, uses the fallback handle. |
RtlRaiseCustomSystemEventTrigger Allows NT services and kernel-mode and user-mode drivers to raise a custom trigger for a device. |
RtlRunOnceBeginInitialize The RtlRunOnceBeginInitialize routine begins a one-time initialization. |
RtlRunOnceComplete The RtlRunOnceComplete routine completes the one-time initialization began by RtlRunOnceBeginInitialize. |
RtlRunOnceExecuteOnce The RtlRunOnceExecuteOnce performs a one-time initialization. |
RtlRunOnceInitialize The RtlRunOnceInitialize routine initializes a RTL_RUN_ONCE structure. |
RtlSanitizeUnicodeStringPadding Sanitizes the padding for a Unicode string. |
RtlSecureZeroMemory The RtlSecureZeroMemory routine fills a block of memory with zeros in a way that is guaranteed to be secure. |
RtlSecureZeroMemory2 Provides a convenience wrapper around RtlFillVolatileMemory and is identical to RtlZeroVolatileMemory. |
RtlSetAllBits The RtlSetAllBits routine sets all bits in a given bitmap variable. |
RtlSetBit The RtlSetBit routine sets the specified bit in a bitmap to one. |
RtlSetBits The RtlSetBits routine sets all bits in a given range of a given bitmap variable. |
RtlSetDaclSecurityDescriptor The RtlSetDaclSecurityDescriptor routine sets the DACL information of an absolute-format security descriptor, or if there is already a DACL present in the security descriptor, it is superseded. |
RtlShortAdd Adds two values of type SHORT. |
RtlShortMult Multiplies one value of type SHORT by another. |
RtlShortSub Subtracts one value of type SHORT from another. |
RtlShortToChar Converts a value of type SHORT to a value of type CHAR. |
RtlShortToDWordPtr Converts a value of type SHORT to a value of type DWORD_PTR. |
RtlShortToInt8 Converts a value of type SHORT to a value of type INT8. |
RtlShortToUChar Converts a value of type SHORT to a value of type UCHAR. |
RtlShortToUInt Converts a value of type SHORT to a value of type UINT. |
RtlShortToUInt8 Converts a value of type SHORT to a value of type UINT8. |
RtlShortToUIntPtr Converts a value of type SHORT to a value of type UINT_PTR. |
RtlShortToULong Converts a value of type SHORT to a value of type ULONG. |
RtlShortToULongLong Converts a value of type SHORT to a value of type ULONGLONG. |
RtlShortToULongPtr Converts a value of type SHORT to a value of type ULONG_PTR. |
RtlShortToUShort Converts a value of type SHORT to a value of type USHORT. |
RtlSizeTAdd Adds two values of type SIZE_T. |
RtlSizeTMult Multiplies one value of type SIZE_T by another. |
RtlSizeTSub Subtracts one value of type SIZE_T from another. |
RtlSSIZETAdd Adds two values of type SSIZE_T. |
RtlSSIZETMult Multiplies one value of type SSIZE_T by another. |
RtlSSIZETSub Subtracts one value of type SSIZE_T from another. |
RtlStringCbCatA The RtlStringCbCatW and RtlStringCbCatA functions concatenate two byte-counted strings. |
RtlStringCbCatExA The RtlStringCbCatExW and RtlStringCbCatExA functions concatenate two byte-counted strings. |
RtlStringCbCatExW Learn how the RtlStringCbCatExW and RtlStringCbCatExA functions concatenate two byte-counted strings. |
RtlStringCbCatNA The RtlStringCbCatNW and RtlStringCbCatNA functions concatenate two byte-counted strings while limiting the size of the appended string. |
RtlStringCbCatNExA The RtlStringCbCatNExW and RtlStringCbCatNExA functions concatenate two byte-counted strings while limiting the size of the appended string. |
RtlStringCbCatNExW Learn how the RtlStringCbCatNExW and RtlStringCbCatNExA functions concatenate two byte-counted strings while limiting the size of the appended string. |
RtlStringCbCatNW Learn how the RtlStringCbCatNW and RtlStringCbCatNA functions concatenate two byte-counted strings while limiting the size of the appended string. |
RtlStringCbCatW Learn how the RtlStringCbCatW and RtlStringCbCatA functions concatenate two byte-counted strings. |
RtlStringCbCopyA The RtlStringCbCopyW and RtlStringCbCopyA functions copy a byte-counted string into a buffer. |
RtlStringCbCopyExA The RtlStringCbCopyExW and RtlStringCbCopyExA functions copy a byte-counted string into a buffer. |
RtlStringCbCopyExW Learn how the RtlStringCbCopyExW and RtlStringCbCopyExA functions copy a byte-counted string into a buffer. |
RtlStringCbCopyNA The RtlStringCbCopyNW and RtlStringCbCopyNA functions copy a byte-counted string to a buffer while limiting the size of the copied string. |
RtlStringCbCopyNExA The RtlStringCbCopyNExW and RtlStringCbCopyNExA functions copy a byte-counted string to a buffer while limiting the size of the copied string. |
RtlStringCbCopyNExW Learn how the RtlStringCbCopyNExW and RtlStringCbCopyNExA functions copy a byte-counted string to a buffer while limiting the size of the copied string. |
RtlStringCbCopyNW Learn how the RtlStringCbCopyNW and RtlStringCbCopyNA functions copy a byte-counted string to a buffer while limiting the size of the copied string. |
RtlStringCbCopyUnicodeString The RtlStringCbCopyUnicodeString function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCbCopyUnicodeStringEx The RtlStringCbCopyUnicodeStringEx function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCbCopyW Learn how the RtlStringCbCopyW and RtlStringCbCopyA functions copy a byte-counted string into a buffer. |
RtlStringCbLengthA The RtlStringCbLengthW and RtlStringCbLengthA functions determine the length, in bytes, of a supplied string. |
RtlStringCbLengthW Learn how the RtlStringCbLengthW and RtlStringCbLengthA functions determine the length, in bytes, of a supplied string. |
RtlStringCbPrintfA The RtlStringCbPrintfW and RtlStringCbPrintfA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbPrintfExA The RtlStringCbPrintfExW and RtlStringCbPrintfExA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbPrintfExW Learn how the RtlStringCbPrintfExW and RtlStringCbPrintfExA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbPrintfW Learn how the RtlStringCbPrintfW and RtlStringCbPrintfA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbVPrintfA The RtlStringCbVPrintfW and RtlStringCbVPrintfA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbVPrintfExA The RtlStringCbVPrintfExW and RtlStringCbVPrintfExA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbVPrintfExW Learn how the RtlStringCbVPrintfExW and RtlStringCbVPrintfExA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCbVPrintfW Learn how the RtlStringCbVPrintfW and RtlStringCbVPrintfA functions create a byte-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchCatA The RtlStringCchCatW and RtlStringCchCatA functions concatenate two character-counted strings. |
RtlStringCchCatExA The RtlStringCchCatExW and RtlStringCchCatExA functions concatenate two character-counted strings. |
RtlStringCchCatExW Learn how the RtlStringCchCatExW and RtlStringCchCatExA functions concatenate two character-counted strings. |
RtlStringCchCatNA The RtlStringCchCatNW and RtlStringCchCatNA functions concatenate two character-counted strings while limiting the size of the appended string. |
RtlStringCchCatNExA The RtlStringCchCatNExW and RtlStringCchCatNExA functions concatenate two character-counted strings while limiting the size of the appended string. |
RtlStringCchCatNExW Learn how the RtlStringCchCatNExW and RtlStringCchCatNExA functions concatenate two character-counted strings while limiting the size of the appended string. |
RtlStringCchCatNW Learn how the RtlStringCchCatNW and RtlStringCchCatNA functions concatenate two character-counted strings while limiting the size of the appended string. |
RtlStringCchCatW Learn how the RtlStringCchCatW and RtlStringCchCatA functions concatenate two character-counted strings. |
RtlStringCchCopyA The RtlStringCchCopyW and RtlStringCchCopyA functions copy a null-terminated source string into a destination buffer of specified length. |
RtlStringCchCopyExA The RtlStringCchCopyExW and RtlStringCchCopyExA functions copy a character-counted string into a buffer. |
RtlStringCchCopyExW Learn how the RtlStringCchCopyExW and RtlStringCchCopyExA functions copy a character-counted string into a buffer. |
RtlStringCchCopyNA The RtlStringCchCopyNW and RtlStringCchCopyNA functions copy a character-counted string to a buffer while limiting the size of the copied string. |
RtlStringCchCopyNExA The RtlStringCchCopyNExW and RtlStringCchCopyNExA functions copy a character-counted string to a buffer while limiting the size of the copied string. |
RtlStringCchCopyNExW Learn how the RtlStringCchCopyNExW and RtlStringCchCopyNExA functions copy a character-counted string to a buffer while limiting the size of the copied string. |
RtlStringCchCopyNW Learn how the RtlStringCchCopyNW and RtlStringCchCopyNA functions copy a character-counted string to a buffer while limiting the size of the copied string. |
RtlStringCchCopyUnicodeString The RtlStringCchCopyUnicodeString function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCchCopyUnicodeStringEx The RtlStringCchCopyUnicodeStringEx function copies the contents of a UNICODE_STRING structure to a specified destination. |
RtlStringCchCopyW Learn how the RtlStringCchCopyW and RtlStringCchCopyA functions copy a null-terminated source string into a destination buffer of specified length. |
RtlStringCchLengthA The RtlStringCchLengthW and RtlStringCchLengthA functions determine the length, in characters, of a supplied string. |
RtlStringCchLengthW Learn how the RtlStringCchLengthW and RtlStringCchLengthA functions determine the length, in characters, of a supplied string. |
RtlStringCchPrintfA The RtlStringCchPrintfW and RtlStringCchPrintfA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchPrintfExA The RtlStringCchPrintfExW and RtlStringCchPrintfExA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchPrintfExW Learn how the RtlStringCchPrintfExW and RtlStringCchPrintfExA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchPrintfW Learn how the RtlStringCchPrintfW and RtlStringCchPrintfA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchVPrintfA The RtlStringCchVPrintfW and RtlStringCchVPrintfA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchVPrintfExA The RtlStringCchVPrintfExW and RtlStringCchVPrintfExA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchVPrintfExW Learn how the RtlStringCchVPrintfExW and RtlStringCchVPrintfExA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringCchVPrintfW Learn how the RtlStringCchVPrintfW and RtlStringCchVPrintfA functions create a character-counted text string, with formatting that is based on supplied formatting information. |
RtlStringFromGUID The RtlStringFromGUID routine converts a given GUID from binary format into a Unicode string. |
RtlTestBit The RtlTestBit routine returns the value of a bit in a bitmap. |
RtlTimeFieldsToTime The RtlTimeFieldsToTime routine converts TIME_FIELDS information to a system time value. |
RtlTimeToTimeFields The RtlTimeToTimeFields routine converts system time into a TIME_FIELDS structure. |
RtlUInt8Add Adds two values of type UINT8. |
RtlUInt8Mult Multiplies one value of type UINT8 by another. |
RtlUInt8Sub The RtlUInt8Sub routine subtracts one value of type UINT8 from another. |
RtlUInt8ToChar Converts a value of type UINT8 to a value of type CHAR. |
RtlUInt8ToInt8 Converts a value of type UINT8 to a value of type INT8. |
RtlUIntAdd Adds two values of type UINT. |
RtlUIntMult Multiplies one value of type UINT by another. |
RtlUIntPtrAdd Adds two values of type UINT_PTR. |
RtlUIntPtrMult Multiplies one value of type UINT_PTR by another. |
RtlUIntPtrSub Subtracts one value of type UINT_PTR from another. |
RtlUIntPtrToChar Converts a value of type UINT_PTR to a value of type CHAR. |
RtlUIntPtrToInt Converts a value of type UINT_PTR to a value of type INT. |
RtlUIntPtrToInt16 Converts a value of type UINT_PTR to a value of type INT16. |
RtlUIntPtrToInt8 Converts a value of type UINT_PTR to a value of type INT8. |
RtlUIntPtrToIntPtr Converts a value of type UINT_PTR to a value of type INT_PTR. |
RtlUIntPtrToLong Converts a value of type UINT_PTR to a value of type LONG. |
RtlUIntPtrToLongLong Converts a value of type UINT_PTR to a value of type LONGLONG. |
RtlUIntPtrToLongPtr Converts a value of type UINT_PTR to a value of type LONG_PTR. |
RtlUIntPtrToShort Converts a value of type UINT_PTR to a value of type SHORT. |
RtlUIntPtrToUChar Converts a value of type UINT_PTR to a value of type UCHAR. |
RtlUIntPtrToUInt Converts a value of type UINT_PTR to a value of type UINT. |
RtlUIntPtrToUInt16 Converts a value of type UINT_PTR to a value of type UINT16. |
RtlUIntPtrToUInt8 Converts a value of type UINT_PTR to a value of type UINT8. |
RtlUIntPtrToULong Learn how this function converts a value of type UINT_PTR to a value of type LONG. |
RtlUIntPtrToUShort Converts a value of type UINT_PTR to a value of type USHORT. |
RtlUIntSub Subtracts one value of type UINT from another. |
RtlUIntToChar Converts a value of type UINT to a value of type CHAR. |
RtlUIntToInt Converts a value of type UINT to a value of type INT. |
RtlUIntToInt8 Converts a value of type UINT to a value of type INT8. |
RtlUIntToIntPtr Converts a value of type UINT to a value of type INT_PTR. |
RtlUIntToLong Converts a value of type UINT to a value of type LONG. |
RtlUIntToLongPtr Converts a value of type UINT to a value of type LONG_PTR. |
RtlUIntToShort Converts a value of type UINT to a value of type SHORT. |
RtlUIntToUChar Converts a value of type UINT to a value of type UCHAR. |
RtlUIntToUInt8 Converts a value of type UINT to a value of type UINT8. |
RtlUIntToUShort Converts a value of type UINT to a value of type USHORT. |
RtlULongAdd Adds two values of type ULONG. |
RtlUlongByteSwap The RtlUlongByteSwap routine reverses the ordering of the four bytes in a 32-bit unsigned integer value. |
RtlULongLongAdd Adds two values of type ULONGLONG. |
RtlUlonglongByteSwap The RtlUlonglongByteSwap routine reverses the ordering of the eight bytes in a 64-bit unsigned integer value. |
RtlULongLongMult Multiplies one value of type ULONGLONG by another. |
RtlULongLongSub Subtracts one value of type ULONGLONG from another. |
RtlULongLongToChar Converts a value of type ULONGLONG to a value of type CHAR. |
RtlULongLongToInt Converts a value of type ULONGLONG to a value of type INT. |
RtlULongLongToInt8 Converts a value of type ULONGLONG to a value of type INT8. |
RtlULongLongToLong Converts a value of type ULONGLONG to a value of type LONG. |
RtlULongLongToLongLong Converts a value of type ULONGLONG to a value of type LONGLONG. |
RtlULongLongToLongPtr Converts a value of type ULONGLONG to a value of type LONG_PTR. |
RtlULongLongToShort Converts a value of type ULONGLONG to a value of type SHORT. |
RtlULongLongToUChar Converts a value of type ULONGLONG to a value of type UCHAR. |
RtlULongLongToUInt Converts a value of type ULONGLONG to a value of type UINT. |
RtlULongLongToUInt8 Converts a value of type ULONGLONG to a value of type UINT8. |
RtlULongLongToUIntPtr Converts a value of type ULONGLONG to a value of type UINT_PTR. |
RtlULongLongToULong Converts a value of type ULONGLONG to a value of type ULONG. |
RtlULongLongToULongPtr Converts a value of type ULONGLONG to a value of type ULONG_PTR. |
RtlULongLongToUShort Converts a value of type ULONGLONG to a value of type USHORT. |
RtlULongMult Multiplies one value of type ULONG by another. |
RtlULongPtrAdd Adds two values of type ULONG_PTR. |
RtlULongPtrMult Multiplies one value of type ULONG_PTR by another. |
RtlULongPtrSub Subtracts one value of type ULONG_PTR from another. |
RtlULongPtrToChar Converts a value of type ULONG_PTR to a value of type CHAR. |
RtlULongPtrToInt Converts a value of type ULONG_PTR to a value of type INT. |
RtlULongPtrToInt8 Converts a value of type ULONG_PTR to a value of type INT8. |
RtlULongPtrToIntPtr Converts a value of type ULONG_PTR to a value of type INT_PTR. |
RtlULongPtrToLong Converts a value of type ULONG_PTR to a value of type LONG. |
RtlULongPtrToLongLong Converts a value of type ULONG_PTR to a value of type LONGLONG. |
RtlULongPtrToLongPtr Converts a value of type ULONG_PTR to a value of type LONG_PTR. |
RtlULongPtrToShort Converts a value of type ULONG_PTR to a value of type SHORT. |
RtlULongPtrToUChar Converts a value of type ULONG_PTR to a value of type UCHAR. |
RtlULongPtrToUInt Converts a value of type ULONG_PTR to a value of type UINT. |
RtlULongPtrToUInt8 Converts a value of type ULONG_PTR to a value of type UINT8. |
RtlULongPtrToUIntPtr Converts a value of type ULONG_PTR to a value of type UINT_PTR. |
RtlULongPtrToULong Converts a value of type ULONG_PTR to a value of type ULONG. |
RtlULongPtrToUShort Converts a value of type ULONG_PTR to a value of type USHORT. |
RtlULongSub Subtracts one value of type ULONG from another. |
RtlULongToChar Converts a value of type ULONG to a value of type CHAR. |
RtlULongToInt Converts a value of type ULONG to a value of type INT. |
RtlULongToInt8 Converts a value of type ULONG to a value of type INT8. |
RtlULongToIntPtr Converts a value of type ULONG to a value of type INT_PTR. |
RtlULongToLong Converts a value of type ULONG to a value of type LONG. |
RtlULongToLongPtr Converts a value of type ULONG to a value of type LONG_PTR. |
RtlULongToShort Converts a value of type ULONG to a value of type SHORT. |
RtlULongToUChar Converts a value of type ULONG to a value of type UCHAR. |
RtlULongToUInt Converts a value of type ULONG to a value of type UINT. |
RtlULongToUInt8 Learn how this function converts a value of type ULONG_PTR to a value of type UINT8. |
RtlULongToUIntPtr Learn how this method converts a value of type ULONG_PTR to a value of type UINT_PTR. |
RtlULongToUShort Converts a value of type ULONG to a value of type USHORT. |
RtlUnalignedStringCbLengthW The RtlUnalignedStringCbLengthW function is a version of the RtlStringCbLength function that accepts an unaligned pointer to a string of Unicode characters. |
RtlUnalignedStringCchLengthW The RtlUnalignedStringCchLengthW function is a version of the RtlStringCchLength function that accepts an unaligned pointer to a string of Unicode characters. |
RtlUnicodeStringCat The RtlUnicodeStringCat function concatenates two strings that are contained in UNICODE_STRING structures. |
RtlUnicodeStringCatEx The RtlUnicodeStringCatEx function concatenates two strings that are contained in UNICODE_STRING structures. |
RtlUnicodeStringCatString The RtlUnicodeStringCatString function concatenates two strings when the destination string is contained in a UNICODE_STRING structure. |
RtlUnicodeStringCatStringEx The RtlUnicodeStringCatStringEx function concatenates two strings when the destination string is contained in a UNICODE_STRING structure. |
RtlUnicodeStringCbCatN The RtlUnicodeStringCbCatN function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCbCatNEx The RtlUnicodeStringCbCatNEx function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCbCatStringN The RtlUnicodeStringCbCatStringN function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCbCatStringNEx The RtlUnicodeStringCbCatStringNEx function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCbCopyN The RtlUnicodeStringCbCopyN function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCbCopyNEx The RtlUnicodeStringCbCopyNEx function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCbCopyStringN The RtlUnicodeStringCbCopyStringN function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCbCopyStringNEx The RtlUnicodeStringCbCopyStringNEx function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCchCatN The RtlUnicodeStringCchCatN function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCchCatNEx The RtlUnicodeStringCchCatNEx function concatenates two strings that are contained in UNICODE_STRING structures while limiting the size of the copied string. |
RtlUnicodeStringCchCatStringN The RtlUnicodeStringCchCatStringN function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCchCatStringNEx The RtlUnicodeStringCchCatStringNEx function concatenates two strings when the destination string is contained in a UNICODE_STRING structure, while limiting the size of the appended string. |
RtlUnicodeStringCchCopyN The RtlUnicodeStringCchCopyN function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCchCopyNEx The RtlUnicodeStringCchCopyNEx function copies a string from one UNICODE_STRING structure to another while limiting the size of the copied string. |
RtlUnicodeStringCchCopyStringN The RtlUnicodeStringCchCopyStringN function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCchCopyStringNEx The RtlUnicodeStringCchCopyStringNEx function copies a string into a UNICODE_STRING structure while limiting the size of the copied string. |
RtlUnicodeStringCopy The RtlUnicodeStringCopy function copies a string from one UNICODE_STRING structure to another. |
RtlUnicodeStringCopyEx The RtlUnicodeStringCopyEx function copies a string from one UNICODE_STRING structure to another. |
RtlUnicodeStringCopyString The RtlUnicodeStringCopyString function copies a string into a UNICODE_STRING structure. |
RtlUnicodeStringCopyStringEx The RtlUnicodeStringCopyStringEx function copies a string into a UNICODE_STRING structure. |
RtlUnicodeStringInit The RtlUnicodeStringInit function initializes a UNICODE_STRING structure. |
RtlUnicodeStringInitEx The RtlUnicodeStringInitEx function initializes a UNICODE_STRING structure. |
RtlUnicodeStringPrintf The RtlUnicodeStringPrintf function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeStringPrintfEx The RtlUnicodeStringPrintfEx function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeStringToAnsiSize The RtlUnicodeStringToAnsiSize routine returns the number of bytes required for a null-terminated ANSI string that is equivalent to a specified Unicode string. |
RtlUnicodeStringToAnsiString The RtlUnicodeStringToAnsiString routine converts a given Unicode string into an ANSI string. |
RtlUnicodeStringToInteger The RtlUnicodeStringToInteger routine converts a Unicode string representation of a number to the equivalent integer value. |
RtlUnicodeStringToUTF8String The RtlUnicodeStringToUTF8String function converts the specified Unicode source string into an UTF8 string. |
RtlUnicodeStringValidate The RtlUnicodeStringValidate function validates the contents of a UNICODE_STRING structure. |
RtlUnicodeStringValidateEx The RtlUnicodeStringValidateEx function validates the contents of a UNICODE_STRING structure. |
RtlUnicodeStringVPrintf The RtlUnicodeStringVPrintf function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeStringVPrintfEx The RtlUnicodeStringVPrintfEx function creates a text string, with formatting that is based on supplied formatting information, and stores the string in a UNICODE_STRING structure. |
RtlUnicodeToUTF8N The RtlUnicodeToUTF8N routine in ntifs.h converts a Unicode string to a UTF-8 string. The UTF-8 output is null-terminated only if the Unicode input string is. |
RtlUnicodeToUTF8N The RtlUnicodeToUTF8N routine in wdm.h converts a Unicode string to a UTF-8 string. The UTF-8 output is null-terminated only if the Unicode input string is. |
RtlUpcaseUnicodeChar The RtlUpcaseUnicodeChar routine converts the specified Unicode character to uppercase. |
RtlUpcaseUnicodeString The RtlUpcaseUnicodeString routine converts a copy of the source string to uppercase and writes the converted string in the destination buffer. |
RtlUpperChar The RtlUpperChar routine converts the specified character to uppercase. |
RtlUpperString The RtlUpperString routine copies the given SourceString to the DestinationString buffer, converting it to uppercase. |
RtlUShortAdd Adds two values of type USHORT. |
RtlUshortByteSwap The RtlUshortByteSwap routine reverses the ordering of the two bytes in a 16-bit unsigned integer value. |
RtlUShortMult Multiplies one value of type USHORT by another. |
RtlUShortSub Subtracts one value of type USHORT from another. |
RtlUShortToChar Converts a value of type USHORT to a value of type CHAR. |
RtlUShortToInt8 Converts a value of type USHORT to a value of type INT8. |
RtlUShortToShort Converts a value of type USHORT to a value of type SHORT. |
RtlUShortToUChar Converts a value of type USHORT to a value of type UCHAR. |
RtlUShortToUInt8 Converts a value of type USHORT to a value of type UINT8. |
RtlUTF8StringToUnicodeString The RtlUTF8StringToUnicodeString function converts the specified UTF8 source string into a Unicode string in accordance with the current system locale information. |
RtlUTF8ToUnicodeN The RtlUTF8ToUnicodeN routine in ntifs.h converts a UTF-8 string to a Unicode string. The Unicode output is null-terminated only if the UTF-8 input string is. |
RtlUTF8ToUnicodeN The RtlUTF8ToUnicodeN routine in wdm.h converts a UTF-8 string to a Unicode string. The Unicode output is null-terminated only if the UTF-8 input string is. |
RtlValidateCorrelationVector Validates the specified correlation vector to check whether it conforms to the Correlation Vector Specification (v2). |
RtlValidRelativeSecurityDescriptor The RtlValidRelativeSecurityDescriptor routine checks the validity of a self-relative security descriptor. |
RtlValidSecurityDescriptor The RtlValidSecurityDescriptor routine checks a given security descriptor's validity. |
RtlVerifyVersionInfo The RtlVerifyVersionInfo routine compares a specified set of operating system version requirements to the corresponding attributes of the currently running version of the operating system. |
RtlVolumeDeviceToDosName The RtlVolumeDeviceToDosName routine is obsolete for Windows XP and later versions of Windows. Use IoVolumeDeviceToDosName instead.RtlVolumeDeviceToDosName returns the MS-DOS path for a specified device object that represents a file system volume. |
RtlWalkFrameChain |
RtlWriteRegistryValue The RtlWriteRegistryValue routine writes caller-supplied data into the registry along the specified relative path at the given value name. |
RtlxAnsiStringToUnicodeSize The RtlxAnsiStringToUnicodeSize routine returns the number of bytes that are required for a null-terminated Unicode string that is equivalent to a specified ANSI string. |
RtlxUnicodeStringToAnsiSize The RtlxUnicodeStringToAnsiSize routine returns the number of bytes required for a null-terminated ANSI string that is equivalent to a specified Unicode string. |
RtlZeroDeviceMemory Provides a convenience wrapper around RtlFillDeviceMemory. |
RtlZeroMemory The RtlZeroMemory macro (wdm.h) fills a block of memory with zeros, given a pointer to the block and the length, in bytes, to be filled. |
RtlZeroVolatileMemory Provides a convenience wrapper around RtlFillVolatileMemory. |
SeAccessCheck The SeAccessCheck routine determines whether the requested access rights can be granted to an object protected by a security descriptor and an object owner. |
SeAssignSecurity The SeAssignSecurity routine builds a self-relative security descriptor for a new object, given the security descriptor of its parent directory and any originally requested security for the object. |
SeAssignSecurityEx The SeAssignSecurityEx routine builds a self-relative security descriptor for a new object given the following optional parameters:_a security descriptor of the object's parent directory, an explicit security descriptor for the object, and the object type. |
SeDeassignSecurity The SeDeassignSecurity routine deallocates the memory associated with a security descriptor that was assigned using SeAssignSecurity. |
SeFreePrivileges The SeFreePrivileges routine frees a privilege set returned by SeAccessCheck. |
SeSinglePrivilegeCheck The SeSinglePrivilegeCheck routine checks for the passed privilege value in the context of the current thread. |
SET_D3COLD_SUPPORT The SetD3ColdSupport routine enables or disables transitions to the D3cold device power state. |
SeValidSecurityDescriptor The SeValidSecurityDescriptor routine returns whether a given security descriptor is structurally valid. |
SILO_CONTEXT_CLEANUP_CALLBACK This callback is invoked when the context object reaches a reference count of zero. |
SILO_MONITOR_CREATE_CALLBACK This is callback is invoked when a new silo is created. |
SILO_MONITOR_TERMINATE_CALLBACK This callback is invoked when a silo is terminated. |
TmCommitComplete The TmCommitComplete routine notifies KTM that the calling resource manager has finished committing a transaction. |
TmCommitEnlistment The TmCommitEnlistment routine initiates the commit operation for a specified enlistment's transaction. |
TmCommitTransaction The TmCommitTransaction routine initiates a commit operation for a specified transaction. |
TmCreateEnlistment The TmCreateEnlistment routine creates a new enlistment object for a transaction. |
TmDereferenceEnlistmentKey The TmDereferenceEnlistmentKey routine decrements the reference count for the key of a specified enlistment object. |
TmEnableCallbacks The TmEnableCallbacks routine enables a callback routine that receives transaction notifications. |
TmGetTransactionId The TmGetTransactionId routine retrieves a transaction object's unit of work (UOW) identifier. |
TmInitializeTransactionManager The TmInitializeTransactionManager routine initializes a transaction manager object. |
TmIsTransactionActive The TmIsTransactionActive routine indicates whether a specified transaction is in its active state. |
TmPrepareComplete The TmPrepareComplete routine notifies KTM that the calling resource manager has finished preparing a transaction's data. |
TmPrepareEnlistment The TmPrepareEnlistment routine initiates the prepare operation for a specified enlistment's transaction. |
TmPrePrepareComplete The TmPrePrepareComplete routine notifies KTM that the calling resource manager has finished preliminary preparation of a transaction's data. |
TmPrePrepareEnlistment The TmPrePrepareEnlistment routine initiates the pre-prepare operation for a specified enlistment's transaction. |
TmReadOnlyEnlistment The TmReadOnlyEnlistment routine sets a specified enlistment to be read-only. |
TmRecoverEnlistment The TmRecoverEnlistment routine initiates a recovery operation for the transaction that is associated with a specified enlistment. |
TmRecoverResourceManager The TmRecoverResourceManager routine tries to recover the transaction that is associated with each enlistment of a specified resource manager object. |
TmRecoverTransactionManager The TmRecoverTransactionManager routine reconstructs the state of the transaction manager object (including all transactions, enlistments, and resource managers) from the recovery information that is in the log stream. |
TmReferenceEnlistmentKey The TmReferenceEnlistmentKey routine increments the reference count for the key of a specified enlistment object and retrieves the key. |
TmRenameTransactionManager The TmRenameTransactionManager routine changes the identity of the transaction manager object that is stored in the CLFS log file stream contained in the log file name. |
TmRequestOutcomeEnlistment The TmRequestOutcomeEnlistment routine asks KTM to try to provide an immediate outcome (commit or rollback) for the transaction that is associated with a specified enlistment. |
TmRollbackComplete The TmRollbackComplete routine notifies KTM that the calling resource manager has finished rolling back a transaction's data. |
TmRollbackEnlistment The TmRollbackEnlistment routine rolls back a specified enlistment. |
TmRollbackTransaction The TmRollbackTransaction routine initiates a rollback operation for a specified transaction. |
TmSinglePhaseReject The TmSinglePhaseReject routine informs KTM that the calling resource manager will not support a single-phase commit operation for a specified enlistment. |
TRANSLATE_BUS_ADDRESS The TranslateBusAddress routine translates addresses on the parent bus to logical addresses. |
VslCreateSecureSection This VslCreateSecureSection material is not yet available. This placeholder topic is provided as an example of documentation that may be included in a later release. |
VslDeleteSecureSection This VslDeleteSecureSection material is not yet available. This placeholder topic is provided as an example of documentation that may be included in a later release. |
WdmlibIoConnectInterruptEx The WdmlibIoConnectInterruptEx function registers an interrupt-handling routine for a device's interrupts. |
WdmlibIoCreateDeviceSecure The WdmlibIoCreateDeviceSecure function (or IoCreateDeviceSecure) creates a named device object and applies the specified security settings. |
WdmlibIoDisconnectInterruptEx The WdmlibIoDisconnectInterruptEx function unregisters an interrupt service routine (ISR) that was registered by a previous call to the WdmlibIoConnectInterruptEx function. |
WdmlibIoGetAffinityInterrupt The WdmlibIoGetAffinityInterrupt function gets the group affinity of an interrupt object. |
WdmlibIoValidateDeviceIoControlAccess The WdmlibIoValidateDeviceIoControlAccess function verifies that the sender of an IRP_MJ_DEVICE_CONTROL or IRP_MJ_FILE_SYSTEM_CONTROL IRP has the specified access to the device object. |
WdmlibProcgrpInitialize The WdmlibProcgrpInitialize function initializes the Processor Group (ProcGrp) compatibility library. |
WdmlibRtlInitUnicodeStringEx The WdmlibRtlInitUnicodeStringEx function initializes a counted string of Unicode characters. |
WheaAdd2Ptr This topic describes the WheaAdd2Ptr macro. |
WheaErrorRecordBuilderAddPacket This routine adds a packet into an error record. |
WheaErrorRecordBuilderAddSection The WheaErrorRecordBuilderAddSection function finds the next section, initializes its descriptor, and returns a pointer for the caller to populate with data. |
WheaErrorRecordBuilderInit The WheaErrorRecordBuilderInit function initializes an error record for the record builder helper functions. |
WheaRegisterErrorSourceOverride This topic describes the WheaRegisterErrorSourceOverride function. |
WheaSignalHandlerOverride This topic describes the WheaSignalHandlerOverride function. |
WheaUnregisterErrorSourceOverride This topic describes the WheaUnregisterErrorSourceOverride function. |
WMI_EXECUTE_METHOD_CALLBACK The DpWmiExecuteMethod routine executes a method associated with a data block. This routine is optional. |
WMI_FUNCTION_CONTROL_CALLBACK The DpWmiFunctionControl routine enables or disables notification of events, and enables or disables data collection for data blocks that the driver registered as expensive to collect. This routine is optional. |
WMI_QUERY_DATABLOCK_CALLBACK The DpWmiQueryDataBlock routine returns either a single instance or all instances of a data block. This routine is required. |
WMI_QUERY_REGINFO_CALLBACK The DpWmiQueryReginfo routine provides information about the data blocks and event blocks to be registered by a driver. This routine is required. |
WMI_SET_DATABLOCK_CALLBACK The DpWmiSetDataBlock routine changes all data items in a single instance of a data block. This routine is optional. |
WMI_SET_DATAITEM_CALLBACK The DpWmiSetDataItem routine changes a single data item in an instance of a data block. This routine is optional. |
WmiCompleteRequest The WmiCompleteRequest routine indicates that a driver has finished processing a WMI request in a DpWmiXxx routine. |
WmiFireEvent The WmiFireEvent routine sends an event to WMI for delivery to data consumers that have requested notification of the event. |
WmiQueryTraceInformation The WmiQueryTraceInformation routine returns information about a WMI event trace. |
WmiSystemControl The WmiSystemControl routine is a dispatch routine for drivers that use WMI library support routines to handle WMI IRPs. |
WmiTraceMessage The WmiTraceMessage routine adds a message to the output log of a WPP software tracing session. |
WmiTraceMessageVa The WmiTraceMessageVa routine adds a message to the output log of a WPP software tracing session. |
WRITE_PORT_BUFFER_UCHAR The WRITE_PORT_BUFFER_UCHAR function (miniport.h) writes a number of bytes from a buffer to the specified port. |
WRITE_PORT_BUFFER_UCHAR The WRITE_PORT_BUFFER_UCHAR function (wdm.h) writes a number of bytes from a buffer to the specified port. |
WRITE_PORT_BUFFER_ULONG The WRITE_PORT_BUFFER_ULONG function (miniport.h) writes a number of ULONG values from a buffer to the specified port address. |
WRITE_PORT_BUFFER_ULONG The WRITE_PORT_BUFFER_ULONG function (wdm.h) writes a number of ULONG values from a buffer to the specified port address. |
WRITE_PORT_BUFFER_USHORT The WRITE_PORT_BUFFER_USHORT function (miniport.h) writes a number of USHORT values from a buffer to the specified port address. |
WRITE_PORT_BUFFER_USHORT The WRITE_PORT_BUFFER_USHORT function (wdm.h) writes a number of USHORT values from a buffer to the specified port address. |
WRITE_PORT_UCHAR The WRITE_PORT_UCHAR function (ioaccess.h) writes a byte to the specified port address in resident, mapped device memory. |
WRITE_PORT_UCHAR The WRITE_PORT_UCHAR function (miniport.h) writes a byte to the specified port address in resident, mapped device memory. |
WRITE_PORT_UCHAR The WRITE_PORT_UCHAR function (wdm.h) writes a byte to the specified port address in resident, mapped device memory. |
WRITE_PORT_ULONG The WRITE_PORT_ULONG function (ioaccess.h) writes a ULONG value to the specified port address in resident, mapped device memory. |
WRITE_PORT_ULONG The WRITE_PORT_ULONG function (miniport.h) writes a ULONG value to the specified port address in resident, mapped device memory. |
WRITE_PORT_ULONG The WRITE_PORT_ULONG function (wdm.h) writes a ULONG value to the specified port address in resident, mapped device memory. |
WRITE_PORT_USHORT The WRITE_PORT_USHORT function (ioaccess.h) writes a USHORT value to the specified port address in resident, mapped device memory. |
WRITE_PORT_USHORT The WRITE_PORT_USHORT function (miniport.h) writes a USHORT value to the specified port address in resident, mapped device memory. |
WRITE_PORT_USHORT The WRITE_PORT_USHORT function (wdm.h) writes a USHORT value to the specified port address in resident, mapped device memory. |
WRITE_REGISTER_BUFFER_UCHAR The WRITE_REGISTER_BUFFER_UCHAR function (miniport.h) writes a number of bytes from a buffer to the specified register. |
WRITE_REGISTER_BUFFER_UCHAR The WRITE_REGISTER_BUFFER_UCHAR function (wdm.h) writes a number of bytes from a buffer to the specified register. |
WRITE_REGISTER_BUFFER_ULONG The WRITE_REGISTER_BUFFER_ULONG function (miniport.h) writes a number of ULONG values from a buffer to the specified register. |
WRITE_REGISTER_BUFFER_ULONG The WRITE_REGISTER_BUFFER_ULONG function (wdm.h) writes a number of ULONG values from a buffer to the specified register. |
WRITE_REGISTER_BUFFER_ULONG64 The WRITE_REGISTER_BUFFER_ULONG64 function (wdm.h) writes a number of ULONG64 values from a buffer to the specified register. |
WRITE_REGISTER_BUFFER_USHORT The WRITE_REGISTER_BUFFER_USHORT function (miniport.h) writes a number of USHORT values from a buffer to the specified register. |
WRITE_REGISTER_BUFFER_USHORT The WRITE_REGISTER_BUFFER_USHORT function (wdm.h) writes a number of USHORT values from a buffer to the specified register. |
WRITE_REGISTER_UCHAR The WRITE_REGISTER_UCHAR function (ioaccess.h) writes a byte to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_UCHAR The WRITE_REGISTER_UCHAR function (miniport.h) writes a byte to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_UCHAR The WRITE_REGISTER_UCHAR function (wdm.h) writes a byte to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_ULONG The WRITE_REGISTER_ULONG function (ioaccess.h) writes a ULONG value to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_ULONG The WRITE_REGISTER_ULONG function (miniport.h) writes a ULONG value to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_ULONG The WRITE_REGISTER_ULONG function (wdm.h) writes a ULONG value to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_ULONG64 The WRITE_REGISTER_ULONG64 function (wdm.h) writes a ULONG64 value to the specified register address. |
WRITE_REGISTER_USHORT The WRITE_REGISTER_USHORT function (ioaccess.h) writes a USHORT value to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_USHORT The WRITE_REGISTER_USHORT function (miniport.h) writes a USHORT value to the specified register address in resident, mapped device memory. |
WRITE_REGISTER_USHORT The WRITE_REGISTER_USHORT function (wdm.h) writes a USHORT value to the specified register address in resident, mapped device memory. |
WriteInt32NoFence This topic describes the WriteInt32NoFence function. |
WriteInt32NoFence The WriteInt32NoFence function... |
WriteInt32Raw This topic describes the WriteInt32Raw function. |
WriteInt32Raw The WriteInt32Raw function... |
WriteInt32Release This topic describes the WriteInt32Release function. |
WriteInt32Release The WriteInt32Release function... |
WriteUInt32NoFence This topic describes the WriteUInt32NoFence function. |
WriteUInt32NoFence The WriteUInt32NoFence function... |
WriteUInt32Raw This topic describes the WriteUInt32Raw function. |
WriteUInt32Raw The WriteUInt32Raw function... |
WriteUInt32Release This topic describes the WriteUInt32Release function. |
WriteUInt32Release The WriteUInt32Release function... |
ZwAllocateLocallyUniqueId The ZwAllocateLocallyUniqueId routine allocates a locally unique identifier (LUID). |
ZwAllocateVirtualMemory The ZwAllocateVirtualMemory routine reserves, commits, or both, a region of pages within the user-mode virtual address space of a specified process. |
ZwClose The ZwClose routine in wdm.h closes an object handle. ZwClose is a generic routine that operates on any type of object. |
ZwCommitComplete Learn how the ZwCommitComplete routine notifies KTM that the calling resource manager has finished committing a transaction's data. |
ZwCommitEnlistment Learn how the ZwCommitEnlistment routine initiates the commit operation for a specified enlistment's transaction. |
ZwCommitTransaction Learn how the ZwCommitTransaction routine initiates a commit operation for a specified transaction. |
ZwCreateDirectoryObject The ZwCreateDirectoryObject routine creates or opens an object-directory object. |
ZwCreateEnlistment Learn how the ZwCreateEnlistment routine creates a new enlistment object for a transaction. |
ZwCreateEvent The ZwCreateEvent routine creates an event object, sets the initial state of the event to the specified value, and opens a handle to the object with the specified desired access. |
ZwCreateFile The ZwCreateFile routine creates a new file or opens an existing file. |
ZwCreateKey The ZwCreateKey routine creates a new registry key or opens an existing one. |
ZwCreateKeyTransacted The ZwCreateKeyTransacted routine creates a new registry key or opens an existing one, and it associates the key with a transaction. |
ZwCreateResourceManager Learn how the ZwCreateResourceManager routine creates a resource manager object. |
ZwCreateSection The ZwCreateSection routine in wdm.h creates a section object. Once the handle pointed to is no longer in use, the driver must close it. |
ZwCreateTransaction Learn how the ZwCreateTransaction routine creates a transaction object. |
ZwCreateTransactionManager Learn how the ZwCreateTransactionManager routine creates a new transaction manager object. |
ZwDeleteFile Learn more about the ZwDeleteFile function. |
ZwDeleteKey The ZwDeleteKey routine deletes an open key from the registry. |
ZwDeleteValueKey The ZwDeleteValueKey routine deletes a value entry matching a name from an open key in the registry. If no such entry exists, an error is returned. |
ZwDeviceIoControlFile This routine sends a control code directly to a specified device driver, causing the corresponding driver to perform the specified operation. |
ZwDeviceIoControlFile Learn how the ZwDeviceIoControlFile routine sends a control code directly to a specified device driver, causing the corresponding driver to perform the specified operation. |
ZwDuplicateObject The ZwDuplicateObject routine creates a handle that is a duplicate of the specified source handle. |
ZwDuplicateToken Learn more about the ZwDuplicateToken function. |
ZwEnumerateKey The ZwEnumerateKey routine returns information about a subkey of an open registry key. |
ZwEnumerateTransactionObject Learn how the ZwEnumerateTransactionObject routine enumerates the KTM objects on a computer. |
ZwEnumerateValueKey The ZwEnumerateValueKey routine gets information about the value entries of an open key. |
ZwFlushBuffersFile The ZwFlushBuffersFile routine is called by a file system filter driver to send a flush request for the specified file to the file system. |
ZwFlushBuffersFileEx The ZwFlushBuffersFileEx routine is called by a file system filter driver to send a flush request for a given file to the file system. An optional flush operation flag can be set to control how file data is written to storage. |
ZwFlushKey The ZwFlushKey routine forces a registry key to be committed to disk. |
ZwFlushVirtualMemory The ZwFlushVirtualMemory routine flushes a range of virtual addresses within the virtual address space of a specified process which map to a data file back out to the data file if they have been modified. |
ZwFreeVirtualMemory The ZwFreeVirtualMemory routine releases, decommits, or both, a region of pages within the virtual address space of a specified process. |
ZwFsControlFile The ZwFsControlFile routine sends a control code directly to a specified file system or file system filter driver, causing the corresponding driver to perform the specified action. |
ZwGetNotificationResourceManager Learn how the ZwGetNotificationResourceManager routine retrieves the next transaction notification from a specified resource manager's notification queue. |
ZwLoadDriver The ZwLoadDriver routine loads a driver into the system. |
ZwLockFile Learn more about the ZwLockFile routine. |
ZwMakeTemporaryObject The ZwMakeTemporaryObject routine changes the attributes of an object to make it temporary. |
ZwMapViewOfSection The ZwMapViewOfSection routine maps a view of a section into the virtual address space of a subject process. |
ZwMapViewOfSectionEx |
ZwNotifyChangeKey Learn more about the ZwNotifyChangeKey function. |
ZwOpenDirectoryObject The ZwOpenDirectoryObject routine opens an existing directory object. |
ZwOpenEnlistment Learn how the ZwOpenEnlistment routine obtains a handle to an existing enlistment object. |
ZwOpenEvent The ZwOpenEvent routine opens a handle to an existing named event object with the specified desired access. |
ZwOpenFile The ZwOpenFile routine in wdm.h opens an existing file, directory, device, or volume. Once the handle pointed to is no longer in use, the driver must close it. |
ZwOpenKey The ZwOpenKey routine opens an existing registry key. |
ZwOpenKeyEx The ZwOpenKeyEx routine opens an existing registry key. |
ZwOpenKeyTransacted The ZwOpenKeyTransacted routine opens an existing registry key and associates the key with a transaction. |
ZwOpenKeyTransactedEx The ZwOpenKeyTransactedEx routine opens an existing registry key and associates the key with a transaction. |
ZwOpenProcess Learn how the ZwOpenProcess routine opens a handle to a process object and sets the access rights to this object. |
ZwOpenProcessTokenEx The ZwOpenProcessTokenEx routine opens the access token associated with a process. |
ZwOpenResourceManager Learn how the ZwOpenResourceManager routine returns a handle to an existing resource manager object. |
ZwOpenSection The ZwOpenSection routine opens a handle for an existing section object. |
ZwOpenSymbolicLinkObject The ZwOpenSymbolicLinkObject routine opens an existing symbolic link. |
ZwOpenThreadTokenEx The ZwOpenThreadTokenEx routine opens the access token associated with a thread. |
ZwOpenTransaction Learn how the ZwOpenTransaction routine obtains a handle to an existing transaction object. |
ZwOpenTransactionManager Learn how the ZwOpenTransactionManager routine obtains a handle to an existing transaction manager object. |
ZwPowerInformation The ZwPowerInformation routine sets or retrieves system power information. |
ZwPrepareComplete Learn how the ZwPrepareComplete routine notifies KTM that the calling resource manager has finished preparing a transaction's data. |
ZwPrepareEnlistment Learn how the ZwPrepareEnlistment routine initiates the prepare operation for a specified enlistment's transaction. |
ZwPrePrepareComplete Learn how the ZwPrePrepareComplete routine notifies KTM that the calling resource manager has finished preliminary preparation of a transaction's data. |
ZwPrePrepareEnlistment Learn how the ZwPrePrepareEnlistment routine initiates the pre-prepare operation for a specified enlistment's transaction. |
ZwQueryDirectoryFile The ZwQueryDirectoryFile routine returns various kinds of information about files in the directory specified by a given file handle. |
ZwQueryDirectoryFileEx Learn more about the ZwQueryDirectoryFileEx function. |
ZwQueryEaFile Learn more about the ZwQueryEaFile function. |
ZwQueryFullAttributesFile The ZwQueryFullAttributesFile routine supplies network open information for the specified file. |
ZwQueryInformationByName ZwQueryInformationByName returns the requested information about a file specified by file name. |
ZwQueryInformationEnlistment Learn how the ZwQueryInformationEnlistment routine retrieves information about a specified enlistment object. |
ZwQueryInformationFile The ZwQueryInformationFile routine returns various kinds of information about a file object. |
ZwQueryInformationResourceManager Learn how the ZwQueryInformationResourceManager routine retrieves information about a specified resource manager object. |
ZwQueryInformationToken The ZwQueryInformationToken routine retrieves a specified type of information about an access token. |
ZwQueryInformationTransaction Learn how the ZwQueryInformationTransaction routine retrieves information about a specified transaction. |
ZwQueryInformationTransactionManager Learn how the ZwQueryInformationTransactionManager routine retrieves information about a specified transaction manager object. |
ZwQueryKey The ZwQueryKey routine provides information about the class of a registry key, and the number and sizes of its subkeys. |
ZwQueryObject The ZwQueryObject routine provides information about a supplied object. If the call to NtQueryObject is in user mode, use the name NtQueryObject. |
ZwQueryQuotaInformationFile The ZwQueryQuotaInformationFile routine retrieves quota entries associated with the volume specified by the FileHandle parameter. |
ZwQuerySecurityObject The ZwQuerySecurityObject routine retrieves a copy of an object's security descriptor. A security descriptor can be in absolute or self-relative form. |
ZwQuerySymbolicLinkObject The ZwQuerySymbolicLinkObject routine returns a Unicode string that contains the target of a symbolic link. |
ZwQueryValueKey The ZwQueryValueKey routine returns a value entry for a registry key. |
ZwQueryVirtualMemory The ZwQueryVirtualMemory routine determines the state, protection, and type of a region of pages within the virtual address space of the subject process. |
ZwQueryVolumeInformationFile Learn how this routine retrieves information about the volume associated with a given file, directory, storage device, or volume. |
ZwQueryVolumeInformationFile Learn how the ZwQueryVolumeInformationFile routine retrieves information about the volume associated with a given file, directory, storage device, or volume. |
ZwReadFile The ZwReadFile routine in wdm.h reads data from an open file. Callers of ZwReadFile must have already called ZwCreateFile. |
ZwReadOnlyEnlistment Learn how the ZwReadOnlyEnlistment routine sets a specified enlistment to be read-only. |
ZwRecoverEnlistment Learn how the ZwRecoverEnlistment routine initiates a recovery operation for the transaction that is associated with a specified enlistment. |
ZwRecoverResourceManager Learn how the ZwRecoverResourceManager routine tries to recover the transaction that is associated with each enlistment of a specified resource manager object. |
ZwRecoverTransactionManager Learn how the ZwRecoverTransactionManager routine reconstructs the state of the transaction manager object from the recovery information that is in the log stream. |
ZwRollbackComplete Learn how the ZwRollbackComplete routine notifies KTM that the calling resource manager has finished rolling back a transaction's data. |
ZwRollbackEnlistment Learn how the ZwRollbackEnlistment routine rolls back the transaction that is associated with a specified enlistment. |
ZwRollbackTransaction Learn how the ZwRollbackTransaction routine initiates a rollback operation for a specified transaction. |
ZwRollforwardTransactionManager Learn how the ZwRollforwardTransactionManager routine initiates recovery operations for all of the in-progress transactions that are assigned to a specified transaction manager. |
ZwSetEaFile Learn more about the ZwSetEaFile function. |
ZwSetEvent The ZwSetEvent routine sets an event object to a Signaled state and attempts to satisfy as many waits as possible. |
ZwSetInformationEnlistment Learn how the ZwSetInformationEnlistment routine sets information for a specified enlistment object. |
ZwSetInformationFile The ZwSetInformationFile routine in wdm.h changes various kinds of information about a file object. It ignores unsupported members of FILE_XXX_INFORMATION. |
ZwSetInformationResourceManager Learn how the ZwSetInformationResourceManager routine is not used. |
ZwSetInformationThread The ZwSetInformationThread routine sets the priority of a thread. |
ZwSetInformationToken The ZwSetInformationToken routine modifies information in a specified token. The calling process must have appropriate access rights to set the information. |
ZwSetInformationTransaction Learn how the ZwSetInformationTransaction routine sets information for a specified transaction. |
ZwSetInformationVirtualMemory The ZwSetInformationVirtualMemory routine performs an operation on a specified list of address ranges in the user address space of a process. |
ZwSetQuotaInformationFile The ZwSetQuotaInformationFile routine changes quota entries for the volume associated with the FileHandle parameter. All of the quota entries in the specified buffer are applied to the volume. |
ZwSetSecurityObject The ZwSetSecurityObject routine sets an object's security state. |
ZwSetValueKey The ZwSetValueKey routine creates or replaces a registry key's value entry. |
ZwSetVolumeInformationFile The ZwSetVolumeInformationFile routine modifies information about the volume associated with a given file, directory, storage device, or volume. |
ZwSinglePhaseReject Learn how the ZwSinglePhaseReject routine informs KTM that the calling resource manager will not support single-phase commit operations for a specified enlistment. |
ZwTerminateProcess The ZwTerminateProcess routine terminates a process and all of its threads. |
ZwUnloadDriver The ZwUnloadDriver routine unloads a driver from the system. |
ZwUnlockFile The ZwUnlockFile routine unlocks a byte-range lock in a file. |
ZwUnmapViewOfSection The ZwUnmapViewOfSection routine unmaps a view of a section from the virtual address space of a subject process. |
ZwWaitForSingleObject Learn more about the ZwWaitForSingleObject routine. |
ZwWriteFile The ZwWriteFile routine writes data to an open file. |
Structures
DMA_ADAPTER The DMA_ADAPTER structure describes a system-defined interface to a DMA controller for a given device. A driver calls IoGetDmaAdapter to obtain this structure. |
DMA_OPERATIONS The DMA_OPERATIONS structure provides a table of pointers to functions that control the operation of a DMA controller. |
ACPI_INTERFACE_STANDARD2 This topic describes the ACPI_INTERFACE_STANDARD2 structure. |
AUX_MODULE_BASIC_INFO The AUX_MODULE_BASIC_INFO structure contains basic information about a loaded image module. |
AUX_MODULE_EXTENDED_INFO The AUX_MODULE_EXTENDED_INFO structure contains extended information about a loaded image module. |
BATTERY_REPORTING_SCALE Battery miniclass drivers fill in this structure in response to certain BatteryMiniQueryInformation requests. |
BDCB_IMAGE_INFORMATION The BDCB_IMAGE_INFORMATION structure describes information about a boot-start driver that is about to be initialized, provided by Windows to a boot-start driver's BOOT_DRIVER_CALLBACK_FUNCTION routine. |
BDCB_STATUS_UPDATE_CONTEXT The BDCB_STATUS_UPDATE_CONTEXT structure describes a status update provided by Windows to a boot-start driver's BOOT_DRIVER_CALLBACK_FUNCTION routine. |
BOOTDISK_INFORMATION The BOOTDISK_INFORMATION structure contains basic information describing the boot and system disks. |
BOOTDISK_INFORMATION_EX The BOOTDISK_INFORMATION_EX structure contains extended information describing the boot and system disks. |
BUS_INTERFACE_STANDARD The BUS_INTERFACE_STANDARD interface structure enables device drivers to make direct calls to parent bus driver routines. This structure defines the GUID_BUS_INTERFACE_STANDARD interface. |
BUS_RESOURCE_UPDATE_INTERFACE Enables device drivers to make direct calls to parent bus driver routines. This structure defines the GUID_BUS_RESOURCE_UPDATE_INTERFACE interface. |
BUS_SPECIFIC_RESET_FLAGS This topic describes the BUS_SPECIFIC_RESET_FLAGS union. |
CLFS_LOG_NAME_INFORMATION The CLFS_LOG_NAME_INFORMATION structure holds the name of a Common Log File System (CLFS) stream or log. |
CLFS_MGMT_CLIENT_REGISTRATION The CLFS_MGMT_CLIENT_REGISTRATION structure is given to CLFS management by clients who manage their own logs. |
CLFS_MGMT_POLICY The CLFS_MGMT_POLICY structure holds a description of a policy for managing a CLFS log. |
CLFS_STREAM_ID_INFORMATION The CLFS_STREAM_ID_INFORMATION structure holds a value that identifies a stream in a Common Log File System (CLFS) log. |
CLS_CONTAINER_INFORMATION The CLFS_CONTAINER_INFORMATION structure holds descriptive information for an individual container in a Common Log File System (CLFS) log. |
CLS_INFORMATION The CLFS_INFORMATION structure holds metadata and state information for a Common Log File System (CLFS) stream and/or its underlying physical log. |
CLS_IO_STATISTICS The CLFS_IO_STATISTICS structure holds I/O statistics data for a Common Log File System (CLFS) log. |
CLS_IO_STATISTICS_HEADER The CLFS_IO_STATISTICS_HEADER structure holds the header portion of a CLFS_IO_STATISTICS structure. |
CLS_LSN The CLFS_LSN structure identifies an individual record in a Common Log File System (CLFS) stream. |
CLS_SCAN_CONTEXT The CLFS_SCAN_CONTEXT structure holds context information to support a scan of the containers in a Common Log File System (CLFS) log. |
CLS_WRITE_ENTRY The CLFS_WRITE_ENTRY structure holds the address and size of a buffer that contains one unit of data to be written to a Common Log File System (CLFS) stream. |
CM_EISA_FUNCTION_INFORMATION The _CM_EISA_FUNCTION_INFORMATION structure (miniport.h) defines detailed EISA configuration information returned by HalGetBusData or HalGetBusDataByOffset. |
CM_EISA_FUNCTION_INFORMATION The _CM_EISA_FUNCTION_INFORMATION structure (wdm.h) defines detailed EISA configuration information returned by HalGetBusData or HalGetBusDataByOffset. |
CM_EISA_SLOT_INFORMATION The _CM_EISA_SLOT_INFORMATION structure (miniport.h) defines EISA configuration header information returned by HalGetBusData or by HalGetBusDataByOffset. |
CM_EISA_SLOT_INFORMATION The _CM_EISA_SLOT_INFORMATION structure (wdm.h) defines EISA configuration header information returned by HalGetBusData or by HalGetBusDataByOffset. |
CM_FLOPPY_DEVICE_DATA The CM_FLOPPY_DEVICE_DATA structure defines a device-type-specific data record that is stored in the \Registry\Machine\Hardware\Description tree for a floppy controller if the system can collect this information during the boot process. |
CM_FULL_RESOURCE_DESCRIPTOR The CM_FULL_RESOURCE_DESCRIPTOR structure specifies a set of system hardware resources of various types, assigned to a device that is connected to a specific bus. This structure is contained within a CM_RESOURCE_LIST structure. |
CM_INT13_DRIVE_PARAMETER The CM_INT13_DRIVE_PARAMETER structure defines a device-type-specific data record that is stored in the \Registry\Machine\Hardware\Description tree for a disk controller if the system can collect this information during the boot process. |
CM_KEYBOARD_DEVICE_DATA The CM_KEYBOARD_DEVICE_DATA structure defines a device-type-specific data record that is stored in the \Registry\Machine\Hardware\Description tree for a keyboard peripheral if the system can collect this information during the boot process. |
CM_MCA_POS_DATA The _CM_MCA_POS_DATA structure (miniport.h) is obsolete. It defines IBM-compatible MCA POS configuration information for a slot. |
CM_MCA_POS_DATA The _CM_MCA_POS_DATA structure (wdm.h) is obsolete. It defines IBM-compatible MCA POS configuration information for a slot. |
CM_PARTIAL_RESOURCE_DESCRIPTOR The CM_PARTIAL_RESOURCE_DESCRIPTOR structure specifies one or more system hardware resources, of a single type, assigned to a device. |
CM_PARTIAL_RESOURCE_LIST The CM_PARTIAL_RESOURCE_LIST structure specifies a set of system hardware resources, of various types, assigned to a device. This structure is contained within a CM_FULL_RESOURCE_DESCRIPTOR structure. |
CM_POWER_DATA The CM_POWER_DATA structure contains information about a device's power management state and capabilities. |
CM_POWER_DATA Learn how the CM_POWER_DATA structure contains information about a device's power management state and capabilities. |
CM_RESOURCE_LIST The CM_RESOURCE_LIST structure specifies all of the system hardware resources assigned to a device. |
CM_SCSI_DEVICE_DATA The CM_SCSI_DEVICE_DATA structure defines a device-type-specific data record that is stored in the \Registry\Machine\Hardware\Description tree for a SCSI HBA if the system can collect this information during the boot process. |
CM_SERIAL_DEVICE_DATA The CM_SERIAL_DEVICE_DATA structure defines a device-type-specific data record that is stored in the \Registry\Machine\Hardware\Description tree for a serial controller if the system can collect this information during the boot process. |
CONFIGURATION_INFORMATION Learn more about the CONFIGURATION_INFORMATION structure. |
CONTEXT Learn more about: CONTEXT structure |
CONTROLLER_OBJECT A controller object represents a hardware adapter or controller with homogenous devices that are the actual targets for I/O requests. |
COPY_INFORMATION Learn more about the COPY_INFORMATION structure. |
CORRELATION_VECTOR Store the correlation vector that is used to reference events and the generated logs for diagnostic purposes. |
COUNTED_REASON_CONTEXT The COUNTED_REASON_CONTEXT structure contains one or more strings that give reasons for a power request. |
COUNTED_REASON_CONTEXT Learn how the COUNTED_REASON_CONTEXT structure contains one or more strings that give reasons for a power request. |
CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG Contains information about a custom system event trigger. |
D3COLD_AUX_POWER_AND_TIMING_INTERFACE Allows device drivers to negotiate a higher auxiliary power for their PCI devices while in D3Cold state. |
D3COLD_SUPPORT_INTERFACE The D3COLD_SUPPORT_INTERFACE interface structure contains pointers to the routines in the GUID_D3COLD_SUPPORT_INTERFACE driver interface. |
DEBUG_DEVICE_ADDRESS This topic describes the DEBUG_DEVICE_ADDRESS structure. |
DEBUG_MEMORY_REQUIREMENTS This topic describes the DEBUG_MEMORY_REQUIREMENTS structure. |
DEVICE_BUS_SPECIFIC_RESET_INFO Defines the DEVICE_BUS_SPECIFIC_RESET_INFO structure. |
DEVICE_BUS_SPECIFIC_RESET_TYPE Defines the DEVICE_BUS_SPECIFIC_RESET_TYPE union. |
DEVICE_CAPABILITIES A DEVICE_CAPABILITIES structure describes PnP and power capabilities of a device. This structure is returned in response to an IRP_MN_QUERY_CAPABILITIES IRP. |
DEVICE_DESCRIPTION The DEVICE_DESCRIPTION structure describes the attributes of the physical device for which a driver is requesting a DMA adapter. |
DEVICE_FAULT_CONFIGURATION This structure is used in setting the device fault reporting state |
DEVICE_INTERFACE_CHANGE_NOTIFICATION The DEVICE_INTERFACE_CHANGE_NOTIFICATION structure describes a device interface that has been enabled (arrived) or disabled (removed). |
DEVICE_OBJECT Learn more about the DEVICE_OBJECT structure. |
DEVICE_RESET_INTERFACE_STANDARD The DEVICE_RESET_INTERFACE_STANDARD structure enables function drivers to reset and recover malfunctioning devices. This structure describes the GUID_DEVICE_RESET_INTERFACE_STANDARD interface. |
DEVICE_RESET_STATUS_FLAGS This topic describes the DEVICE_RESET_STATUS_FLAGS union. |
DMA_ADAPTER_INFO The DMA_ADAPTER_INFO structure is a container for a DMA_ADAPTER_INFO_XXX structure that describes the capabilities of a system DMA controller. |
DMA_ADAPTER_INFO_CRASHDUMP This topic describes the DMA_ADAPTER_INFO_CRASHDUMP structure. |
DMA_ADAPTER_INFO_V1 The DMA_ADAPTER_INFO_V1 structure describes the capabilities of the system DMA controller that is represented by an adapter object. |
DMA_IOMMU_INTERFACE An extended version of the INTERFACE structure that allows device drivers to invoke the callback functions that perform device domain operations. |
DMA_IOMMU_INTERFACE_EX An interface structure that allows device drivers to interface with the IOMMU functions that perform device domain operations. |
DMA_IOMMU_INTERFACE_V1 Learn more about: DMA_IOMMU_INTERFACE_V1 |
DMA_IOMMU_INTERFACE_V2 A structure containing the set of IOMMU Version 2 (V2) functions. |
DMA_TRANSFER_INFO The DMA_TRANSFER_INFO structure is a container for a DMA_TRANSFER_INFO_XXX structure that describes the allocation requirements for a scatter/gather list. |
DMA_TRANSFER_INFO_V1 The DMA_TRANSFER_INFO_V1 structure contains the allocation requirements for a scatter/gather list that describes the I/O data buffer for a DMA transfer. |
DMA_TRANSFER_INFO_V2 Contains the allocation requirements for a scatter/gather list that describes the I/O data buffer for a DMA transfer. |
DOMAIN_CONFIGURATION Contains information required to configure a domain. |
DOMAIN_CONFIGURATION_ARM64 Contains information required to configure a domain for an ARM64 system. |
DOMAIN_CONFIGURATION_X64 The DOMAIN_CONFIGURATION_X64 structure is reserved for system use only. |
DRIVER_OBJECT Each driver object represents the image of a loaded kernel-mode driver. |
EFI_ACPI_RAS_SIGNAL_TABLE This topic describes the EFI_ACPI_RAS_SIGNAL_TABLE structure. |
EMULATOR_ACCESS_ENTRY The _EMULATOR_ACCESS_ENTRY structure (miniport.h) defines a range of I/O ports and how they can be accessed by a V86 emulator on x86-based platforms. |
ENLISTMENT_BASIC_INFORMATION The ENLISTMENT_BASIC_INFORMATION structure contains information about an enlistment object. |
EXT_DELETE_PARAMETERS The EXT_DELETE_PARAMETERS structure contains an extended set of parameters for the ExDeleteTimer routine. |
EXT_SET_PARAMETERS The EXT_SET_PARAMETERS structure contains an extended set of parameters for the ExSetTimer routine. |
EXTENDED_CREATE_INFORMATION Describes the EXTENDED_CREATE_INFORMATION structure. |
EXTENDED_CREATE_INFORMATION_32 Describes the 32-bit version of the EXTENDED_CREATE_INFORMATION structure. |
FILE_ACCESS_INFORMATION The FILE_ACCESS_INFORMATION structure is used to query for or set the access rights of a file. |
FILE_ALIGNMENT_INFORMATION The FILE_ALIGNMENT_INFORMATION structure is used as an argument to the ZwQueryInformationFile routine. |
FILE_ALL_INFORMATION The FILE_ALL_INFORMATION structure is a container for several FILE_XXX_INFORMATION structures. |
FILE_ATTRIBUTE_TAG_INFORMATION The FILE_ATTRIBUTE_TAG_INFORMATION structure is used as an argument to ZwQueryInformationFile. |
FILE_BASIC_INFORMATION The FILE_BASIC_INFORMATION structure contains timestamps and basic attributes of a file. It is used as an argument to routines that query or set file information. |
FILE_DISPOSITION_INFORMATION The FILE_DISPOSITION_INFORMATION structure is used as an argument to the ZwSetInformationFile routine. |
FILE_EA_INFORMATION The FILE_EA_INFORMATION structure is used to query for the size of the extended attributes (EA) for a file. |
FILE_END_OF_FILE_INFORMATION The FILE_END_OF_FILE_INFORMATION structure is used as an argument to the ZwSetInformationFile routine. |
FILE_FS_DEVICE_INFORMATION The FILE_FS_DEVICE_INFORMATION structure provides file system device information about the type of device object associated with a file object. |
FILE_FULL_EA_INFORMATION The FILE_FULL_EA_INFORMATION structure provides extended attribute (EA) information. |
FILE_IO_PRIORITY_HINT_INFORMATION The FILE_IO_PRIORITY_HINT_INFORMATION structure is used by the ZwQueryInformationFile and ZwSetInformationFile routines to query and set the default IRP priority hint for requests on the specified file handle. |
FILE_IS_REMOTE_DEVICE_INFORMATION The FILE_IS_REMOTE_DEVICE_INFORMATION structure is used as an argument to the ZwQueryInformationFile routine. |
FILE_MODE_INFORMATION The FILE_MODE_INFORMATION structure is used to query or set the access mode of a file. |
FILE_NAME_INFORMATION The FILE_NAME_INFORMATION structure is used as argument to the ZwQueryInformationFile and ZwSetInformationFile routines. |
FILE_NETWORK_OPEN_INFORMATION The FILE_NETWORK_OPEN_INFORMATION structure is used as an argument to ZwQueryInformationFile. |
FILE_OBJECT The FILE_OBJECT structure is used by the system to represent a file object. |
FILE_POSITION_INFORMATION The FILE_POSITION_INFORMATION structure is used as an argument to routines that query or set file information. |
FILE_STANDARD_INFORMATION The FILE_STANDARD_INFORMATION structure is used as an argument to routines that query or set file information. |
FILE_STANDARD_INFORMATION_EX The FILE_STANDARD_INFORMATION_EX structure is used as an argument to routines that query or set file information. |
FILE_VALID_DATA_LENGTH_INFORMATION The FILE_VALID_DATA_LENGTH_INFORMATION structure is used as an argument to ZwSetInformationFile. |
FPGA_CONTROL_INTERFACE Reserved for future use of FPGA_CONTROL_INTERFACE. |
FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS The FUNCTION_LEVEL_DEVICE_RESET_PARAMETER structure is used as an argument to the DeviceReset routine of the GUID_DEVICE_RESET_INTERFACE_STANDARD interface. |
GENERIC_MAPPING The GENERIC_MAPPING structure describes the ACCESS_MASK value of specific access rights associated with each type of generic access right. |
GROUP_AFFINITY The _GROUP_AFFINITY structure (miniport.h) specifies a group number and the processor affinity within that group. |
HAL_DISPATCH This topic describes the HAL_DISPATCH structure. |
HARDWARE_COUNTER The HARDWARE_COUNTER structure contains information about a hardware counter. |
HWPROFILE_CHANGE_NOTIFICATION The HWPROFILE_CHANGE_NOTIFICATION structure describes an event related to a hardware profile configuration change. |
IMAGE_INFO Used by driver's load-image routine (PLOAD_IMAGE_NOTIFY_ROUTINE) to specify image information. |
IMAGE_INFO_EX IMAGE_INFO_EX is the extended version of the IMAGE_INFO load image information structure. |
IMAGE_POLICY_ENTRY The _IMAGE_POLICY_ENTRY structure is not supported. |
IMAGE_POLICY_METADATA The _IMAGE_POLICY_METADATA structure is not supported. |
INPUT_MAPPING_ELEMENT Contains the input mapping IDs for a device. |
INTERFACE The _INTERFACE structure (miniport.h) describes an interface that is exported by a driver for use by other drivers. |
INTERFACE The _INTERFACE structure (wdm.h) describes an interface that is exported by a driver for use by other drivers. |
IO_CONNECT_INTERRUPT_PARAMETERS The IO_CONNECT_INTERRUPT_PARAMETERS structure contains the parameters that a driver supplies to the IoConnectInterruptEx routine to register an interrupt service routine (ISR). |
IO_DISCONNECT_INTERRUPT_PARAMETERS The IO_DISCONNECT_INTERRUPT_PARAMETERS structure describes the parameters when unregistering an interrupt-handling routine with IoDisconnectInterruptEx. |
IO_ERROR_LOG_PACKET The IO_ERROR_LOG_PACKET structure serves as the header for an error log entry. |
IO_FOEXT_SHADOW_FILE This topic describes the IO_FOEXT_SHADOW_FILE structure. |
IO_INTERRUPT_MESSAGE_INFO The IO_INTERRUPT_MESSAGE_INFO structure describes the driver's message-signaled interrupts. |
IO_INTERRUPT_MESSAGE_INFO_ENTRY The IO_INTERRUPT_MESSAGE_INFO_ENTRY structure describes the properties of a single message-signaled interrupt. |
IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS The IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS structure contains the connection context for a registered interrupt service routine (ISR) that was connected to an interrupt or interrupts by a previous call to the IoConnectInterruptEx routine. |
IO_RESOURCE_DESCRIPTOR The _IO_RESOURCE_DESCRIPTOR structure (miniport.h) describes a range of raw hardware resources, of one type, that can be used by a device. |
IO_RESOURCE_DESCRIPTOR The _IO_RESOURCE_DESCRIPTOR structure (wdm.h) describes a range of raw hardware resources, of one type, that can be used by a device. |
IO_RESOURCE_LIST The _IO_RESOURCE_LIST structure (miniport.h) describes a range of raw hardware resources, of various types, that can be used by a device. |
IO_RESOURCE_LIST The _IO_RESOURCE_LIST structure (wdm.h) describes a range of raw hardware resources, of various types, that can be used by a device. |
IO_RESOURCE_REQUIREMENTS_LIST The _IO_RESOURCE_REQUIREMENTS_LIST structure (miniport.h) describes sets of resource configurations representing raw resource types used by a device. |
IO_RESOURCE_REQUIREMENTS_LIST The _IO_RESOURCE_REQUIREMENTS_LIST structure (wdm.h) describes sets of resource configurations representing raw resource types used by a device. |
IO_SECURITY_CONTEXT The IO_SECURITY_CONTEXT structure represents the security context of an IRP_MJ_CREATE request. |
IO_SESSION_CONNECT_INFO The IO_SESSION_CONNECT_INFO structure provides information about a user session. |
IO_SESSION_STATE_INFORMATION The IO_SESSION_STATE_INFORMATION structure contains information about the state of a user session. |
IO_SESSION_STATE_NOTIFICATION The IO_SESSION_STATE_NOTIFICATION structure contains information that a kernel-mode driver supplies to the IoRegisterContainerNotification routine when the driver registers to receive notifications of session events. |
IO_STACK_LOCATION The IO_STACK_LOCATION structure defines an I/O stack location, which is an entry in the I/O stack that is associated with each IRP. |
IO_STATUS_BLOCK A driver sets an IRP's I/O status block to indicate the final status of an I/O request, before calling IoCompleteRequest for the IRP. |
IO_STATUS_BLOCK64 The IO_STATUS_BLOCK64 structure... |
IOMMU_DEVICE_CREATION_CONFIGURATION IOMMU_DEVICE_CREATION_CONFIGURATION describes a configuration or list of configurations to be used as part of creation and initialization of an IOMMU_DMA_DEVICE. |
IOMMU_DEVICE_CREATION_CONFIGURATION_ACPI IOMMU_DEVICE_CREATION_CONFIGURATION_ACPI provides the ACPI-specific configuration parameters of a IOMMU_DEVICE_CREATION_CONFIGURATION structure, which is provided for creation of an ACPI-type IOMMU_DMA_DEVICE. |
IOMMU_DMA_DOMAIN_CREATION_FLAGS Learn more about: IOMMU_DMA_DOMAIN_CREATION_FLAGS |
IOMMU_DMA_LOGICAL_ADDRESS_TOKEN The IOMMU_DMA_LOGICAL_ADDRESS_TOKEN represents a reserved contiguous logical address range created by IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE. |
IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT Learn more about: IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT |
IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG The IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG structure contains information required to configure a logical allocator. |
IOMMU_DMA_RESERVED_REGION The IOMMU_DMA_RESERVED_REGION structure describes a region of memory that needs to be marked as reserved during domain creation. |
IOMMU_INTERFACE_STATE_CHANGE Learn more about: IOMMU_INTERFACE_STATE_CHANGE |
IOMMU_INTERFACE_STATE_CHANGE_FIELDS Learn more about IOMMU_INTERFACE_STATE_CHANGE_FIELDS |
IOMMU_MAP_PHYSICAL_ADDRESS The IOMMU_MAP_PHYSICAL_ADDRESS represents a physical address that is to be mapped to a logical address. |
IRP The IRP structure is a partially opaque structure that represents an I/O request packet. |
KBUGCHECK_ADD_PAGES The KBUGCHECK_ADD_PAGES structure describes one or more pages of driver-supplied data to be written by a KbCallbackAddPages callback routine to the crash dump file. |
KBUGCHECK_DATA The KBUGCHECK_DATA structure contains bug check parameters. |
KBUGCHECK_DUMP_IO The KBUGCHECK_DUMP_IO structure describes an I/O operation on the crash dump file. |
KBUGCHECK_SECONDARY_DUMP_DATA The KBUGCHECK_SECONDARY_DUMP_DATA structure describes a section of driver-supplied data to be written by KbCallbackSecondaryDumpData routine to the crash dump file. |
KDPC_WATCHDOG_INFORMATION The KDPC_WATCHDOG_INFORMATION structure holds time-out information about the current deferred procedure call (DPC). |
KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT The KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT structure describes the notification context that is passed to a registered callback function when a new processor is dynamically added to a hardware partition. |
KERNEL_CET_CONTEXT Reserved for system use only. Do not use. |
KERNEL_SOFT_RESTART_NOTIFICATION Learn more about: KERNEL_SOFT_RESTART_NOTIFICATION structure |
KEY_BASIC_INFORMATION The KEY_BASIC_INFORMATION structure defines a subset of the full information that is available for a registry key. |
KEY_CACHED_INFORMATION The KEY_CACHED_INFORMATION structure holds the cached information available for a registry key or subkey. |
KEY_FULL_INFORMATION The KEY_FULL_INFORMATION structure defines the information available for a registry key, including information about its subkeys and the maximum length for their names and value entries. |
KEY_NAME_INFORMATION The KEY_NAME_INFORMATION structure holds the name and name length of the key. |
KEY_NODE_INFORMATION The KEY_NODE_INFORMATION structure defines the basic information available for a registry (sub)key. |
KEY_VALUE_BASIC_INFORMATION The KEY_VALUE_BASIC_INFORMATION structure defines a subset of the full information available for a value entry of a registry key. |
KEY_VALUE_ENTRY The KEY_VALUE_ENTRY structure is used by the REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION structure to describe a single value entry for a registry key. |
KEY_VALUE_FULL_INFORMATION The KEY_VALUE_FULL_INFORMATION structure defines information available for a value entry of a registry key. |
KEY_VALUE_PARTIAL_INFORMATION The KEY_VALUE_PARTIAL_INFORMATION structure defines a subset of the value information available for a value entry of a registry key. |
KEY_VIRTUALIZATION_INFORMATION The KEY_VIRTUALIZATION_INFORMATION structure defines the basic information that is available for a registry key or subkey. |
KEY_WRITE_TIME_INFORMATION The KEY_WRITE_TIME_INFORMATION structure is used by the system to set the last write time for a registry key. |
KMUTANT Learn more about: KMUTANT structure |
KTMOBJECT_CURSOR The KTMOBJECT_CURSOR structure receives enumeration information about KTM objects when a component calls ZwEnumerateTransactionObject. |
KUSER_SHARED_DATA This topic describes the KUSER_SHARED_DATA structure. |
LINK_SHARE_ACCESS The share access structure used by file systems for only link files. |
MAILSLOT_CREATE_PARAMETERS The MAILSLOT_CREATE_PARAMETERS is used by the Windows subsystem to create a mailslot. |
MDL An MDL structure is a partially opaque structure that represents a memory descriptor list (MDL). |
MEM_EXTENDED_PARAMETER Learn more about: MEM_EXTENDED_PARAMETER structure |
MEMORY_BASIC_INFORMATION Contains information about a range of pages in the virtual address space of a process. |
MEMORY_PARTITION_DEDICATED_MEMORY_OPEN_INFORMATION Defines the MEMORY_PARTITION_DEDICATED_MEMORY_OPEN_INFORMATION structure. |
MM_COPY_ADDRESS The MM_COPY_ADDRESS structure contains either a virtual memory address or a physical memory address. |
MM_PHYSICAL_ADDRESS_LIST The MM_PHYSICAL_ADDRESS_LIST structure specifies a range of physical addresses. |
NAMED_PIPE_CREATE_PARAMETERS The NAMED_PIPE_CREATE_PARAMETERS structure is used by the Windows subsystem to create a named pipe. |
NOTIFY_USER_POWER_SETTING This topic describes the NOTIFY_USER_POWER_SETTING structure. |
OB_CALLBACK_REGISTRATION The OB_CALLBACK_REGISTRATION structure specifies the parameters when the ObRegisterCallbacks routine registers ObjectPreCallback and ObjectPostCallback callback routines. |
OB_OPERATION_REGISTRATION The OB_OPERATION_REGISTRATION structure specifies ObjectPreCallback and ObjectPostCallback callback routines and the types of operations that the routines are called for. |
OB_POST_CREATE_HANDLE_INFORMATION The OB_POST_CREATE_HANDLE_INFORMATION structure provides information to a ObjectPostCallback routine about a thread or process handle that has been opened. |
OB_POST_DUPLICATE_HANDLE_INFORMATION The OB_POST_DUPLICATE_HANDLE_INFORMATION structure provides information to an ObjectPostCallback routine about a thread or process handle that has been duplicated. |
OB_POST_OPERATION_INFORMATION The OB_POST_OPERATION_INFORMATION structure provides information about a process or thread handle operation to an ObjectPostCallback routine. |
OB_POST_OPERATION_PARAMETERS The OB_POST_OPERATION_PARAMETERS union describes the operation-specific parameters for an ObjectPostCallback routine. |
OB_PRE_CREATE_HANDLE_INFORMATION The OB_PRE_CREATE_HANDLE_INFORMATION structure provides information to an ObjectPreCallback routine about a thread or process handle that is being opened. |
OB_PRE_DUPLICATE_HANDLE_INFORMATION The OB_PRE_DUPLICATE_HANDLE_INFORMATION structure provides information to an ObjectPreCallback routine about a thread or process handle that is being duplicated. |
OB_PRE_OPERATION_INFORMATION The OB_PRE_OPERATION_INFORMATION structure provides information about a process or thread handle operation to an ObjectPreCallback routine. |
OB_PRE_OPERATION_PARAMETERS The OB_PRE_OPERATION_PARAMETERS union describes the operation-specific parameters for an ObjectPreCallback routine. |
OSVERSIONINFOEXW The RTL_OSVERSIONINFOEXW structure contains operating system version information. |
OSVERSIONINFOW The RTL_OSVERSIONINFOW structure contains operating system version information. |
PCI_ATS_INTERFACE Defines the PCI_ATS_INTERFACE structure. |
PCI_COMMON_CONFIG TThe _PCI_COMMON_CONFIG structure (miniport.h) is obsolete. It defines standard PCI configuration information. |
PCI_COMMON_CONFIG The _PCI_COMMON_CONFIG structure (wdm.h) defines standard PCI configuration information. |
PCI_EXPRESS_LINK_CAPABILITIES_2_REGISTER Describes the PCI_EXPRESS_LINK_CAPABILITIES_2_REGISTER union. |
PCI_EXPRESS_LINK_CAPABILITIES_2_REGISTER This topic describes the PCI_EXPRESS_LINK_CAPABILITIES_2_REGISTER union. |
PCI_EXPRESS_LINK_CONTROL_2_REGISTER Describes the PCI_EXPRESS_LINK_CONTROL_2_REGISTER union. |
PCI_EXPRESS_LINK_CONTROL_2_REGISTER This topic describes the PCI_EXPRESS_LINK_CONTROL_2_REGISTER union. |
PCI_EXPRESS_LINK_STATUS_2_REGISTER Describes the PCI_EXPRESS_LINK_STATUS_2_REGISTER union. |
PCI_EXPRESS_LINK_STATUS_2_REGISTER This topic describes the PCI_EXPRESS_LINK_STATUS_2_REGISTER union. |
PCI_MSIX_TABLE_CONFIG_INTERFACE The PCI_MSIX_TABLE_CONFIG_INTERFACE structure enables device drivers to modify their MSI-X interrupt settings. This structure describes the GUID_MSIX_TABLE_CONFIG_INTERFACE interface. |
PCI_SECURITY_INTERFACE2 Defines the PCI_SECURITY_INTERFACE2 structure. |
PCI_SEGMENT_BUS_NUMBER Microsoft reserves the PCI_SEGMENT_BUS_NUMBER structure for internal use only. Don't use this structure in your code. |
PCI_SLOT_NUMBER The _PCI_SLOT_NUMBER structure (miniport.h) is obsolete. It defines the format of the Slot parameter to the obsolete HalXxxBusData routines. |
PCI_SLOT_NUMBER The _PCI_SLOT_NUMBER structure (wdm.h) is obsolete. It defines the format of the Slot parameter to the obsolete HalXxxBusData routines. |
PCI_VENDOR_SPECIFIC_CAPABILITY This topic describes the PCI_VENDOR_SPECIFIC_CAPABILITY structure. |
PEP_ABANDON_DEVICE Learn how the PEP_ABANDON_DEVICE structure identifies a device that has been abandoned and will no longer be used by the operating system. |
PEP_ABANDON_DEVICE The PEP_ABANDON_DEVICE structure identifies a device that has been abandoned and will no longer be used by the operating system. |
PEP_ACPI_ABANDON_DEVICE Learn how the PEP_ACPI_ABANDON_DEVICE structure indicates whether the platform extension plug-in (PEP) accepts ownership of an abandoned device. |
PEP_ACPI_ABANDON_DEVICE The PEP_ACPI_ABANDON_DEVICE structure indicates whether the platform extension plug-in (PEP) accepts ownership of an abandoned device. |
PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE Learn how the PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE structure contains an enumeration of the objects in the namespace of the device. |
PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE The PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE structure contains an enumeration of the objects in the namespace of the device. |
PEP_ACPI_EVALUATE_CONTROL_METHOD Learn how the PEP_ACPI_EVALUATE_CONTROL_METHOD structure specifies an ACPI control method to evaluate, an input argument to supply to this method, and an output buffer for the result of the evaluation. |
PEP_ACPI_EVALUATE_CONTROL_METHOD The PEP_ACPI_EVALUATE_CONTROL_METHOD structure specifies an ACPI control method to evaluate, an input argument to supply to this method, and an output buffer for the result of the evaluation. |
PEP_ACPI_EXTENDED_ADDRESS Learn how the PEP_ACPI_EXTENDED_ADDRESS structure is used to report resource usage in the address space such as memory and IO. |
PEP_ACPI_EXTENDED_ADDRESS The PEP_ACPI_EXTENDED_ADDRESS structure is used to report resource usage in the address space such as memory and IO. |
PEP_ACPI_GPIO_RESOURCE Learn how the PEP_ACPI_GPIO_RESOURCE structure describes the ACPI configuration for a general purpose input/output (GPIO) resource. |
PEP_ACPI_GPIO_RESOURCE The PEP_ACPI_GPIO_RESOURCE structure describes the ACPI configuration for a general purpose input/output (GPIO) resource. |
PEP_ACPI_INTERRUPT_RESOURCE Learn how the PEP_ACPI_INTERRUPT_RESOURCE structure describes an ACPI interrupt resource. |
PEP_ACPI_INTERRUPT_RESOURCE The PEP_ACPI_INTERRUPT_RESOURCE structure describes an ACPI interrupt resource. |
PEP_ACPI_IO_MEMORY_RESOURCE Learn how the PEP_ACPI_IO_MEMORY_RESOURCE structure describes an ACPI IO port descriptor resource. |
PEP_ACPI_IO_MEMORY_RESOURCE The PEP_ACPI_IO_MEMORY_RESOURCE structure describes an ACPI IO port descriptor resource. |
PEP_ACPI_OBJECT_NAME Learn how the PEP_ACPI_OBJECT_NAME union contains the four-character name of an ACPI object. |
PEP_ACPI_OBJECT_NAME The PEP_ACPI_OBJECT_NAME union contains the four-character name of an ACPI object. |
PEP_ACPI_OBJECT_NAME_WITH_TYPE Learn how the PEP_ACPI_OBJECT_NAME_WITH_TYPE structure that specifies both the path-relative name of an ACPI object and the type of this object. |
PEP_ACPI_OBJECT_NAME_WITH_TYPE The PEP_ACPI_OBJECT_NAME_WITH_TYPE structure that specifies both the path-relative name of an ACPI object and the type of this object. |
PEP_ACPI_PREPARE_DEVICE Learn how the PEP_ACPI_PREPARE_DEVICE structure indicates whether a platform extension plug-in (PEP) is prepared to provide ACPI services for the specified device. |
PEP_ACPI_PREPARE_DEVICE The PEP_ACPI_PREPARE_DEVICE structure indicates whether a platform extension plug-in (PEP) is prepared to provide ACPI services for the specified device. |
PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES Learn how the PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES structure contains a list of raw resources that are needed to control power to the device. |
PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES The PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES structure contains a list of raw resources that are needed to control power to the device. |
PEP_ACPI_QUERY_OBJECT_INFORMATION Learn how the PEP_ACPI_QUERY_OBJECT_INFORMATION structure contains information about an ACPI object. |
PEP_ACPI_QUERY_OBJECT_INFORMATION The PEP_ACPI_QUERY_OBJECT_INFORMATION structure contains information about an ACPI object. |
PEP_ACPI_REGISTER_DEVICE Learn how the PEP_ACPI_REGISTER_DEVICE structure contains registration information about a device for which the platform extension plug-in (PEP) is to provide ACPI services. |
PEP_ACPI_REGISTER_DEVICE The PEP_ACPI_REGISTER_DEVICE structure contains registration information about a device for which the platform extension plug-in (PEP) is to provide ACPI services. |
PEP_ACPI_REQUEST_CONVERT_TO_BIOS_RESOURCES Learn how the PEP_ACPI_REQUEST_CONVERT_TO_BIOS_RESOURCES structure is used in the process of converting ACPI resources to BIOS resources by one of the PEP initialization functions. |
PEP_ACPI_REQUEST_CONVERT_TO_BIOS_RESOURCES The PEP_ACPI_REQUEST_CONVERT_TO_BIOS_RESOURCES structure is used in the process of converting ACPI resources to BIOS resources by one of the PEP initialization functions. |
PEP_ACPI_RESOURCE Learn how the PEP_ACPI_RESOURCE structure contains hardware details for a specific ACPI resource. |
PEP_ACPI_RESOURCE The PEP_ACPI_RESOURCE structure contains hardware details for a specific ACPI resource. |
PEP_ACPI_RESOURCE_FLAGS Learn how the PEP_ACPI_RESOURCE_FLAGS structure contains flags describing an ACPI resource. |
PEP_ACPI_RESOURCE_FLAGS The PEP_ACPI_RESOURCE_FLAGS structure contains flags describing an ACPI resource. |
PEP_ACPI_SPB_I2C_RESOURCE Learn how the PEP_ACPI_SPB_I2C_RESOURCE structure describes an ACPI I2C serial bus resource. |
PEP_ACPI_SPB_I2C_RESOURCE The PEP_ACPI_SPB_I2C_RESOURCE structure describes an ACPI I2C serial bus resource. |
PEP_ACPI_SPB_RESOURCE Learn how the PEP_ACPI_SPB_RESOURCE structure describes an ACPI serial bus connection resource. |
PEP_ACPI_SPB_RESOURCE The PEP_ACPI_SPB_RESOURCE structure describes an ACPI serial bus connection resource. |
PEP_ACPI_SPB_SPI_RESOURCE Learn how the PEP_ACPI_SPB_SPI_RESOURCE structure describes an ACPI SPI serial bus resource. |
PEP_ACPI_SPB_SPI_RESOURCE The PEP_ACPI_SPB_SPI_RESOURCE structure describes an ACPI SPI serial bus resource. |
PEP_ACPI_SPB_UART_RESOURCE Learn how the PEP_ACPI_SPB_UART_RESOURCE structure describes an ACPI UART serial bus resource. |
PEP_ACPI_SPB_UART_RESOURCE The PEP_ACPI_SPB_UART_RESOURCE structure describes an ACPI UART serial bus resource. |
PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES Learn how the PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES structure contains a list of translated power-control resources for the platform extension plug-in (PEP) to use. |
PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES The PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES structure contains a list of translated power-control resources for the platform extension plug-in (PEP) to use. |
PEP_ACPI_UNREGISTER_DEVICE Learn how the PEP_ACPI_UNREGISTER_DEVICE structure contains information about a device that has been unregistered from ACPI services. |
PEP_ACPI_UNREGISTER_DEVICE The PEP_ACPI_UNREGISTER_DEVICE structure contains information about a device that has been unregistered from ACPI services. |
PEP_COMPONENT_ACTIVE The PEP_COMPONENT_ACTIVE structure identifies a component that is making a transition between the idle condition and the active condition. |
PEP_COMPONENT_PERF_INFO Learn how the PEP_COMPONENT_PERF_INFO structure describes the performance states (P-states) of a component. |
PEP_COMPONENT_PERF_INFO The PEP_COMPONENT_PERF_INFO structure describes the performance states (P-states) of a component. |
PEP_COMPONENT_PERF_SET Learn how the PEP_COMPONENT_PERF_SET structure describes the performance states (P-states) in a P-state set. |
PEP_COMPONENT_PERF_SET The PEP_COMPONENT_PERF_SET structure describes the performance states (P-states) in a P-state set. |
PEP_COMPONENT_PERF_STATE_REQUEST Learn how the PEP_COMPONENT_PERF_STATE_REQUEST structure specifies a performance state (P-state) set and a new performance level to assign to this set. |
PEP_COMPONENT_PERF_STATE_REQUEST The PEP_COMPONENT_PERF_STATE_REQUEST structure specifies a performance state (P-state) set and a new performance level to assign to this set. |
PEP_COMPONENT_PLATFORM_CONSTRAINTS Learn how the PEP_COMPONENT_PLATFORM_CONSTRAINTS structure describes the lowest-powered Fx state of that a component can be in when the platform is in a particular idle state. |
PEP_COMPONENT_PLATFORM_CONSTRAINTS The PEP_COMPONENT_PLATFORM_CONSTRAINTS structure describes the lowest-powered Fx state of that a component can be in when the platform is in a particular idle state. |
PEP_COMPONENT_V2 Learn how the PEP_COMPONENT_V2 structure specifies the power state attributes of a component in the device. |
PEP_COMPONENT_V2 The PEP_COMPONENT_V2 structure specifies the power state attributes of a component in the device. |
PEP_COORDINATED_DEPENDENCY_OPTION Learn how the PEP_COORIDNATED_DEPENDENCY_OPTION structure describes a coordinated idle state's dependency to the OS. |
PEP_COORDINATED_DEPENDENCY_OPTION The PEP_COORIDNATED_DEPENDENCY_OPTION structure describes a coordinated idle state's dependency to the OS. |
PEP_COORDINATED_IDLE_STATE Learn how the PEP_COORIDNATED_IDLE_STATE structure describes a coordinated idle state to the OS. |
PEP_COORDINATED_IDLE_STATE The PEP_COORIDNATED_IDLE_STATE structure describes a coordinated idle state to the OS. |
PEP_CRASHDUMP_INFORMATION Learn how the PEP_CRASHDUMP_INFORMATION structure contains information about a crash-dump device. |
PEP_CRASHDUMP_INFORMATION The PEP_CRASHDUMP_INFORMATION structure contains information about a crash-dump device. |
PEP_DEBUGGER_TRANSITION_REQUIREMENTS Learn how the PEP_DEBUGGER_TRANSITION_REQUIREMENTS structure indicates the platform idle states for which the debugger device must be turned on. |
PEP_DEBUGGER_TRANSITION_REQUIREMENTS The PEP_DEBUGGER_TRANSITION_REQUIREMENTS structure indicates the platform idle states for which the debugger device must be turned on. |
PEP_DEVICE_PLATFORM_CONSTRAINTS Learn how the PEP_DEVICE_PLATFORM_CONSTRAINTS structure specifies the constraints for entry to the various Dx power states that are supported by a device. |
PEP_DEVICE_PLATFORM_CONSTRAINTS The PEP_DEVICE_PLATFORM_CONSTRAINTS structure specifies the constraints for entry to the various Dx power states that are supported by a device. |
PEP_DEVICE_POWER_STATE Learn how the PEP_DEVICE_POWER_STATE structure indicates the status of a transition to a new Dx (device power) state. |
PEP_DEVICE_POWER_STATE The PEP_DEVICE_POWER_STATE structure indicates the status of a transition to a new Dx (device power) state. |
PEP_DEVICE_REGISTER_V2 Learn how the PEP_DEVICE_REGISTER structure describes all the components in a particular device. |
PEP_DEVICE_REGISTER_V2 The PEP_DEVICE_REGISTER structure describes all the components in a particular device. |
PEP_DEVICE_STARTED Learn how the PEP_DEVICE_STARTED structure identifies a device whose driver has completed its registration with the Windows power management framework (PoFx). |
PEP_DEVICE_STARTED The PEP_DEVICE_STARTED structure identifies a device whose driver has completed its registration with the Windows power management framework (PoFx). |
PEP_INFORMATION Learn how the PEP_INFORMATION structure specifies the interface that the platform extension plug-in (PEP) uses to receive notifications from the Windows power management framework (PoFx). |
PEP_INFORMATION The PEP_INFORMATION structure specifies the interface that the platform extension plug-in (PEP) uses to receive notifications from the Windows power management framework (PoFx). |
PEP_KERNEL_INFORMATION_STRUCT_V1 The PEP_KERNEL_INFORMATION_STRUCT_V1 structure specifies the interface that the power extension plug-in (PEP) uses to request services from the Windows power management framework (PoFx). |
PEP_KERNEL_INFORMATION_STRUCT_V2 Learn how the PEP_KERNEL_INFORMATION_STRUCT_V2 structure specifies the interface that the power extension plug-in (PEP) uses to request services from the Windows power management framework (PoFx). |
PEP_KERNEL_INFORMATION_STRUCT_V3 Learn how the PEP_KERNEL_INFORMATION_STRUCT_V3 structure specifies the interface that the power extension plug-in (PEP) uses to request services from the Windows power management framework (PoFx). |
PEP_KERNEL_INFORMATION_STRUCT_V3 The PEP_KERNEL_INFORMATION_STRUCT_V3 structure specifies the interface that the power extension plug-in (PEP) uses to request services from the Windows power management framework (PoFx). |
PEP_LOW_POWER_EPOCH Learn how the PEP_LOW_POWER_EPOCH structure is used to provide data for a PEP_DPM_LOW_POWER_EPOCH notification (deprecated). |
PEP_LOW_POWER_EPOCH The PEP_LOW_POWER_EPOCH structure is used to provide data for a PEP_DPM_LOW_POWER_EPOCH notification (deprecated). |
PEP_NOTIFY_COMPONENT_IDLE_STATE Learn how the PEP_NOTIFY_COMPONENT_IDLE_STATE structure contains status information about a component's pending transition to a new Fx power state. |
PEP_NOTIFY_COMPONENT_IDLE_STATE The PEP_NOTIFY_COMPONENT_IDLE_STATE structure contains status information about a component's pending transition to a new Fx power state. |
PEP_PERF_STATE Learn how the PEP_PERF_STATE structure describes a performance state (P-state) in a P-state set in which the P-states are specified as a list of one or more discrete values. |
PEP_PERF_STATE The PEP_PERF_STATE structure describes a performance state (P-state) in a P-state set in which the P-states are specified as a list of one or more discrete values. |
PEP_PLATFORM_IDLE_STATE Learn how the PEP_PLATFORM_IDLE_STATE structure specifies the properties of a platform idle state. |
PEP_PLATFORM_IDLE_STATE The PEP_PLATFORM_IDLE_STATE structure specifies the properties of a platform idle state. |
PEP_PLATFORM_IDLE_STATE_UPDATE Learn how the PEP_PLATFORM_IDLE_STATE_UPDATE structure contains the updated properties of a platform idle state. |
PEP_PLATFORM_IDLE_STATE_UPDATE The PEP_PLATFORM_IDLE_STATE_UPDATE structure contains the updated properties of a platform idle state. |
PEP_POWER_CONTROL_COMPLETE Learn how the PEP_POWER_CONTROL_COMPLETE structure contains status information for a power control operation that the PEP previously requested and that the device driver has completed. |
PEP_POWER_CONTROL_COMPLETE The PEP_POWER_CONTROL_COMPLETE structure contains status information for a power control operation that the PEP previously requested and that the device driver has completed. |
PEP_POWER_CONTROL_REQUEST Learn how the PEP_POWER_CONTROL_REQUEST structure contains a request from a driver for a power control operation. |
PEP_POWER_CONTROL_REQUEST The PEP_POWER_CONTROL_REQUEST structure contains a request from a driver for a power control operation. |
PEP_PPM_CONTEXT_QUERY_PARKING_PAGE Learn how the PEP_PPM_CONTEXT_QUERY_PARKING_PAGE structure describes the parking page for a processor. |
PEP_PPM_CONTEXT_QUERY_PARKING_PAGE The PEP_PPM_CONTEXT_QUERY_PARKING_PAGE structure describes the parking page for a processor. |
PEP_PPM_CST_STATE Learn how the PEP_PPM_CST_STATE structure specifies the properties of a C state (ACPI processor power state). |
PEP_PPM_CST_STATE The PEP_PPM_CST_STATE structure specifies the properties of a C state (ACPI processor power state). |
PEP_PPM_CST_STATES Learn how the PEP_PPM_CST_STATES structure specifies the properties of the C states (ACPI processor power states) that are supported for a processor. |
PEP_PPM_CST_STATES The PEP_PPM_CST_STATES structure specifies the properties of the C states (ACPI processor power states) that are supported for a processor. |
PEP_PPM_ENTER_SYSTEM_STATE Learn how this method is used in the PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE notification to notify PEP that the system is about to enter a system power state. . |
PEP_PPM_ENTER_SYSTEM_STATE Used in the PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE notification to notify PEP that the system is about to enter a system power state. . |
PEP_PPM_FEEDBACK_READ Learn how the PEP_PPM_FEEDBACK_READ structure contains the value read from a processor performance feedback counter. |
PEP_PPM_FEEDBACK_READ The PEP_PPM_FEEDBACK_READ structure contains the value read from a processor performance feedback counter. |
PEP_PPM_IDLE_CANCEL The PEP_PPM_IDLE_CANCEL structure indicates why the processor could not enter the previously selected idle state. |
PEP_PPM_IDLE_COMPLETE Learn how the PEP_PPM_IDLE_COMPLETE structure describe the idle states from which the processor and hardware platform are waking. |
PEP_PPM_IDLE_COMPLETE The PEP_PPM_IDLE_COMPLETE structure describe the idle states from which the processor and hardware platform are waking. |
PEP_PPM_IDLE_COMPLETE_V2 Learn how the PEP_PPM_IDLE_COMPLETE_V2 structure describe the idle states from which the processor and hardware platform are waking. |
PEP_PPM_IDLE_COMPLETE_V2 The PEP_PPM_IDLE_COMPLETE_V2 structure describe the idle states from which the processor and hardware platform are waking. |
PEP_PPM_IDLE_EXECUTE Learn how the PEP_PPM_IDLE_EXECUTE structure specifies the idle state that the processor is to enter. |
PEP_PPM_IDLE_EXECUTE The PEP_PPM_IDLE_EXECUTE structure specifies the idle state that the processor is to enter. |
PEP_PPM_IDLE_EXECUTE_V2 Learn how the PEP_PPM_IDLE_EXECUTE_V2 structure specifies the idle state that the processor is to enter. |
PEP_PPM_IDLE_EXECUTE_V2 The PEP_PPM_IDLE_EXECUTE_V2 structure specifies the idle state that the processor is to enter. |
PEP_PPM_IDLE_SELECT The PEP_PPM_IDLE_SELECT structure describes the most energy-efficient idle state that the processor can enter and still satisfy the constraints specified by the operating system. |
PEP_PPM_INITIATE_WAKE Learn how the PEP_PPM_INITIATE_WAKE structure indicates whether a processor requires an interrupt to wake up from an idle state. |
PEP_PPM_INITIATE_WAKE The PEP_PPM_INITIATE_WAKE structure indicates whether a processor requires an interrupt to wake up from an idle state. |
PEP_PPM_IS_PROCESSOR_HALTED Learn how the PEP_PPM_IS_PROCESSOR_HALTED structure indicates whether the processor is currently halted in its selected idle state. |
PEP_PPM_IS_PROCESSOR_HALTED The PEP_PPM_IS_PROCESSOR_HALTED structure indicates whether the processor is currently halted in its selected idle state. |
PEP_PPM_LPI_COMPLETE Learn how the PEP_PPM_LPI_COMPLETE structure (pep_x.h) describes all the processor performance counters that the platform extension plug-in (PEP) supports for a particular processor. |
PEP_PPM_PARK_MASK Learn how the PEP_PROCESSOR_PARK_MASK structure contains the current core parking mask. |
PEP_PPM_PARK_MASK The PEP_PROCESSOR_PARK_MASK structure contains the current core parking mask. |
PEP_PPM_PARK_SELECTION Learn how the PEP_PPM_PARK_SELECTION structure indicates the preferences of the operating system and platform extension plug-in (PEP) regarding which processors in the platform should be parked to reduce power consumption. |
PEP_PPM_PARK_SELECTION The PEP_PPM_PARK_SELECTION structure indicates the preferences of the operating system and platform extension plug-in (PEP) regarding which processors in the platform should be parked to reduce power consumption. |
PEP_PPM_PARK_SELECTION_V2 Learn how the PEP_PPM_PARK_SELECTION_V2 structure indicates the preferences of the operating system and platform extension plug-in (PEP) regarding which processors in the platform should be parked to reduce power consumption. |
PEP_PPM_PARK_SELECTION_V2 The PEP_PPM_PARK_SELECTION_V2 structure indicates the preferences of the operating system and platform extension plug-in (PEP) regarding which processors in the platform should be parked to reduce power consumption. |
PEP_PPM_PERF_CHECK_COMPLETE Learn how the PEP_PPM_PERF_CHECK_COMPLETE structure is used to inform the PEP of details regarding the completion of a periodic performance check evaluation. |
PEP_PPM_PERF_CHECK_COMPLETE The PEP_PPM_PERF_CHECK_COMPLETE structure is used to inform the PEP of details regarding the completion of a periodic performance check evaluation. |
PEP_PPM_PERF_CONSTRAINTS Learn how the PEP_PPM_PERF_CONSTRAINTS structure describes the performance limits to apply to the processor. |
PEP_PPM_PERF_CONSTRAINTS The PEP_PPM_PERF_CONSTRAINTS structure describes the performance limits to apply to the processor. |
PEP_PPM_PERF_SET Learn how the PEP_PPM_PERF_SET structure specifies the new performance level that the operating system is requesting for the processor. |
PEP_PPM_PERF_SET The PEP_PPM_PERF_SET structure specifies the new performance level that the operating system is requesting for the processor. |
PEP_PPM_PERF_SET_STATE Learn how this method is used in the PEP_NOTIFY_PPM_PERF_SET notification at runtime to set the current operating performance of the processor. . |
PEP_PPM_PERF_SET_STATE Used in the PEP_NOTIFY_PPM_PERF_SET notification at runtime to set the current operating performance of the processor. . |
PEP_PPM_PLATFORM_STATE_RESIDENCIES Learn how the PEP_PPM_PLATFORM_STATE_RESIDENCIES structure contains the accumulated residency times and transition counts for the idle states that are supported by the hardware platform. |
PEP_PPM_PLATFORM_STATE_RESIDENCIES The PEP_PPM_PLATFORM_STATE_RESIDENCIES structure contains the accumulated residency times and transition counts for the idle states that are supported by the hardware platform. |
PEP_PPM_PLATFORM_STATE_RESIDENCY Learn how the PEP_PPM_PLATFORM_STATE_RESIDENCY structure specifies the accumulated residency time and transition count for a particular platform idle state. |
PEP_PPM_PLATFORM_STATE_RESIDENCY The PEP_PPM_PLATFORM_STATE_RESIDENCY structure specifies the accumulated residency time and transition count for a particular platform idle state. |
PEP_PPM_QUERY_CAPABILITIES Learn how the PEP_PPM_QUERY_CAPABILITIES structure contains information about the processor power management (PPM) capabilities of the platform extension plug-in (PEP). |
PEP_PPM_QUERY_CAPABILITIES The PEP_PPM_QUERY_CAPABILITIES structure contains information about the processor power management (PPM) capabilities of the platform extension plug-in (PEP). |
PEP_PPM_QUERY_COORDINATED_DEPENDENCY Learn how the PEP_PPM_QUERY_COORDINATED_DEPENDENCY structure describes dependencies for coordinated idle states. |
PEP_PPM_QUERY_COORDINATED_DEPENDENCY The PEP_PPM_QUERY_COORDINATED_DEPENDENCY structure describes dependencies for coordinated idle states. |
PEP_PPM_QUERY_COORDINATED_STATES Learn how the PEP_PPM_QUERY_COORDINATED_STATES structure contains information about each coordinated idle state that the platform extension plug-in (PEP) supports. |
PEP_PPM_QUERY_COORDINATED_STATES The PEP_PPM_QUERY_COORDINATED_STATES structure contains information about each coordinated idle state that the platform extension plug-in (PEP) supports. |
PEP_PPM_QUERY_DISCRETE_PERF_STATES Learn how this method is used in the PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES notification that stores the list of discrete performance states that PEP supports, if the PEP_NOTIFY_PPM_QUERY_CAPABILITIES notification indicates support for discrete performance states. . |
PEP_PPM_QUERY_DISCRETE_PERF_STATES Used in the PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES notification that stores the list of discrete performance states that PEP supports, if the PEP_NOTIFY_PPM_QUERY_CAPABILITIES notification indicates support for discrete performance states. . |
PEP_PPM_QUERY_DOMAIN_INFO Learn how this method is used in the PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO notification that queries for information about a performance domain. . |
PEP_PPM_QUERY_DOMAIN_INFO Used in the PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO notification that queries for information about a performance domain. . |
PEP_PPM_QUERY_FEEDBACK_COUNTERS Learn how the PEP_PPM_QUERY_FEEDBACK_COUNTERS structure (pep_x.h) describes all the processor performance counters that the platform extension plug-in (PEP) supports for a particular processor. |
PEP_PPM_QUERY_FEEDBACK_COUNTERS The PEP_PPM_QUERY_FEEDBACK_COUNTERS structure describes all the processor performance counters that the platform extension plug-in (PEP) supports for a particular processor. |
PEP_PPM_QUERY_IDLE_STATES The PEP_PPM_QUERY_IDLE_STATES structure describes the idle states of a particular processor. |
PEP_PPM_QUERY_IDLE_STATES_V2 Learn how the PEP_PPM_QUERY_IDLE_STATES_V2 structure is used during processor initialization to query the platform extension plug-in (PEP) for a list of processor idle states that the processor supports. |
PEP_PPM_QUERY_IDLE_STATES_V2 The PEP_PPM_QUERY_IDLE_STATES_V2 structure is used during processor initialization to query the platform extension plug-in (PEP) for a list of processor idle states that the processor supports. |
PEP_PPM_QUERY_LP_SETTINGS The PEP_PPM_QUERY_LP_SETTINGS structure contains a kernel handle to the registry key that contains the power optimization settings that the platform extension plug-in (PEP) has defined for each power scenario. |
PEP_PPM_QUERY_PERF_CAPABILITIES Learn how the PEP_PPM_QUERY_PERF_CAPABILITIES structure describes the performance capabilities of the processors in the specified processor performance domain. |
PEP_PPM_QUERY_PERF_CAPABILITIES The PEP_PPM_QUERY_PERF_CAPABILITIES structure describes the performance capabilities of the processors in the specified processor performance domain. |
PEP_PPM_QUERY_PLATFORM_STATE Learn how the PEP_PPM_QUERY_PLATFORM_STATE structure contains information about a platform idle state. |
PEP_PPM_QUERY_PLATFORM_STATE The PEP_PPM_QUERY_PLATFORM_STATE structure contains information about a platform idle state. |
PEP_PPM_QUERY_PLATFORM_STATES Learn how the PEP_PPM_QUERY_PLATFORM_STATES structure specifies the number of platform idle states the hardware platform supports. |
PEP_PPM_QUERY_PLATFORM_STATES The PEP_PPM_QUERY_PLATFORM_STATES structure specifies the number of platform idle states the hardware platform supports. |
PEP_PPM_QUERY_STATE_NAME Learn how the PEP_PPM_QUERY_STATE_NAME structure contains information about a specific coordinated or platform idle state. |
PEP_PPM_QUERY_STATE_NAME The PEP_PPM_QUERY_STATE_NAME structure contains information about a specific coordinated or platform idle state. |
PEP_PPM_QUERY_VETO_REASON Learn how the PEP_PPM_QUERY_VETO_REASON structure supplies a wide-character, null-terminated string that contains a descriptive, human-readable name for a veto reason. |
PEP_PPM_QUERY_VETO_REASON The PEP_PPM_QUERY_VETO_REASON structure supplies a wide-character, null-terminated string that contains a descriptive, human-readable name for a veto reason. |
PEP_PPM_QUERY_VETO_REASONS Learn how the PEP_PPM_QUERY_VETO_REASONS structure specifies the total number of veto reasons that the PEP uses in calls to the ProcessorIdleVeto and PlatformIdleVeto routines. |
PEP_PPM_QUERY_VETO_REASONS The PEP_PPM_QUERY_VETO_REASONS structure specifies the total number of veto reasons that the PEP uses in calls to the ProcessorIdleVeto and PlatformIdleVeto routines. |
PEP_PPM_RESUME_FROM_SYSTEM_STATE Learn how this method is used by the PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE notification that notifies the PEP that the system has just resumed from a system power state. |
PEP_PPM_RESUME_FROM_SYSTEM_STATE Used by the PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE notification that notifies the PEP that the system has just resumed from a system power state. |
PEP_PPM_TEST_IDLE_STATE Learn how the PEP_PPM_TEST_IDLE_STATE structure contains information about whether the processor can immediately enter a processor idle state. |
PEP_PPM_TEST_IDLE_STATE The PEP_PPM_TEST_IDLE_STATE structure contains information about whether the processor can immediately enter a processor idle state. |
PEP_PREPARE_DEVICE Learn how the PEP_PREPARE_DEVICE structure identifies a device that must be started up in preparation for its use by the operating system. |
PEP_PREPARE_DEVICE The PEP_PREPARE_DEVICE structure identifies a device that must be started up in preparation for its use by the operating system. |
PEP_PROCESSOR_FEEDBACK_COUNTER Learn how the PEP_PROCESSOR_FEEDBACK_COUNTER structure describes a feedback counter to the operating system. |
PEP_PROCESSOR_FEEDBACK_COUNTER The PEP_PROCESSOR_FEEDBACK_COUNTER structure describes a feedback counter to the operating system. |
PEP_PROCESSOR_IDLE_CONSTRAINTS The PEP_PROCESSOR_IDLE_CONSTRAINTS structure specifies a set of constraints that the PEP uses to select a processor idle state. |
PEP_PROCESSOR_IDLE_DEPENDENCY Learn how the PEP_PROCESSOR_IDLE_DEPENDENCY structure specifies the dependencies of a platform idle state on the specified processor. |
PEP_PROCESSOR_IDLE_DEPENDENCY The PEP_PROCESSOR_IDLE_DEPENDENCY structure specifies the dependencies of a platform idle state on the specified processor. |
PEP_PROCESSOR_IDLE_STATE The PEP_PROCESSOR_IDLE_STATE structure describes the capabilities of a processor idle state. |
PEP_PROCESSOR_IDLE_STATE_UPDATE Learn how the PEP_PROCESSOR_IDLE_STATE_UPDATE structure contains the updated properties of a processor idle state. |
PEP_PROCESSOR_IDLE_STATE_UPDATE The PEP_PROCESSOR_IDLE_STATE_UPDATE structure contains the updated properties of a processor idle state. |
PEP_PROCESSOR_IDLE_STATE_V2 Learn how the PEP_PROCESSOR_IDLE_STATE_V2 structure describes a processor idle state that the platform extension plug-in (PEP) supports. |
PEP_PROCESSOR_IDLE_STATE_V2 The PEP_PROCESSOR_IDLE_STATE_V2 structure describes a processor idle state that the platform extension plug-in (PEP) supports. |
PEP_PROCESSOR_PARK_PREFERENCE Learn how the PEP_PROCESSOR_PARK_PREFERENCE structure indicates the preferences of the operating system and platform extension plug-in (PEP) regarding whether the specified processor should be parked to reduce power consumption. |
PEP_PROCESSOR_PARK_PREFERENCE The PEP_PROCESSOR_PARK_PREFERENCE structure indicates the preferences of the operating system and platform extension plug-in (PEP) regarding whether the specified processor should be parked to reduce power consumption. |
PEP_PROCESSOR_PARK_STATE Learn how the PEP_PROCESSOR_PARK_STATE structure describes the parking state for a single processor. |
PEP_PROCESSOR_PARK_STATE The PEP_PROCESSOR_PARK_STATE structure describes the parking state for a single processor. |
PEP_PROCESSOR_PERF_STATE Learn how to use this method in the PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES notification. This structure describes the properties of a single performance state. . |
PEP_PROCESSOR_PERF_STATE Use in the PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES notification. This structure describes the properties of a single performance state. . |
PEP_QUERY_COMPONENT_PERF_CAPABILITIES Learn how the PEP_QUERY_COMPONENT_PERF_CAPABILITIES structure specifies the number of performance state (P-state) sets that are defined for a component. |
PEP_QUERY_COMPONENT_PERF_CAPABILITIES The PEP_QUERY_COMPONENT_PERF_CAPABILITIES structure specifies the number of performance state (P-state) sets that are defined for a component. |
PEP_QUERY_COMPONENT_PERF_SET Learn how the PEP_QUERY_COMPONENT_PERF_SET structure contains query information about a set of performance state values (P-state set) for a component. |
PEP_QUERY_COMPONENT_PERF_SET The PEP_QUERY_COMPONENT_PERF_SET structure contains query information about a set of performance state values (P-state set) for a component. |
PEP_QUERY_COMPONENT_PERF_SET_NAME Learn how the PEP_QUERY_COMPONENT_PERF_SET_NAME structure contains query information about a set of performance state values (P-state set) for a component. |
PEP_QUERY_COMPONENT_PERF_SET_NAME The PEP_QUERY_COMPONENT_PERF_SET_NAME structure contains query information about a set of performance state values (P-state set) for a component. |
PEP_QUERY_COMPONENT_PERF_STATES Learn how the PEP_QUERY_COMPONENT_PERF_STATES structure contains a list of discrete performance state (P-state) values for the specified P-state set. |
PEP_QUERY_COMPONENT_PERF_STATES The PEP_QUERY_COMPONENT_PERF_STATES structure contains a list of discrete performance state (P-state) values for the specified P-state set. |
PEP_QUERY_CURRENT_COMPONENT_PERF_STATE Learn how the PEP_QUERY_CURRENT_COMPONENT_PERF_STATE structure contains information about the current P-state in the specified P-state set. |
PEP_QUERY_CURRENT_COMPONENT_PERF_STATE The PEP_QUERY_CURRENT_COMPONENT_PERF_STATE structure contains information about the current P-state in the specified P-state set. |
PEP_QUERY_SOC_SUBSYSTEM Learn how the PEP_QUERY_SOC_SUBSYSTEM structure is used by the PEP_DPM_QUERY_SOC_SUBSYSTEM notification to gather basic information about a particular system on a chip (SoC) subsystem. |
PEP_QUERY_SOC_SUBSYSTEM The PEP_QUERY_SOC_SUBSYSTEM structure is used by the PEP_DPM_QUERY_SOC_SUBSYSTEM notification to gather basic information about a particular system on a chip (SoC) subsystem. |
PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME The PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME structure (pep_x.h) is used by the PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME notification to collect details about the blocking duration for a particular system on a chip (SoC) subsystem. |
PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME The PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME structure (pepfx.h) is used by the PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME notification to collect details about the blocking duration for a particular system on a chip (SoC) subsystem. |
PEP_QUERY_SOC_SUBSYSTEM_COUNT Learn how the PEP_QUERY_SOC_SUBSYSTEM_COUNT structure is used to tell the OS whether the PEP supports system on a chip (SoC) subsystem accounting for a given platform idle state. |
PEP_QUERY_SOC_SUBSYSTEM_COUNT The PEP_QUERY_SOC_SUBSYSTEM_COUNT structure is used to tell the OS whether the PEP supports system on a chip (SoC) subsystem accounting for a given platform idle state. |
PEP_QUERY_SOC_SUBSYSTEM_METADATA Learn how the PEP_QUERY_SOC_SUBSYSTEM_METADATA structure is used with the PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA notification to collect optional metadata about the system on a chip (SoC) subsystem whose blocking time has just been queried. |
PEP_QUERY_SOC_SUBSYSTEM_METADATA The PEP_QUERY_SOC_SUBSYSTEM_METADATA structure is used with the PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA notification to collect optional metadata about the system on a chip (SoC) subsystem whose blocking time has just been queried. |
PEP_REGISTER_COMPONENT_PERF_STATES Learn how the PEP_REGISTER_COMPONENT_PERF_STATES structure describes the performance states (P-states) of the specified component. |
PEP_REGISTER_COMPONENT_PERF_STATES The PEP_REGISTER_COMPONENT_PERF_STATES structure describes the performance states (P-states) of the specified component. |
PEP_REGISTER_CRASHDUMP_DEVICE Learn how the PEP_REGISTER_CRASHDUMP_DEVICE structure provides a callback routine to turn on a crash-dump device. |
PEP_REGISTER_CRASHDUMP_DEVICE The PEP_REGISTER_CRASHDUMP_DEVICE structure provides a callback routine to turn on a crash-dump device. |
PEP_REGISTER_DEBUGGER Learn how the PEP_REGISTER_DEBUGGER structure identifies a registered device that is a core system resource that provides debugger transport. |
PEP_REGISTER_DEBUGGER The PEP_REGISTER_DEBUGGER structure identifies a registered device that is a core system resource that provides debugger transport. |
PEP_REGISTER_DEVICE_V2 Learn how the PEP_REGISTER_DEVICE_V2 structure describes a device whose driver stack has just registered with the Windows power management framework (PoFx). |
PEP_REGISTER_DEVICE_V2 The PEP_REGISTER_DEVICE_V2 structure describes a device whose driver stack has just registered with the Windows power management framework (PoFx). |
PEP_REQUEST_COMPONENT_PERF_STATE Learn how the PEP_REQUEST_COMPONENT_PERF_STATE structure contains a list of performance state (P-state) changes requested by the Windows power management framework (PoFx), plus status information about the handling of these requests by the platform extension plug-in (PEP). |
PEP_REQUEST_COMPONENT_PERF_STATE The PEP_REQUEST_COMPONENT_PERF_STATE structure contains a list of performance state (P-state) changes requested by the Windows power management framework (PoFx), plus status information about the handling of these requests by the platform extension plug-in (PEP). |
PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING Learn how the PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING structure is provided to the platform extension plug-in (PEP) as part of a PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING notification. |
PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING The PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING structure is provided to the platform extension plug-in (PEP) as part of a PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING notification. |
PEP_SOC_SUBSYSTEM_METADATA Learn how the PEP_SOC_SUBSYSTEM_METADATA structure contains key-value pairs that contain metadata for a system on a chip (SoC) subsystem. It is used in the context of a PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA notification sent to a platform extension plug-in (PEP). |
PEP_SOC_SUBSYSTEM_METADATA The PEP_SOC_SUBSYSTEM_METADATA structure contains key-value pairs that contain metadata for a system on a chip (SoC) subsystem. It is used in the context of a PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA notification sent to a platform extension plug-in (PEP). |
PEP_SYSTEM_LATENCY Learn how the PEP_SYSTEM_LATENCY structure specifies the new value for the system latency tolerance. |
PEP_SYSTEM_LATENCY The PEP_SYSTEM_LATENCY structure specifies the new value for the system latency tolerance. |
PEP_UNMASKED_INTERRUPT_FLAGS Learn how the PEP_UNMASKED_INTERRUPT_FLAGS union indicates whether an unmasked interrupt source is a primary interrupt or a secondary interrupt. |
PEP_UNMASKED_INTERRUPT_FLAGS The PEP_UNMASKED_INTERRUPT_FLAGS union indicates whether an unmasked interrupt source is a primary interrupt or a secondary interrupt. |
PEP_UNMASKED_INTERRUPT_INFORMATION Learn how the PEP_UNMASKED_INTERRUPT_INFORMATION structure contains information about an interrupt source. |
PEP_UNMASKED_INTERRUPT_INFORMATION The PEP_UNMASKED_INTERRUPT_INFORMATION structure contains information about an interrupt source. |
PEP_UNREGISTER_DEVICE Learn how the PEP_UNREGISTER_DEVICE structure identifies a device whose registration is being removed from the Windows power management framework (PoFx). |
PEP_UNREGISTER_DEVICE The PEP_UNREGISTER_DEVICE structure identifies a device whose registration is being removed from the Windows power management framework (PoFx). |
PEP_WORK Learn how the PEP_WORK structure indicates whether the PEP has a work request to submit to the Windows power management framework (PoFx). |
PEP_WORK The PEP_WORK structure indicates whether the PEP has a work request to submit to the Windows power management framework (PoFx). |
PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE Learn how the PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE structure contains the results of an ACPI control method that was asynchronously evaluated by the platform extension plug-in (PEP). |
PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE The PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE structure contains the results of an ACPI control method that was asynchronously evaluated by the platform extension plug-in (PEP). |
PEP_WORK_ACPI_NOTIFY Learn how the PEP_WORK_ACPI_NOTIFY structure contains the ACPI Notify code for a device that has generated a hardware event. |
PEP_WORK_ACPI_NOTIFY The PEP_WORK_ACPI_NOTIFY structure contains the ACPI Notify code for a device that has generated a hardware event. |
PEP_WORK_ACTIVE_COMPLETE The PEP_WORK_ACTIVE_COMPLETE structure identifies a component that is now in the active condition. |
PEP_WORK_COMPLETE_IDLE_STATE Learn how the PEP_WORK_COMPLETE_IDLE_STATE structure identifies a component that the platform extension plug-in (PEP) has prepared for a transition to a new Fx power state. |
PEP_WORK_COMPLETE_IDLE_STATE The PEP_WORK_COMPLETE_IDLE_STATE structure identifies a component that the platform extension plug-in (PEP) has prepared for a transition to a new Fx power state. |
PEP_WORK_COMPLETE_PERF_STATE Learn how the PEP_WORK_COMPLETE_PERF_STATE structure describes the completion status of a previously requested update to the performance values assigned to a list of performance state (P-state) sets. |
PEP_WORK_COMPLETE_PERF_STATE The PEP_WORK_COMPLETE_PERF_STATE structure describes the completion status of a previously requested update to the performance values assigned to a list of performance state (P-state) sets. |
PEP_WORK_DEVICE_IDLE The PEP_WORK_DEVICE_IDLE structure indicates whether to ignore the idle time-out for the specified device. |
PEP_WORK_DEVICE_POWER The PEP_WORK_DEVICE_POWER structure describes the new power requirements for the specified device. |
PEP_WORK_IDLE_STATE The PEP_WORK_IDLE_STATE structure contains a request to transition a component to an Fx power state. |
PEP_WORK_INFORMATION Learn how the PEP_WORK_INFORMATION structure describes a work item that the PEP is submitting to the Windows power management framework (PoFx). |
PEP_WORK_INFORMATION The PEP_WORK_INFORMATION structure describes a work item that the PEP is submitting to the Windows power management framework (PoFx). |
PEP_WORK_POWER_CONTROL Learn how the PEP_WORK_POWER_CONTROL structure contains the parameters for a power control request that the platform extension plug-in (PEP) sends directly to a processor driver. |
PEP_WORK_POWER_CONTROL The PEP_WORK_POWER_CONTROL structure contains the parameters for a power control request that the platform extension plug-in (PEP) sends directly to a processor driver. |
PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION The PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION structure describes the configuration for event buffers on the platform. |
PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR The PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR structure describes the counter resources available on the platform. |
PHYSICAL_COUNTER_RESOURCE_LIST The PHYSICAL_COUNTER_RESOURCE_LIST structure describes an array of PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR structures. |
PLUGPLAY_NOTIFICATION_HEADER A PLUGPLAY_NOTIFICATION_HEADER structure is included at the beginning of each PnP notification structure, such as a DEVICE_INTERFACE_CHANGE_NOTIFICATION structure. |
PNP_BUS_INFORMATION The PNP_BUS_INFORMATION structure describes a bus. |
PNP_LOCATION_INTERFACE The PNP_LOCATION_INTERFACE structure describes the GUID_PNP_LOCATION_INTERFACE interface. |
PO_FX_COMPONENT_IDLE_STATE The PO_FX_COMPONENT_IDLE_STATE structure specifies the attributes of an Fx power state of a component in a device. |
PO_FX_COMPONENT_PERF_INFO The PO_FX_COMPONENT_PERF_INFO structure describes all the sets of performance states for a single component within a device. |
PO_FX_COMPONENT_PERF_SET The PO_FX_COMPONENT_PERF_SET structure represents a set of performance states for a single component within a device. |
PO_FX_COMPONENT_V1 The PO_FX_COMPONENT structure describes the power state attributes of a component in a device. |
PO_FX_COMPONENT_V2 Learn how the PO_FX_COMPONENT structure describes the power state attributes of a component in a device. |
PO_FX_CORE_DEVICE Learn how the PO_FX_CORE_DEVICE structure contains information about the power-state attributes of the components in a core system resource, and provides a software interface for power-managing these components. |
PO_FX_CORE_DEVICE The PO_FX_CORE_DEVICE structure contains information about the power-state attributes of the components in a core system resource, and provides a software interface for power-managing these components. |
PO_FX_DEVICE_V1 The PO_FX_DEVICE structure describes the power attributes of a device to the power management framework (PoFx). |
PO_FX_DEVICE_V2 Learn how the PO_FX_DEVICE structure describes the power attributes of a device to the power management framework (PoFx). |
PO_FX_DEVICE_V3 Learn more about: PO_FX_DEVICE_V3 structure |
PO_FX_PERF_STATE The PO_FX_PERF_STATE structure represents a performance state for a single component within a device. |
PO_FX_PERF_STATE_CHANGE The PO_FX_PERF_STATE_CHANGE structure contains information about a change to a performance state that is being requested by calling the PoFxIssueComponentPerfStateChange or PoFxIssueComponentPerfStateChangeMultiple routine. |
PO_SPR_ACTIVE_SESSION_DATA Allow drivers to register/unregister for SPR Active session start and end notifications. |
POOL_CREATE_EXTENDED_PARAMS Defines the POOL_CREATE_EXTENDED_PARAMS structure. |
POOL_EXTENDED_PARAMETER Learn more about: POOL_EXTENDED_PARAMETER |
POOL_EXTENDED_PARAMS_SECURE_POOL Defines the POOL_EXTENDED_PARAMS_SECURE_POOL structure. |
POWER_MONITOR_INVOCATION |
POWER_PLATFORM_INFORMATION The POWER_PLATFORM_INFORMATION structure contains information about the power capabilities of the system. |
POWER_PLATFORM_INFORMATION Learn how the POWER_PLATFORM_INFORMATION structure contains information about the power capabilities of the system. |
POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES Learn more about POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES |
POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES Learn more about: POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES structure (wdm.h) |
POWER_STATE The POWER_STATE union specifies a system power state value or a device power state value. |
POWER_STATE Learn how the POWER_STATE union specifies a system power state value or a device power state value. |
POWER_THROTTLING_PROCESS_STATE Stores the throttling policies and how to apply them to a target process when that process is subject to power management. |
POWER_THROTTLING_THREAD_STATE Stores the throttling policies and how to apply them to a target thread when that thread is subject to power management. |
PRIVILEGE_SET The PRIVILEGE_SET structure specifies a set of security privileges. |
PRM_INTERFACE Provides a set of pointers to functions that control the operation of a PRM interface. |
PROCESS_MEMBERSHIP_INFORMATION This topic describes the PROCESS_MEMBERSHIP_INFORMATION structure. |
PROCESS_MITIGATION_CHILD_PROCESS_POLICY Stores policy information about creating child processes. |
PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY Stores information about process mitigation policy. |
PROCESS_MITIGATION_SEHOP_POLICY Describes the PROCESS_MITIGATION_SEHOP_POLICY structure. |
PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY This structure is not supported. |
PROCESS_MITIGATION_USER_POINTER_AUTH_POLICY This topic describes the PROCESS_MITIGATION_USER_POINTER_AUTH_POLICY structure. |
PROCESS_SYSCALL_PROVIDER_INFORMATION Describes the PROCESS_SYSCALL_PROVIDER_INFORMATION structure. |
PROCESSOR_NUMBER The _PROCESSOR_NUMBER structure (miniport.h) identifies a processor by its group number and group-relative processor number. |
PS_CREATE_NOTIFY_INFO The PS_CREATE_NOTIFY_INFO structure provides information about a newly created process. |
PTM_CONTROL_INTERFACE Reserved for PTM_CONTROL_INTERFACE. Do not use. |
REENUMERATE_SELF_INTERFACE_STANDARD The REENUMERATE_SELF_INTERFACE_STANDARD interface structure enables a driver to request that its parent bus driver reenumerate the driver's device. This structure defines the GUID_REENUMERATE_SELF_INTERFACE_STANDARD interface. |
REG_CALLBACK_CONTEXT_CLEANUP_INFORMATION The REG_CALLBACK_CONTEXT_CLEANUP_INFORMATION structure contains information that a driver's RegistryCallback routine can use to free resources that the driver previously allocated for the context that is associated with a registry object. |
REG_CREATE_KEY_INFORMATION Obsolete, use REG_CREATE_KEY_INFORMATION_V1 instead. The REG_CREATE_KEY_INFORMATION structure contains information that a driver's RegistryCallback routine can use when a registry key that is being created. |
REG_CREATE_KEY_INFORMATION_V1 The REG_CREATE_KEY_INFORMATION_V1 structure contains information that a filter driver's RegistryCallback routine can use when a registry key is being created. |
REG_DELETE_KEY_INFORMATION The REG_DELETE_KEY_INFORMATION structure contains information that a driver's RegistryCallback routine can use when a registry key is being deleted. |
REG_DELETE_VALUE_KEY_INFORMATION The REG_DELETE_VALUE_KEY_INFORMATION structure contains information that a driver's RegistryCallback routine can use when a registry key's value is being deleted. |
REG_ENUMERATE_KEY_INFORMATION The REG_ENUMERATE_KEY_INFORMATION structure describes one subkey of a key whose subkeys are being enumerated. |
REG_ENUMERATE_VALUE_KEY_INFORMATION The REG_ENUMERATE_VALUE_KEY_INFORMATION structure describes one value entry of a key whose value entries are being enumerated. |
REG_KEY_HANDLE_CLOSE_INFORMATION The REG_KEY_HANDLE_CLOSE_INFORMATION structure contains information about a registry key whose handle is about to be closed. |
REG_LOAD_KEY_INFORMATION The REG_LOAD_KEY_INFORMATION structure contains information about a registry hive that is being loaded. |
REG_LOAD_KEY_INFORMATION_V2 The REG_LOAD_KEY_INFORMATION_V2 structure contains information about a registry hive that is being loaded. |
REG_POST_CREATE_KEY_INFORMATION The REG_POST_CREATE_KEY_INFORMATION structure contains the result of an attempt to create a registry key. |
REG_POST_OPERATION_INFORMATION The REG_POST_OPERATION_INFORMATION structure contains information about a completed registry operation that a RegistryCallback routine can use. |
REG_PRE_CREATE_KEY_INFORMATION The REG_PRE_OPEN_KEY_INFORMATION structure contains the name of a registry key that is about to be opened. |
REG_QUERY_KEY_INFORMATION The REG_QUERY_KEY_INFORMATION structure describes the metadata that is about to be queried for a key. |
REG_QUERY_KEY_NAME The REG_QUERY_KEY_NAME structure describes the full registry key name of an object being queried. |
REG_QUERY_KEY_SECURITY_INFORMATION The REG_QUERY_KEY_SECURITY_INFORMATION structure receives security information for a registry key object. |
REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION The REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION structure describes the multiple value entries that are being retrieved for a key. |
REG_QUERY_VALUE_KEY_INFORMATION The REG_QUERY_VALUE_KEY_INFORMATION structure contains information about a registry key's value entry that is being queried. |
REG_RENAME_KEY_INFORMATION The REG_RENAME_KEY_INFORMATION structure contains the new name for a registry key whose name is about to be changed. |
REG_REPLACE_KEY_INFORMATION The REG_REPLACE_KEY_INFORMATION structure describes the metadata that is about to be replaced for a key. |
REG_RESTORE_KEY_INFORMATION The REG_RESTORE_KEY_INFORMATION structure contains the information for a registry key that is about to be restored. |
REG_SAVE_KEY_INFORMATION The REG_SAVE_KEY_INFORMATION structure contains the information for a registry key that is about to be saved. |
REG_SAVE_MERGED_KEY_INFORMATION Defines the REG_SAVE_MERGED_KEY_INFORMATION structure. |
REG_SET_INFORMATION_KEY_INFORMATION The REG_SET_INFORMATION_KEY_INFORMATION structure describes a new setting for a key's metadata. |
REG_SET_KEY_SECURITY_INFORMATION The REG_SET_KEY_SECURITY_INFORMATION structure specifies security information for a registry key object. |
REG_SET_VALUE_KEY_INFORMATION The REG_SET_VALUE_INFORMATION structure describes a new setting for a registry key's value entry. |
REG_UNLOAD_KEY_INFORMATION The REG_UNLOAD_KEY_INFORMATION structure contains information that a driver's RegistryCallback routine can use when a registry hive is unloaded. |
RESOURCEMANAGER_BASIC_INFORMATION The RESOURCEMANAGER_BASIC INFORMATION structure contains information about a resource manager object. |
RESOURCEMANAGER_COMPLETION_INFORMATION The RESOURCEMANAGER_COMPLETION_INFORMATION structure is not used. |
SCATTER_GATHER_LIST The SCATTER_GATHER_LIST structure describes the scatter/gather list for a DMA operation. |
SDEV_IDENTIFIER_INTERFACE This placeholder topic is provided as an example of documentation that may be included in a later release. This material is not yet available. |
SECTION_OBJECT_POINTERS The SECTION_OBJECT_POINTERS structure, allocated by a file system or a redirector driver, is used by the memory manager and cache manager to store file-mapping and cache-related information for a file stream. |
SET_POWER_SETTING_VALUE This topic describes the SET_POWER_SETTING_VALUE structure. |
SIGNAL_REG_VALUE This topic describes the SIGNAL_REG_VALUE structure. |
SILO_MONITOR_REGISTRATION This structure specifies a server silo monitor that can receive notifications about server silo events. |
SLIST_ENTRY An SLIST_ENTRY structure describes an entry in a sequenced singly linked list. |
SYSENV_VALUE Stores the value of a system environment variable using SysEnv device. This structure is used in the IOCTL_SYSENV_GET_VARIABLE request. |
SYSENV_VARIABLE Stores the name a system environment variable using SysEnv device. This structure is used in the IOCTL_SYSENV_GET_VARIABLE request. |
SYSENV_VARIABLE_INFO Stores the information about a system environment variable using SysEnv device. This structure is used in the IOCTL_SYSENV_QUERY_VARIABLE_INFO request. |
SYSTEM_POOL_ZEROING_INFORMATION Microsoft reserves the SYSTEM_POOL_ZEROING_INFORMATION structure for internal use only. Don't use this structure in your code. |
SYSTEM_POWER_STATE_CONTEXT The SYSTEM_POWER_STATE_CONTEXT structure is a partially opaque system structure that contains information about the previous system power states of a computer. |
SYSTEM_POWER_STATE_CONTEXT Learn how the SYSTEM_POWER_STATE_CONTEXT structure is a partially opaque system structure that contains information about the previous system power states of a computer. |
TARGET_DEVICE_CUSTOM_NOTIFICATION The TARGET_DEVICE_CUSTOM_NOTIFICATION structure describes a custom device event. |
TARGET_DEVICE_REMOVAL_NOTIFICATION The TARGET_DEVICE_REMOVAL_NOTIFICATION structure describes a device-removal event. The PnP manager sends this structure to a driver that registered a callback routine for notification of EventCategoryTargetDeviceChange events. |
TIME_FIELDS The TIME_FIELDS structure describes time information for time conversion routines. |
TRANSACTION_BASIC_INFORMATION The TRANSACTION_BASIC_INFORMATION structure contains information about a transaction object. |
TRANSACTION_ENLISTMENT_PAIR The TRANSACTION_ENLISTMENT_PAIR structure contains information about an enlistment that is associated with a transaction object. |
TRANSACTION_ENLISTMENTS_INFORMATION The TRANSACTION_ENLISTMENTS_INFORMATION structure contains information about the enlistments that are associated with a transaction object. |
TRANSACTION_PROPERTIES_INFORMATION The TRANSACTION_PROPERTIES_INFORMATION structure contains a transaction object's properties. |
TRANSACTIONMANAGER_BASIC_INFORMATION The TRANSACTIONMANAGER_BASIC_INFORMATION structure contains information about a transaction manager object. |
TRANSACTIONMANAGER_LOG_INFORMATION The TRANSACTIONMANAGER_LOG_INFORMATION structure contains information about a transaction manager object. |
TRANSACTIONMANAGER_LOGPATH_INFORMATION The TRANSACTIONMANAGER_LOGPATH_INFORMATION structure contains information about a transaction manager object. |
TRANSACTIONMANAGER_RECOVERY_INFORMATION The TRANSACTIONMANAGER_RECOVERY_INFORMATION structure contains information about a transaction manager object. |
WAIT_CONTEXT_BLOCK Reserved for WAIT_CONTEXT_BLOCK. Do not use. |
WHEA_ACPI_HEADER This topic describes the WHEA_ACPI_HEADER structure. |
WHEA_ERROR_SOURCE_OVERRIDE_SETTINGS This topic describes the WHEA_ERROR_SOURCE_OVERRIDE_SETTINGS structure. |
WHEA_FAILED_ADD_DEFECT_LIST_EVENT This topic describes the WHEA_FAILED_ADD_DEFECT_LIST_EVENT structure. |
WHEA_PCI_RECOVERY_SECTION Describes the WHEA_PCI_RECOVERY_SECTION structure. |
WHEA_PSHED_PI_CPU_BUSES_INIT_FAILED_EVENT This topic describes the WHEA_PSHED_PI_CPU_BUSES_INIT_FAILED_EVENT structure. |
WHEA_PSHED_PLUGIN_INIT_FAILED_EVENT This topic describes the WHEA_PSHED_PLUGIN_INIT_FAILED_EVENT structure. |
WHEA_SEA_SECTION This topic describes the WHEA_SEA_SECTION structure. |
WHEA_SEI_SECTION This topic describes the WHEA_SEI_SECTION structure. |
WHEA_SRAS_TABLE_ENTRIES_EVENT This topic describes the WHEA_SRAS_TABLE_ENTRIES_EVENT structure. |
WHEA_SRAS_TABLE_ERROR This topic describes the WHEA_SRAS_TABLE_ERROR structure. |
WHEA_SRAS_TABLE_NOT_FOUND This topic describes the WHEA_SRAS_TABLE_NOT_FOUND structure. |
WHEAP_BAD_HEST_NOTIFY_DATA_EVENT This topic describes the WHEAP_BAD_HEST_NOTIFY_DATA_EVENT structure. |
WHEAP_DPC_ERROR_EVENT This topic describes the WHEAP_DPC_ERROR_EVENT structure. |
WHEAP_PLUGIN_DEFECT_LIST_CORRUPT This topic describes the WHEAP_PLUGIN_DEFECT_LIST_CORRUPT structure. |
WHEAP_PLUGIN_DEFECT_LIST_FULL_EVENT This topic describes the WHEAP_PLUGIN_DEFECT_LIST_FULL_EVENT structure. |
WHEAP_PLUGIN_DEFECT_LIST_UEFI_VAR_FAILED This topic describes the WHEAP_PLUGIN_DEFECT_LIST_UEFI_VAR_FAILED structure. |
WHEAP_ROW_FAILURE_EVENT This topic describes the WHEAP_ROW_FAILURE_EVENT structure. |
WMIGUIDREGINFO The WMIGUIDREGINFO structure contains registration information for a given data block or event block exposed by a driver that uses the WMI library support routines. |
WMILIB_CONTEXT The WMILIB_CONTEXT structure provides registration information for a driver's data blocks and event blocks and defines entry points for the driver's WMI library callback routines. |
WMIREGGUIDW The WMIREGGUID structure contains new or updated registration information for a data block or event block. |
WMIREGINFOW The WMIREGINFO structure contains information provided by a driver to register or update its data blocks and event blocks. |
WNODE_ALL_DATA The WNODE_ALL_DATA structure contains data for all instances of a data block or event block. |
WNODE_EVENT_ITEM The WNODE_EVENT_ITEM structure contains data generated by a driver for an event. |
WNODE_EVENT_REFERENCE The WNODE_EVENT_REFERENCE structure contains information that WMI can use to query for an event that exceeds the event size limit set in the registry. |
WNODE_HEADER The WNODE_HEADER structure is the first member of all other WNODE_XXX structures. It contains information common to all such structures. |
WNODE_METHOD_ITEM The WNODE_METHOD_ITEM structure indicates a method associated with an instance of a data block and contains any input data for the method. |
WNODE_SINGLE_INSTANCE The WNODE_SINGLE_INSTANCE structure contains values for all data items in one instance of a data block. |
WNODE_SINGLE_ITEM The WNODE_SINGLE_ITEM structure contains the value of a single data item in an instance of a data block. |
WNODE_TOO_SMALL The WNODE_TOO_SMALL structure indicates the size of the buffer needed to receive output from a request. |
XSAVE_CET_U_FORMAT Format for CET_U XSTATE component. |
XVARIABLE_NAME Stores the name of a system environment variable using SysEnv device. This structure is used in the IOCTL_SYSENV_ENUM_VARIABLES request. |
XVARIABLE_NAME_AND_VALUE Stores the name and value of a system environment variable using SysEnv device. This structure is used in the IOCTL_SYSENV_ENUM_VARIABLES and IOCTL_SYSENV_SET_VARIABLE requests. |