BOOT_DRIVER_CALLBACK_FUNCTION 콜백 함수(ntddk.h)
부팅 시작 드라이버의 BOOT_DRIVER_CALLBACK_FUNCTION 루틴은 부팅 시작 드라이버 초기화 이벤트를 모니터링하고 커널로 데이터를 반환하여 커널이 각 부팅 시작 드라이버를 초기화할지 여부를 결정할 수 있도록 합니다. 부팅 시작 드라이버 콜백 루틴을 등록하는 함수 프로토타입은 다음과 같습니다.
통사론
BOOT_DRIVER_CALLBACK_FUNCTION BootDriverCallbackFunction;
void BootDriverCallbackFunction(
PVOID CallbackContext,
BDCB_CALLBACK_TYPE Classification,
PBDCB_IMAGE_INFORMATION ImageInformation
)
{...}
매개 변수
CallbackContext
이 BOOT_DRIVER_CALLBACK_FUNCTION 구현을 등록할 때 드라이버가 CallbackContext 매개 변수로 전달하여 IoRegisterBootDriverCallback을 값입니다.
Classification
부팅 시작 드라이버 초기화 상태를 식별하거나 부팅 시작 드라이버가 초기화될 예정임을 나타내는 BDCB_CALLBACK_TYPE 열거형 값입니다.
ImageInformation
콜백 유형과 관련된 정보를 포함하는 BDCB_IMAGE_INFORMATION 구조체에 대한 포인터입니다. 구조체 형식은 다음 표와 같이 CallbackType에 전달된 값에 따라 달라집니다.
CallbackType의 값 | 사용할 해당 구조체 |
---|---|
BdCbStatusUpdate | BDCB_STATUS_UPDATE_TYPE |
BdCbInitializeImage | BDCB_CLASSIFICATION |
반환 값
없음
발언
부팅 시작 드라이버 초기화 작업에 대한 알림을 받으려면 ELAM(조기 실행 맬웨어 방지) 드라이버는 IoRegisterBootDriverCallback호출할 수 있습니다. 등록을 취소하려면 IoUnRegisterBootDriverCallback호출합니다.
요구 사항
요구 | 값 |
---|---|
헤더 | ntddk.h |
IRQL | PASSIVE_LEVEL |