IoInitializeIrp-Funktion (wdm.h)
Die IoInitializeIrp Routine initialisiert ein bestimmtes IRP, das vom Aufrufer zugewiesen wurde.
Syntax
void IoInitializeIrp(
[in, out] PIRP Irp,
[in] USHORT PacketSize,
[in] CCHAR StackSize
);
Parameter
[in, out] Irp
Zeiger auf das zu initialisierende IRP.
[in] PacketSize
Gibt die Größe in Byte des IRP an.
[in] StackSize
Gibt die Anzahl der Stapelpositionen im IRP an.
Rückgabewert
Nichts
Bemerkungen
Treiber verwenden IoInitializeIrp-, um IRPs zu initialisieren, die dem als unformatierten Speicher zugewiesenen Treiber zugeordnet sind. Verwenden Sie IoInitializeIrp- nicht, um ein von IoAllocateIrpzugeordnetes IRP zu initialisieren. IoAllocateIrp initialisiert automatisch die Mitglieder des IRP.
Treiber können IoInitializeIrp- verwenden, um ein IRP nur unter bestimmten Umständen wiederzuverwenden. Weitere Informationen finden Sie unter Reusing IRPs.
Wenn der Treiber eine MDL dem zugewiesenen IRP zuordnet, ist der Treiber dafür verantwortlich, die MDL freizugeben, wenn das IRP abgeschlossen ist.
Ein Treiber auf mittlerer oder höchster Ebene kann auch IoBuildDeviceIoControlRequest-, IoBuildAsynchronousFsdRequest-oder IoBuildSynchronousFsdRequest- aufrufen, um Anforderungen einzurichten, die an Treiber auf niedrigerer Ebene gesendet werden. Nur ein Treiber der höchsten Ebene kann IoMakeAssociatedIrpaufrufen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IoReuseIrp(wdm) |