Freigeben über


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)

Weitere Informationen

WdfDeviceCreate