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 루틴은 IoRegisterBootDriverReinitialization의 Context 매개 변수에 DriverEntry의 자체 RegistryPath 매개 변수가 가리키는 문자열의 복사본을 포함해야 합니다.
DriverEntry 루틴은 IoRegisterBootDriverReinitialization을 한 번만 호출할 수 있습니다. 다시 초기화 루틴을 두 번 이상 실행해야 하는 경우 DriverReinitializationRoutine은 Count 매개 변수를 사용하여 DriverReinitializationRoutine이 호출된 횟수를 추적하는 데 필요한 만큼 IoRegisterBootDriverReinitialization을 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntifs.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |