Erstellen einer Geräteschnittstelle für einen WBDI-Treiber
Nachdem das Geräterückrufobjekt initialisiert und an den Treiber zurückgegeben wurde, sollte der Treiber zum Zeitpunkt der Einrichtung der Warteschlange eine Geräteschnittstelle instance für das biometrische Gerät erstellen.
Insbesondere müssen WBDI-Treiber die GUID_DEVINTERFACE_BIOMETRIC_READER Geräteschnittstelle verfügbar machen, indem sie IWDFDevice::CreateDeviceInterface aufrufen:
hr = m_FxDevice->CreateDeviceInterface(&GUID_DEVINTERFACE_BIOMETRIC_READER, NULL);
Auf diesen Aufruf folgt ein Aufruf von IWDFDevice::AssignDeviceInterfaceState:
hr = m_FxDevice->AssignDeviceInterfaceState(&GUID_DEVINTERFACE_BIOMETRIC_READER,
NULL,
TRUE);
Ein WBDI-Treiber, der Funktionen für einen biometrischen Legacystapel (nicht WBDI) verfügbar machen möchte, sollte eine andere Geräteschnittstelle für Legacyanwendungen verfügbar machen und sicherstellen, dass der Exclusive-Wert in der INX-Datei, die den Legacystapel installiert, auf Null festgelegt ist.
Das Verfügbarmachen der GUID_DEVINTERFACE_BIOMETRIC_READER Geräteschnittstelle bewirkt, dass der WBF-Dienst nur den Treiber aufzählt. Wenn der exklusive Modus nicht festgelegt ist, versucht WBF nicht, das Gerät zu öffnen und zu steuern.
Alternativ könnte der Treiber intern erkennen, dass er sich im Legacymodus befindet, und dann die GUID_DEVINTERFACE_BIOMETRIC_READER Geräteschnittstelle nicht verfügbar machen.