Compartilhar via


Função UfxFdoInit (ufxclient.h)

Inicializa a estrutura de WDFDEVICE_INIT que o driver cliente fornece posteriormente quando chama WdfDeviceCreate.

Sintaxe

NTSTATUS UfxFdoInit(
  [in]      WDFDRIVER              WdfDriver,
  [in, out] PWDFDEVICE_INIT        DeviceInit,
  [in, out] PWDF_OBJECT_ATTRIBUTES FdoAttributes
);

Parâmetros

[in] WdfDriver

Um identificador para o objeto de driver WDF do driver que o driver obteve de uma chamada anterior para WdfDriverCreate ou WdfGetDriver.

[in, out] DeviceInit

Um ponteiro para uma estrutura WDFDEVICE_INIT.

[in, out] FdoAttributes

Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES alocada pelo chamador que descreve os atributos de objeto para o

Valor de retorno

Se a operação for bem-sucedida, o método retornará STATUS_SUCCESS ou outro valor de status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, retornará um valor de status para o qual NT_SUCCESS(status) é igual a FALSE.

Observações

O driver cliente recebe um ponteiro para uma estrutura de WDFDEVICE_INIT alocada por estrutura em sua função de retorno de chamada EvtDriverDeviceAdd. Em seguida, ele chama UfxFdoInit com esse ponteiro antes de chamar WdfDeviceCreate para criar o objeto WDFDEVICE.

Por padrão, para drivers WDF, o driver de função do dispositivo é o proprietário da política de energia.

O snippet de código a seguir mostra como chamar UfxFdoInit.

NTSTATUS
UfxClientDeviceCreate(
    _In_ WDFDRIVER Driver,
    _In_ PWDFDEVICE_INIT DeviceInit
    )
/*++

Routine Description:

    Worker routine called to create a device and its software resources.

Arguments:

    Driver - WDF driver object

    DeviceInit - Pointer to an opaque init structure. Memory for this
                 structure will be freed by the framework when WdfDeviceCreate
                 succeeds. So don't access the structure after that point.

Return Value:

    Appropriate NTSTATUS value

--*/
{
    WDF_OBJECT_ATTRIBUTES DeviceAttributes;
    WDFDEVICE WdfDevice;

    PAGED_CODE();

    WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&DeviceAttributes, CONTROLLER_CONTEXT);

    //
    // Do UFX-specific initialization
    //
    Status = UfxFdoInit(Driver, DeviceInit, &DeviceAttributes);

    //
    // Proceed to WdfDeviceCreate
    //
    
    ...

}

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
da Plataforma de Destino Windows
cabeçalho ufxclient.h
biblioteca ufxstub.lib
IRQL PASSIVE_LEVEL