IoInitializeIrp 함수(wdm.h)
IoInitializeIrp 루틴은 호출자가 할당한 지정된 IRP를 초기화합니다.
통사론
void IoInitializeIrp(
[in, out] PIRP Irp,
[in] USHORT PacketSize,
[in] CCHAR StackSize
);
매개 변수
[in, out] Irp
초기화할 IRP에 대한 포인터입니다.
[in] PacketSize
IRP의 크기(바이트)를 지정합니다.
[in] StackSize
IRP의 스택 위치 수를 지정합니다.
반환 값
없음
발언
드라이버는 IoInitializeIrp 사용하여 원시 메모리로 할당된 드라이버의 IRP를 초기화합니다. IoInitializeIrp 사용하여 IoAllocateIrp할당된 IRP를 초기화하지 마세요. IoAllocateIrp 자동으로 IRP의 멤버를 초기화합니다.
드라이버는 IoInitializeIrp 사용하여 특정 상황에서만 다시 사용하기 위해 IRP를 다시 초기화할 수 있습니다. 자세한 내용은 IRP 재사용을 참조하세요.
드라이버가 할당된 IRP와 MDL을 연결하는 경우 드라이버는 IRP가 완료될 때 MDL을 해제할 책임이 있습니다.
또한 중간 또는 최상위 수준의 드라이버는 IoBuildDeviceIoControlRequest, IoBuildAsynchronousFsdRequest또는 IoBuildSynchronousFsdRequest 호출하여 하위 수준 드라이버에 보내는 요청을 설정할 수 있습니다. 최고 수준의 드라이버만 IoMakeAssociatedIrp호출할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm) |