Função UfxFdoInit (ufxclient.h)
Inicializa a estrutura 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 atributos de objeto para o
Retornar valor
Se a operação for bem-sucedida, o método retornará STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, retornará um valor status para o qual NT_SUCCESS(status) é igual a FALSE.
Comentários
O driver do 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 |
---|---|
Cliente mínimo com suporte | Windows 10 |
Plataforma de Destino | Windows |
Cabeçalho | ufxclient.h |
Biblioteca | ufxstub.lib |
IRQL | PASSIVE_LEVEL |