IoRegisterBootDriverReinitialization 함수(ntddk.h)
IoRegisterBootDriverReinitialization 루틴은 부팅 드라이버가 모든 디바이스를 열거하고 시작한 후에 호출할 I/O 관리자에 드라이버의 다시 초기화 루틴을 등록하기 위해 호출됩니다.
통사론
void IoRegisterBootDriverReinitialization(
[in] PDRIVER_OBJECT DriverObject,
[in] PDRIVER_REINITIALIZE DriverReinitializationRoutine,
[in, optional] PVOID Context
);
매개 변수
[in] DriverObject
다시 초기화할 부팅 드라이버의 드라이버 개체에 대한 포인터입니다.
[in] DriverReinitializationRoutine
[in, optional] Context
드라이버의 다시 초기화 루틴에 전달할 선택적 컨텍스트 포인터입니다.
반환 값
없음
발언
부팅 드라이버는 일반적으로 부팅 드라이버 초기화 중에 실행되는 DriverEntry 루틴에서 IoRegisterBootDriverReinitialization 호출합니다. IoRegisterBootDriverReinitialization 모든 디바이스가 열거되고 시작된 후 I/O 관리자가 호출할 드라이버의 다시 초기화 콜백 루틴을 등록합니다. DriverReinitializationRoutine IRQL = PASSIVE_LEVEL 시스템 스레드에서 실행됩니다.
드라이버는 DriverEntry 루틴이 STATUS_SUCCESS 반환하는 경우에만 IoRegisterBootDriverReinitialization 호출해야 합니다.
DriverReinitializationRoutine 레지스트리를 사용하는 경우 DriverEntry 루틴은 IoRegisterBootDriverReinitializationContext 매개 변수에 DriverEntry가 자체 RegistryPath 매개 변수를문자열의 복사본을 포함해야 합니다.
DriverEntry 루틴은 IoRegisterBootDriverReinitialization 한 번만 호출할 수 있습니다. 다시 초기화 루틴을 두 번 이상 실행해야 하는 경우 DriverReinitializationRoutineCount 매개 변수를 사용하여 IoRegisterBootDriverReinitialization 호출하여 DriverReinitializationRoutine 호출된 횟수를 추적할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | ntddk.h(Ntifs.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |