Freigeben über


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)

Siehe auch

WdfDeviceCreate