ObRegisterCallbacks 루틴은 스레드, 프로세스 및 데스크톱 핸들 작업에 대한 콜백 루틴 목록을 등록합니다.
구문
NTSTATUS ObRegisterCallbacks(
[in] POB_CALLBACK_REGISTRATION CallbackRegistration,
[out] PVOID *RegistrationHandle
);
매개 변수
[in] CallbackRegistration
콜백 루틴 및 기타 등록 정보 목록을 지정하는 OB_CALLBACK_REGISTRATION 구조체에 대한 포인터입니다.
[out] RegistrationHandle
등록된 콜백 루틴 집합을 식별하는 값을 받는 변수에 대한 포인터입니다. 호출자는 이 값을 ObUnRegisterCallbacks 루틴에 전달하여 콜백 집합을 등록 취소합니다.
반환 값
ObRegisterCallbacks는 NTSTATUS 값을 반환합니다. 이 루틴은 다음 값 중 하나를 반환할 수 있습니다.
| 반환 코드 | 설명 |
|---|---|
|
지정된 콜백 루틴이 시스템에 등록됩니다. |
|
호출 드라이버 또는 다른 드라이버가 CallBackRegistration고도가 지정하는 고도에 대한 콜백 루틴을 -> 이미 등록했습니다. 이 고도에 대한 자세한 내용은 OB_CALLBACK_REGISTRATION 고도 멤버에 대한 설명을 참조 하세요. |
|
등록에 지정된 매개 변수 중 하나 이상이 잘못되었습니다. 예를 들어 CallBackRegistration->버전에 잘못된 값을 지정하거나 콜백 루틴을 지원하지 않는 개체 형식에 대한 등록을 시도하는 경우 ObRegisterCallbacks는 이 오류를 반환할 수 있습니다. |
|
콜백 루틴은 서명된 커널 이진 이미지에 있지 않습니다. |
|
메모리를 할당하지 못했습니다. |
설명
드라이버는 언로드하기 전에 모든 콜백 루틴의 등록을 취소해야 합니다. ObUnRegisterCallbacks 루틴을 호출하여 콜백 루틴의 등록을 취소할 수 있습니다.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows Vista SP1(서비스 팩 1) 및 Windows Server 2008부터 사용할 수 있습니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
| 라이브러리 | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL |