Partilhar via


Criando uma interface de dispositivo para um driver WBDI

Depois que o objeto de retorno de chamada do dispositivo tiver sido inicializado e retornado ao driver, no momento da configuração da fila, o driver deverá criar uma instância de interface do dispositivo para o dispositivo biométrico.

Especificamente, os drivers WBDI devem expor a interface do dispositivo GUID_DEVINTERFACE_BIOMETRIC_READER chamando IWDFDevice::CreateDeviceInterface:

hr = m_FxDevice->CreateDeviceInterface(&GUID_DEVINTERFACE_BIOMETRIC_READER, NULL);

Essa chamada é seguida por uma chamada para IWDFDevice::AssignDeviceInterfaceState:

hr = m_FxDevice->AssignDeviceInterfaceState(&GUID_DEVINTERFACE_BIOMETRIC_READER,
 NULL,
 TRUE);

Um driver WBDI que deseja expor a funcionalidade a uma pilha biométrica herdada (não WBDI) deve expor outra interface de dispositivo para aplicativos herdados e verificar se o valor Exclusive está definido como zero no arquivo INX que instala a pilha herdada.

Expor a interface do dispositivo GUID_DEVINTERFACE_BIOMETRIC_READER faz com que o serviço WBF enumere apenas o driver. Se o modo Exclusivo não estiver definido, o WBF não tentará abrir e controlar o dispositivo.

Como alternativa, o driver pode detectar internamente que ele está no modo herdado e, em seguida, não expor o GUID_DEVINTERFACE_BIOMETRIC_READER interface do dispositivo.