WdfDeviceInitFree-Funktion (wdfdevice.h)
[Gilt nur für KMDF]
Die WdfDeviceInitFree-Methode behandelt die Zuordnung einer WDFDEVICE_INIT-Struktur .
Syntax
void WdfDeviceInitFree(
[in] PWDFDEVICE_INIT DeviceInit
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .
Rückgabewert
Keine
Bemerkungen
Wenn Ihr Treiber eine WDFDEVICE_INIT-Struktur von einem Aufruf von WdfPdoInitAllocate oder WdfControlDeviceInitAllocate empfängt, und wenn der Treiber anschließend einen Fehler auftritt, wenn er eine Geräteobjektinitialisierungsmethode oder WdfDeviceCreate aufruft, muss der Treiber WdfDeviceInitFree aufrufen.
Ihr Treiber darf WdfDeviceInitFree nicht aufrufen, nachdem WdfDeviceCreate erfolgreich aufgerufen wurde.
Ihr Treiber muss WdfDeviceInitFree nicht aufrufen, wenn er die WDFDEVICE_INIT-Struktur als Eingabe für seine EvtDriverDeviceAdd-Rückruffunktion empfangen hat, da das Framework die Struktur nach dem Zurückgeben der Rückruffunktion löscht.
Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.
Beispiele
Im folgenden Codebeispiel wird WdfDeviceInitFree aufgerufen, wenn ein Aufruf von WdfPdoInitAssignRawDevice fehlschlägt.
NTSTATUS status;
status = WdfPdoInitAssignRawDevice(
pDeviceInit,
&GUID_DEVCLASS_KEYBOARD
);
if (!NT_SUCCESS(status)) {
WdfDeviceInitFree(pDeviceInit);
pDeviceInit = NULL;
return STATUS;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeDeviceCreateType2(kmdf), InitFreeDeviceCreateType4(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf) |