Compartilhar via


Função WdfFdoInitSetFilter (wdffdo.h)

[Aplica-se a KMDF e UMDF]

O método WdfFdoInitSetFilter identifica o driver de chamada como um driver de filtro de nível superior ou inferior para um dispositivo especificado.

Sintaxe

void WdfFdoInitSetFilter(
  [in] PWDFDEVICE_INIT DeviceInit
);

Parâmetros

[in] DeviceInit

Um ponteiro para uma estrutura WDFDEVICE_INIT que o driver obteve de sua função de retorno de chamada EvtDriverDeviceAdd .

Retornar valor

Nenhum

Comentários

Os drivers de filtro normalmente processam algumas solicitações de E/S, mas simplesmente passam a maioria das solicitações para o próximo driver na pilha de driver. Se a estrutura receber uma solicitação para um dos dispositivos do driver e se o driver não tiver criado uma fila de E/S para receber solicitações que correspondam ao tipo de solicitação, a maneira como a estrutura processa a solicitação depende se o driver chamou WdfFdoInitSetFilter:

  • Se um driver chamar WdfFdoInitSetFilter, a estrutura de driver encaminhará a solicitação para o próximo driver.
  • Se um driver não chamar WdfFdoInitSetFilter, a estrutura concluirá a solicitação com um valor status de STATUS_INVALID_DEVICE_REQUEST.
Se um driver chamar WdfFdoInitSetFilter, ele não deverá chamar WdfDeviceInitSetIoType, WdfDeviceInitSetPowerInrush ou WdfDeviceInitSetPowerPageable porque a estrutura ignora as informações fornecidas por essas chamadas. Em vez disso, a estrutura obtém essas informações do objeto de dispositivo mais baixo na pilha de dispositivos do driver.

O driver deve chamar WdfFdoInitSetFilter antes de chamar WdfDeviceCreate. Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo framework. Além disso, o driver deve chamar WdfFdoInitSetFilter antes de retornar de sua função de retorno de chamada EvtDriverDeviceAdd .

Para obter mais informações sobre WdfFdoInitSetFilter, consulte Criando objetos de dispositivo em um driver de filtro, Criando filas de E/S e Encaminhando solicitações de E/S.

Exemplos

O exemplo de código a seguir identifica o driver de chamada como um driver de filtro para o dispositivo especificado.

WdfFdoInitSetFilter(DeviceInit);

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 wdffdo.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI DeviceInitAPI(kmdf), DriverCreate(kmdf), DrvAckIoStop(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

WDFDEVICE_INIT