NtNotifyChangeMultipleKeys 函式 (winternl.h)
[此函式可能會從 Windows 變更或移除,而不需進一步通知。 ]
當登錄機碼或任何子機碼變更時,要求通知。
語法
__kernel_entry NTSTATUS NtNotifyChangeMultipleKeys(
[in] HANDLE MasterKeyHandle,
[in, optional] ULONG Count,
[in, optional] OBJECT_ATTRIBUTES [] SubordinateObjects,
[in, optional] HANDLE Event,
[in, optional] PIO_APC_ROUTINE ApcRoutine,
[in, optional] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] ULONG CompletionFilter,
[in] BOOLEAN WatchTree,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[in] BOOLEAN Asynchronous
);
參數
[in] MasterKeyHandle
開啟金鑰的句柄。 必須以 KEY_NOTIFY 訪問許可權開啟句柄。
[in, optional] Count
MasterKeyHandle 參數所指定之索引鍵底下的子機碼數目。 此參數必須是 1。
[in, optional] SubordinateObjects
OBJECT_ATTRIBUTES 結構的陣列指標,每個子機碼各一個。 此陣列可以包含一 個OBJECT_ATTRIBUTES 結構。
[in, optional] Event
呼叫端所建立之事件的句柄。 如果 Event 不是 NULL,則呼叫端會等到作業成功,此時事件會發出訊號。
[in, optional] ApcRoutine
異步過程調用的指標, (呼叫端所提供的 APC) 函式。 如果 ApcRoutine 不是 NULL,指定的 APC 函式會在作業完成之後執行。
[in, optional] ApcContext
呼叫端為其 APC 函式提供之內容的指標。 此值會在執行時傳遞至 APC 函式。 異步參數必須是TRUE。 如果指定了 ApcContext,Event 參數必須是 NULL。
[out] IoStatusBlock
包含作業最終狀態和相關信息 之IO_STATUS_BLOCK 結構的指標。 對於傳回數據的成功呼叫,寫入 Buffer 參數的位元元組數目會在 IO_STATUS_BLOCK 結構的信息成員中提供。
[in] CompletionFilter
觸發通知之作業的點陣圖。 此參數可以是下列一或多個旗標。
[in] WatchTree
如果此參數為 TRUE,則呼叫端會收到所指定索引鍵之所有子機碼變更的通知。 如果此參數為 FALSE,則呼叫端只會收到指定金鑰變更的通知。
[out, optional] Buffer
保留供系統使用。 此參數必須是 NULL。
[in] BufferSize
保留供系統使用。 此參數必須是零。
[in] Asynchronous
如果此參數為 TRUE,函式會立即傳回。 如果此參數為 FALSE,則函式不會在發生指定的事件之前傳回。
傳回值
傳回 NTSTATUS 或錯誤碼。
如果 異步 參數為 TRUE ,而且尚未發生指定的事件,則函式會 傳回STATUS_PENDING。
NTSTATUS 錯誤碼的表單和重要性會列在 WDK 中提供的 Ntstatus.h 頭檔中,並在 WDK 檔中說明。
備註
此函式沒有相關聯的頭檔。 您也可以使用 LoadLibrary 和 GetProcAddress 函式,動態連結至 Ntdll.dll。
規格需求
目標平台 | Windows |
標頭 | winternl.h |
程式庫 | ntdll.lib |
Dll | ntdll.dll |