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컨텍스트 매개 변수에 DriverEntry의 자체 RegistryPath 매개 변수가 가리키는 문자열의 복사본을 포함해야 합니다.

DriverEntry 루틴은 IoRegisterBootDriverReinitialization을 한 번만 호출할 수 있습니다. 다시 초기화 루틴을 두 번 이상 실행해야 하는 경우 DriverReinitializationRoutineCount 매개 변수를 사용하여 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)

참고 항목

DRIVER_OBJECT

IoRegisterDriverReinitialization

다시 초기화