Compartilhar via


estrutura WDF_FILEOBJECT_CONFIG (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

A estrutura WDF_FILEOBJECT_CONFIG contém informações de configuração de objetos de arquivo de estrutura de um driver.

Sintaxe

typedef struct _WDF_FILEOBJECT_CONFIG {
  ULONG                      Size;
  PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
  PFN_WDF_FILE_CLOSE         EvtFileClose;
  PFN_WDF_FILE_CLEANUP       EvtFileCleanup;
  WDF_TRI_STATE              AutoForwardCleanupClose;
  WDF_FILEOBJECT_CLASS       FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;

Membros

Size

O tamanho, em bytes, dessa estrutura.

EvtDeviceFileCreate

Um ponteiro para a função de retorno de chamada EvtDeviceFileCreate do driver ou NULL.

EvtFileClose

Um ponteiro para a função de retorno de chamada EvtFileClose do driver ou NULL.

EvtFileCleanup

Um ponteiro para a função de retorno de chamada EvtFileCleanup do driver ou NULL.

AutoForwardCleanupClose

Um valor do tipo WDF_TRI_STATE. Para obter mais informações sobre esse membro, consulte a seção Comentários a seguir.

FileObjectClass

Um valor de tipo WDF_FILEOBJECT_CLASS que identifica se o driver requer um objeto de arquivo de estrutura para representar cada arquivo que um aplicativo ou outro driver cria ou abre. Além disso, esse valor especifica onde a estrutura pode armazenar o identificador do objeto.

Comentários

A estrutura WDF_FILEOBJECT_CONFIG é usada como entrada para o método WdfDeviceInitSetFileObjectConfig .

WDF_FILEOBJECT_CONFIG deve ser inicializado chamando WDF_FILEOBJECT_CONFIG_INIT.

Comportamento da estrutura para AutoForwardCleanupClose

Se AutoForwardCleanupClose estiver definido como WdfTrue, a estrutura fará o seguinte:
  • A estrutura encaminhará solicitações de criação de arquivo para o driver mais baixo se o driver não fornecer uma função de retorno de chamada EvtDeviceFileCreate e não tiver chamado WdfDeviceConfigureRequestDispatching para definir uma fila de E/S para receber solicitações de criação de arquivo. A estrutura não encaminhará solicitações de criação de arquivo se o driver fornecer uma função de retorno de chamada ou uma fila para lidar com as solicitações, portanto, o driver deverá encaminhar, concluir ou cancelar as solicitações.
  • A estrutura envia a limpeza de arquivos e fecha as solicitações para o driver mais baixo depois de chamar as funções de retorno de chamada EvtFileCleanup e EvtFileClose do driver.
Se AutoForwardCleanupClose estiver definido como WdfFalse, a estrutura não encaminhará solicitações de criação, limpeza ou fechamento de arquivos. Em vez disso, a estrutura conclui as solicitações para o driver.

Se AutoForwardCleanupClose estiver definido como WdfUseDefault, a estrutura usará o comportamento WdfTrue para drivers de filtro e comportamento WdfFalse para drivers de função.

Comportamento do driver para AutoForwardCleanupClose

O destino de E/S local do driver deve sempre receber um número igual de solicitações de E/S com tipos de solicitação WdfRequestTypeCreate, WdfRequestTypeCleanup e WdfRequestTypeClose. Portanto, se o driver fornecer uma função de retorno de chamada EvtDeviceFileCreate ou uma fila de E/S que receba solicitações de criação de arquivo, você deverá usar as seguintes regras:
  • Se o driver definir AutoForwardCleanupClose como WdfTrue, o driver deverá encaminhar todas as solicitações de criação de arquivo para o destino de E/S local. Você deve seguir essa regra porque a estrutura encaminhará todas as solicitações de limpeza e fechamento para o destino local, independentemente de o driver fornecer ou não funções de retorno de chamada EvtFileCleanup e EvtFileClose .
  • Se o driver definir AutoForwardCleanupClose como WdfFalse, o driver não deverá encaminhar solicitações de criação de arquivo para o destino de E/S local. Você deve seguir essa regra porque a estrutura não encaminhará as solicitações de limpeza e fechamento para o destino local, independentemente de o driver fornecer ou não funções de retorno de chamada EvtFileCleanup e EvtFileClose .
  • Se o driver definir AutoForwardCleanupClose como WdfDefault, o driver deverá seguir a regra para WdfTrue se for um driver de filtro. O driver deve seguir a regra para WdfFalse se for um driver de função.

Requisitos

Requisito Valor
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)