Condividi tramite


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 WDFDEVICE_INIT da una chiamata a WdfPdoInitAllocate o WdfControlDeviceInitAllocatee 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 aver chiamato WdfDeviceCreate correttamente.

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

Per altre informazioni sulla chiamata di WdfDeviceCreate, vedere Creating a Framework Device Object.

Esempi

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;
}

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
versione minima di KMDF 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)

Vedere anche

WdfDeviceCreare