Função WdfDeviceInitSetFileObjectConfig (wdfdevice.h)
[Aplica-se a KMDF e UMDF]
O método WdfDeviceInitSetFileObjectConfig registra funções de retorno de chamada de evento e define informações de configuração para os objetos de arquivo de estrutura do driver.
Sintaxe
void WdfDeviceInitSetFileObjectConfig(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PWDF_FILEOBJECT_CONFIG FileObjectConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
Parâmetros
[in] DeviceInit
Um ponteiro para uma estrutura WDFDEVICE_INIT .
[in] FileObjectConfig
Um ponteiro para uma estrutura de WDF_FILEOBJECT_CONFIG alocada pelo chamador.
[in, optional] FileObjectAttributes
Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES alocada pelo chamador que contém atributos de objeto fornecidos pelo driver para os objetos de arquivo de estrutura do driver. Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.
Retornar valor
Nenhum
Comentários
Se um driver chamar WdfDeviceInitSetFileObjectConfig, ele deverá fazer isso antes de chamar WdfDeviceCreate.
Por padrão, cada objeto de arquivo de estrutura herda seu escopo de sincronização e nível de execução de seu objeto de dispositivo pai. Se o escopo de sincronização e o nível de execução do objeto de dispositivo pai não forem WdfSynchronizationScopeNone e WdfExecutionLevelPassive, o driver deverá definir os valores WdfSynchronizationScopeNone e WdfExecutionLevelPassive na estrutura WDF_OBJECT_ATTRIBUTES especificada pelo parâmetro FileObjectAttributes . Caso contrário, WdfDeviceCreate retornará um erro status código. Para obter mais informações sobre o escopo de sincronização e o nível de execução, consulte Usando a sincronização automática.
Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo de estrutura.
Para obter mais informações sobre objetos de arquivo de estrutura, consulte Objetos de arquivo de estrutura
Exemplos
O exemplo de código a seguir inicializa uma estrutura WDF_OBJECT_ATTRIBUTES e uma estrutura WDF_FILEOBJECT_CONFIG e, em seguida, chama WdfDeviceInitSetFileObjectConfig.
WDF_OBJECT_ATTRIBUTES attributes;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.SynchronizationScope = WdfSynchronizationScopeNone;
WDF_FILEOBJECT_CONFIG_INIT(
&deviceConfig,
MyEvtDeviceFileCreate,
MyEvtFileClose,
WDF_NO_EVENT_CALLBACK // No cleanup callback function
);
WdfDeviceInitSetFileObjectConfig(
DeviceInit,
&deviceConfig,
&attributes
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfdevice.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FileObjectConfigured(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |