WdfDeviceInitFree-Funktion (wdfdevice.h)
[Gilt nur für KMDF]
Die WdfDeviceInitFree-Methode behandelt eine WDFDEVICE_INIT Struktur.
Syntax
void WdfDeviceInitFree(
[in] PWDFDEVICE_INIT DeviceInit
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT Struktur.
Rückgabewert
Nichts
Bemerkungen
Wenn Ihr Treiber eine WDFDEVICE_INIT Struktur von einem Aufruf von WdfPdoInitAllocate oder WdfControlDeviceInitAllocateempfängt und wenn der Treiber anschließend auftritt ein Fehler, wenn eine Device Object Initialization-Methode oder WdfDeviceCreateaufgerufen wird, muss der Treiber WdfDeviceInitFreeaufrufen.
Ihr Treiber darf WdfDeviceInitFree- nicht aufrufen, nachdem er WdfDeviceCreate erfolgreich aufgerufen hat.
Ihr Treiber muss nicht WdfDeviceInitFree- 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 WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.
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- | Universal |
Minimale KMDF-Version | 1.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCre, InitFreeDeviceCreateType2(kmdf), InitFreeDeviceCreateType4(kmdf), InitFreeNull() kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf) |