IoInitializeIrp-Funktion (wdm.h)
Die IoInitializeIrp-Routine initialisiert einen bestimmten IRP, der vom Aufrufer zugewiesen wurde.
Syntax
void IoInitializeIrp(
[in, out] PIRP Irp,
[in] USHORT PacketSize,
[in] CCHAR StackSize
);
Parameter
[in, out] Irp
Zeiger auf den zu initialisierenden IRP.
[in] PacketSize
Gibt die Größe des IRP in Bytes an.
[in] StackSize
Gibt die Anzahl der Stapelspeicherorte im IRP an.
Rückgabewert
Keine
Bemerkungen
Treiber verwenden IoInitializeIrp , um IRPs zu initialisieren, die dem Treiber als roher Arbeitsspeicher zugeordnet sind. Verwenden Sie IoInitializeIrp nicht, um eine von IoAllocateIrp zugewiesene IRP zu initialisieren. IoAllocateIrp initialisiert automatisch die Mitglieder des IRP.
Treiber können IoInitializeIrp nur unter bestimmten Umständen zum erneuten Initialisieren eines IRP zur Wiederverwendung verwenden. Weitere Informationen finden Sie unter Wiederverwendung von IRPs .
Wenn der Treiber eine MDL mit dem zugewiesenen IRP verknüpft, ist der Treiber für die Freigabe der MDL verantwortlich, wenn die 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 IoMakeAssociatedIrp aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm) |