Compartilhar via


Função WdfDeviceInitFree (wdfdevice.h)

[Aplica-se somente ao KMDF]

O método WdfDeviceInitFree desaloca uma estrutura WDFDEVICE_INIT .

Sintaxe

void WdfDeviceInitFree(
  [in] PWDFDEVICE_INIT DeviceInit
);

Parâmetros

[in] DeviceInit

Um ponteiro para uma estrutura WDFDEVICE_INIT .

Retornar valor

Nenhum

Comentários

Se o driver receber uma estrutura WDFDEVICE_INIT de uma chamada para WdfPdoInitAllocate ou WdfControlDeviceInitAllocate e, se o driver encontrar um erro posteriormente ao chamar um método de inicialização de objeto de dispositivo ou WdfDeviceCreate, o driver deverá chamar WdfDeviceInitFree.

Seu driver não deve chamar WdfDeviceInitFree depois de chamar WdfDeviceCreate com êxito .

Seu driver não precisará chamar WdfDeviceInitFree se ele recebeu a estrutura WDFDEVICE_INIT como entrada para sua função de retorno de chamada EvtDriverDeviceAdd , pois a estrutura exclui a estrutura após o retorno da função de retorno de chamada.

Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo framework.

Exemplos

O exemplo de código a seguir chama WdfDeviceInitFree se uma chamada para WdfPdoInitAssignRawDevice falhar.

NTSTATUS  status;

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

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <= DISPATCH_LEVEL
Regras de conformidade de 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)

Confira também

WdfDeviceCreate