다음을 통해 공유


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

호출자가 만든 이벤트에 대한 핸들입니다. EventNULL이 아닌 경우 호출자는 작업이 성공할 때까지 대기하며, 이때 이벤트가 신호를 보냅니다.

[in, optional] ApcRoutine

호출자가 제공하는 APC(비동기 프로시저 호출) 함수에 대한 포인터입니다. ApcRoutineNULL이 아니면 작업이 완료된 후 지정된 APC 함수가 실행됩니다.

[in, optional] ApcContext

APC 함수에 대해 호출자가 제공하는 컨텍스트에 대한 포인터입니다. 이 값은 APC 함수가 실행될 때 전달됩니다. 비동기 매개 변수는 TRUE여야 합니다. ApcContext가 지정된 경우 Event 매개 변수는 NULL이어야 합니다.

[out] IoStatusBlock

작업에 대한 최종 상태 정보가 포함된 IO_STATUS_BLOCK 구조체에 대한 포인터입니다. 데이터를 반환하는 성공적인 호출의 경우 Buffer 매개 변수에 기록된 바이트 수가 IO_STATUS_BLOCK 구조의 정보 멤버에 제공됩니다.

[in] CompletionFilter

알림을 트리거하는 작업의 비트맵입니다. 이 매개 변수는 다음 플래그 중 하나 이상일 수 있습니다.

의미
REG_NOTIFY_CHANGE_NAME
하위 키가 추가되거나 삭제되면 호출자에게 알립니다.
REG_NOTIFY_CHANGE_ATTRIBUTES
보안 설명자 정보와 같은 키 특성에 대한 변경 내용을 호출자에게 알립니다.
REG_NOTIFY_CHANGE_LAST_SET
호출자에게 키 값에 대한 변경 내용을 알립니다. 여기에는 값 추가 또는 삭제 또는 기존 값 변경이 포함될 수 있습니다.
REG_NOTIFY_CHANGE_SECURITY
키의 보안 설명자에 대한 변경 내용을 호출자에게 알립니다.

[in] WatchTree

이 매개 변수가 TRUE이면 호출자에게 지정된 키의 모든 하위 키 변경 내용에 대한 알림이 표시됩니다. 이 매개 변수가 FALSE이면 호출자에게 지정된 키의 변경 내용에 대해서만 알림을 받습니다.

[out, optional] Buffer

시스템에서 사용하도록 예약되었습니다. 이 매개 변수는 NULL이어야 합니다.

[in] BufferSize

시스템에서 사용하도록 예약되었습니다. 이 매개 변수는 0이어야 합니다.

[in] Asynchronous

이 매개 변수가 TRUE이면 함수가 즉시 반환됩니다. 이 매개 변수가 FALSE이면 지정된 이벤트가 발생할 때까지 함수가 반환되지 않습니다.

반환 값

NTSTATUS 또는 오류 코드를 반환합니다.

비동기 매개 변수가 TRUE이고 지정된 이벤트가 아직 발생하지 않은 경우 함수는 STATUS_PENDING 반환합니다.

NTSTATUS 오류 코드의 양식과 중요성은 WDK에서 사용할 수 있는 Ntstatus.h 헤더 파일에 나열되며 WDK 설명서에 설명되어 있습니다.

설명

이 함수에는 연결된 헤더 파일이 없습니다. LoadLibraryGetProcAddress 함수를 사용하여 Ntdll.dll 동적으로 연결할 수도 있습니다.

요구 사항

   
대상 플랫폼 Windows
헤더 winternl.h
라이브러리 ntdll.lib
DLL ntdll.dll

추가 정보

레지스트리 키 보안 및 액세스 권한