cmRegisterCallbackEx 函式 (wdm.h)

CmRegisterCallbackEx 例程會註冊 RegistryCallback 例程。

語法

NTSTATUS CmRegisterCallbackEx(
  [in]           PEX_CALLBACK_FUNCTION Function,
  [in]           PCUNICODE_STRING      Altitude,
  [in]           PVOID                 Driver,
  [in, optional] PVOID                 Context,
  [out]          PLARGE_INTEGER        Cookie,
                 PVOID                 Reserved
);

參數

[in] Function

要註冊之 RegistryCallback 例程的指標。

[in] Altitude

UNICODE_STRING 結構的指標。 這個結構必須包含代表呼叫迷你篩選驅動程式高度的字串。 如需詳細資訊,請參閱<備註>。

[in] Driver

表示驅動程式之DRIVER_OBJECT結構的指標。

[in, optional] Context

驅動程式定義的值,組態管理員會將回 呼Context 參數傳遞至 RegistryCallback 例程。

[out] Cookie

接收可識別回呼例程之值的LARGE_INTEGER變數指標。 當您取消註冊回呼例程時,請將此值當做 Cookie 參數傳遞至 CmUnRegisterCallback

Reserved

這個參數保留給未來使用。

傳回值

如果作業成功,CmRegisterCallbackEx 會傳回STATUS_SUCCESS。 否則,此例程可能會傳回下列其中一個 NTSTATUS 值:

傳回碼 Description
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
呼叫驅動程式或其他驅動程序已經為指定的高度註冊 RegistryCallback 例程。
STATUS_INSUFFICIENT_RESOURCES
嘗試配置記憶體失敗。

備註

從 Windows Vista 開始, 可以使用 CmRegisterCallbackEx 例程。

驅動程式可以呼叫 CmRegisterCallbackCmRegisterCallbackEx 來註冊 RegistryCallback 例程,每次線程在登錄上執行作業時都會呼叫此例程。

在載入迷你篩選時, 「高度 」參數會定義迷你篩選驅動程式相對於 I/O 堆疊中其他迷你篩選程式的位置。 將高度配置給迷你篩選是由 Microsoft 管理。 如需高度的詳細資訊,請參閱 載入順序群組和迷你篩選驅動程式的高度

呼叫 CmUnRegisterCallback 以取消註冊 CmRegisterCallbackEx 註冊的回呼例程。

如需 CmRegisterCallbackEx 和篩選登錄作業的詳細資訊,請參閱 篩選登錄呼叫

規格需求

需求
最低支援的用戶端 從 Windows Vista 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <=APC_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) IrqlExApcLte2 (wdm)

另請參閱

CmRegisterCallback

CmUnRegisterCallback

DRIVER_OBJECT

RegistryCallback

UNICODE_STRING