CmRegisterCallbackEx function (wdm.h)
The CmRegisterCallbackEx routine registers a RegistryCallback routine.
Syntax
NTSTATUS CmRegisterCallbackEx(
[in] PEX_CALLBACK_FUNCTION Function,
[in] PCUNICODE_STRING Altitude,
[in] PVOID Driver,
[in, optional] PVOID Context,
[out] PLARGE_INTEGER Cookie,
PVOID Reserved
);
Parameters
[in] Function
A pointer to the RegistryCallback routine to register.
[in] Altitude
A pointer to a UNICODE_STRING structure. This structure must contain a string that represents the altitude of the calling minifilter driver. For more information, see Remarks.
[in] Driver
A pointer to the DRIVER_OBJECT structure that represents the driver.
[in, optional] Context
A driver-defined value that the configuration manager will pass as the CallbackContext parameter to the RegistryCallback routine.
[out] Cookie
A pointer to a LARGE_INTEGER variable that receives the value that identifies the callback routine. When you unregister the callback routine, pass this value as the Cookie parameter to CmUnRegisterCallback.
Reserved
This parameter is reserved for future use.
Return value
CmRegisterCallbackEx returns STATUS_SUCCESS if the operation succeeds. Otherwise, this routine might return one of the following NTSTATUS values:
Return code | Description |
---|---|
|
The calling driver or another driver has already registered a RegistryCallback routine for the specified altitude. |
|
An attempt to allocate memory failed. |
Remarks
The CmRegisterCallbackEx routine is available starting with Windows Vista.
A driver can call CmRegisterCallback or CmRegisterCallbackEx to register a RegistryCallback routine, which is called every time a thread performs an operation on the registry.
The Altitude parameter defines the position of the minifilter driver relative to other minifilters in the I/O stack when the minifilter is loaded. Allocation of altitudes to minifilters is managed by Microsoft. For more information about altitudes, see Load Order Groups and Altitudes for Minifilter Drivers.
Call CmUnRegisterCallback to unregister a callback routine that CmRegisterCallbackEx registered.
For more information about CmRegisterCallbackEx and filtering registry operations, see Filtering Registry Calls.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows Vista. |
Target Platform | Universal |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
DDI compliance rules | HwStorPortProhibitedDDIs(storport), IrqlExApcLte2(wdm) |