共用方式為


CmSetCallbackObjectContext 函式 (wdm.h)

CmSetCallbackObjectContext 例程會將新的內容資訊與指定的登錄物件和回呼例程產生關聯。

語法

NTSTATUS CmSetCallbackObjectContext(
  [in, out]       PVOID          Object,
  [in]            PLARGE_INTEGER Cookie,
  [in]            PVOID          NewContext,
  [out, optional] PVOID          *OldContext
);

參數

[in, out] Object

驅動程式提供內容資訊的登錄機碼物件的指標。 驅動程式會從下列其中一個結構的 ResultObject 成員取得此指標:

[in] Cookie

LARGE_INTEGER值的指標,識別要與內容產生關聯的回呼例程。 當您註冊回呼例程時,CmRegisterCallbackEx 例程會提供此值。

[in] NewContext

驅動程式定義內容資訊的指標。

[out, optional] OldContext

位置的指標,接收驅動程式先前與指定物件和 Cookie 相關聯之內容資訊的指標。 這個參數是選擇性的,而且可以 NULL

傳回值

CmSetCallbackObjectContext 會傳回STATUS_SUCCESS或其他適當的 NTSTATUS類型值。

言論

從 Windows Vista 開始,CmSetCallbackObjectContext 例程可供使用。

驅動程式的 RegistryCallback 例程可以在建立或開啟對象之後,針對任何登錄機碼物件呼叫 CmSetCallbackObjectContext (也就是在建立作業的通知后通知期間、開啟作業或任何後續的通知,至句柄關閉的前置通知)。

如果驅動程式呼叫 CmSetCallbackObjectContext,驅動程式的 RegistryCallback 例程將會收到 RegNtCallbackObjectContextCle 在索引鍵物件的句柄關閉或驅動程式呼叫 CmUnRegisterCallback 以取消註冊 RegistryCallback 例程之後, 通知。 當 RegistryCallback 例程收到此通知時,例程應該釋放為對象內容配置的任何資源。

如果在 RegNtCallbackObjectContextCleanup 通知之前呼叫 CmSetCallbackObjectContextContextOldContext 仍可透過 RegistryCallback 來參考,以接收另一個通知。 OldContext 不應該在 RegNtCallbackObjectContextCleanup 通知之前發行。

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

要求

要求 價值
最低支援的用戶端 從 Windows Vista 開始提供。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback