[이 함수는 추가 공지 없이 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
SubordinateObjects 매개 변수에 제공된 키 개체의 수입니다. 이 매개 변수는 1이어야 합니다.
[in, optional] SubordinateObjects
각 키에 대해 하나씩 OBJECT_ATTRIBUTES 구조의 배열에 대한 포인터입니다. 이 배열은 하나의 OBJECT_ATTRIBUTES 구조를 포함할 수 있으며 MasterKeyHandle 키와 동일한 하이브의 키가 아니어야 합니다.
[in, optional] Event
호출자가 만든 이벤트에 대한 핸들입니다. Event가 NULL이 아니면 호출자는 작업이 성공할 때까지 대기하며, 이때 이벤트가 신호를 수신합니다.
[in, optional] ApcRoutine
호출자가 제공하는 APC(비동기 프로시저 호출) 함수에 대한 포인터입니다. ApcRoutine이 NULL이 아니면 작업이 완료된 후 지정된 APC 함수가 실행됩니다. ZwNotifyChangeMultipleKeys 변형에서 ApcRoutine 대신 WORK_QUEUE_ITEM 제공해야 합니다.
[in, optional] ApcContext
APC 함수에 대해 호출자가 제공하는 컨텍스트에 대한 포인터입니다. 이 값은 APC 함수가 실행될 때 전달됩니다. 비동기 매개 변수는 TRUE여야 합니다. ApcContext가 지정된 경우 이벤트 매개 변수는 NULL이어야 합니다. ZwNotifyChangeMultipleKeys 변형에서 ApcContext 대신 WORK_QUEUE_TYPE 제공해야 합니다.
[out] IoStatusBlock
작업에 대한 최종 상태 및 정보를 포함하는 IO_STATUS_BLOCK 구조체에 대한 포인터입니다. 데이터를 반환하는 성공적인 호출의 경우 Buffer 매개 변수에 기록된 바이트 수가 IO_STATUS_BLOCK 구조의 정보 멤버에 제공됩니다.
[in] CompletionFilter
알림을 트리거하는 작업의 비트맵입니다. 이 매개 변수는 다음 플래그 중 하나 이상일 수 있습니다.
[in] WatchTree
이 매개 변수가 TRUE이면 지정된 키의 모든 하위 키에 대한 변경 내용에 대한 알림이 호출자에게 표시됩니다. 이 매개 변수가 FALSE이면 호출자에게 지정된 키의 변경 내용에 대해서만 알림을 받습니다.
[out, optional] Buffer
시스템 사용 전용입니다. 이 매개 변수는 NULL 합니다.
[in] BufferSize
시스템 사용 전용입니다. 이 매개 변수는 0이어야 합니다.
[in] Asynchronous
이 매개 변수가 TRUE이면 함수가 즉시 반환됩니다. 이 매개 변수가 FALSE이면 지정된 이벤트가 발생할 때까지 함수가 반환되지 않습니다.
반환 값
NTSTATUS 또는 오류 코드를 반환합니다.
비동기 매개 변수가 TRUE이고 지정된 이벤트가 아직 발생하지 않은 경우 함수는 STATUS_PENDING 반환합니다.
NTSTATUS 오류 코드의 양식과 중요성은 WDK에서 사용할 수 있는 Ntstatus.h 헤더 파일에 나열되며 WDK 설명서에 설명되어 있습니다.
비고
이 함수에는 연결된 헤더 파일이 없습니다. LoadLibrary 및 GetProcAddress 함수를 사용하여 Ntdll.dll동적으로 연결할 수도 있습니다.
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 대상 플랫폼 | 윈도우즈 |
| 헤더 | winternl.h |
| 라이브러리 | ntdll.lib |
| DLL | ntdll.dll |