Funzione WdfDeviceInitFree (wdfdevice.h)

[Si applica solo a KMDF]

Il metodo WdfDeviceInitFree dealloca una struttura WDFDEVICE_INIT .

Sintassi

void WdfDeviceInitFree(
  [in] PWDFDEVICE_INIT DeviceInit
);

Parametri

[in] DeviceInit

Puntatore a una struttura WDFDEVICE_INIT .

Valore restituito

nessuno

Osservazioni

Se il driver riceve una struttura di WDFDEVICE_INIT da una chiamata a WdfPdoInitAllocate o WdfControlDeviceInitAllocate e se successivamente il driver rileva un errore quando chiama un metodo di inizializzazione dell'oggetto dispositivo o WdfDeviceCreate, il driver deve chiamare WdfDeviceInitFree.

Il driver non deve chiamare WdfDeviceInitFree dopo che chiama WdfDeviceCreate correttamente.

Il driver non deve chiamare WdfDeviceInitFree se ha ricevuto la struttura WDFDEVICE_INIT come input per la relativa funzione di callback EvtDriverDeviceAdd , perché il framework elimina la struttura dopo la restituzione della funzione di callback.

Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo framework.

Esempio

L'esempio di codice seguente chiama WdfDeviceInitFree se una chiamata a WdfPdoInitAssignRawDevice ha esito negativo.

NTSTATUS  status;

status = WdfPdoInitAssignRawDevice(
                                   pDeviceInit,
                                   &GUID_DEVCLASS_KEYBOARD
                                   );
if (!NT_SUCCESS(status)) {
    WdfDeviceInitFree(pDeviceInit);
    pDeviceInit = NULL;
    return STATUS;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,0
Intestazione wdfdevice.h (include Wdf.h)
Libreria Wdf01000.sys (vedere Controllo delle versioni della libreria framework).
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI 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)

Vedi anche

WdfDeviceCreate