Freigeben über


Anfordern einer Benutzerinteraktion

 

Nach dem Aufruf von Dot11ExtIhvInitAdapter kann die IHV-Erweiterungen-DLL jederzeit eine Interaktion mit dem Benutzer anfordern, indem sie die Dot11ExtSendUIRequest-Funktion aufruft . Das Betriebssystem leitet alle Benutzerinteraktionsanforderungen an die DLL für IHV-UI-Erweiterungen weiter, die die Anforderung verarbeitet und dem Benutzer die entsprechenden Benutzeroberflächenseiten anzeigt.

Wenn die Anforderung abgeschlossen wurde, ruft das Betriebssystem die Dot11ExtIhvProcessUIResponse-Funktion auf, um die Ergebnisse der IHV UI Extensions DLL für die Benutzerinteraktion weiterzuleiten. Weitere Informationen zur DLL für IHV-UI-Erweiterungen finden Sie unter Native 802.11 IHV UI Extensions DLL.

Die DLL für IHV-Erweiterungen kann beispielsweise eine Benutzerinteraktion für eine der folgenden Aktionen anfordern.

  • Benachrichtigen Sie den Benutzer über die Phasen eines Vorgangs vor oder nach der Zuordnung.

  • Fordern Sie den Benutzer auf, seine Anmeldeinformationen für die Authentifizierung während des Vorgangs nach der Zuordnung einzugeben.

Wenn die Dot11ExtSendUIRequest-Funktion aufgerufen wird, übergibt die IHV-Erweiterungen-DLL einen Zeiger auf eine DOT11EXT_IHV_UI_REQUEST Struktur an den pIhvUIRequest-Parameter . Die DOT11EXT_IHV_UI_REQUEST-Struktur gibt die Anforderung an, z. B. die globally unique ID (GUID), die die UI-Anforderung sowie die COM-Klassen-ID (CLSID) der Ziel-UI-Seite identifiziert, die diese Anforderung behandelt.

Wenn die IHV UI Extensions DLL die Benutzerbenachrichtigung abgeschlossen hat, ruft das Betriebssystem die Dot11ExtIhvProcessUIResponse-Funktion auf. Wenn der Benutzer Daten über die Benachrichtigung eingegeben hat, übergibt das Betriebssystem einen Zeiger an den Puffer, der die Daten enthält, an den parameter pvResponseBuffer .

Das Betriebssystem kann in regelmäßigen Abständen die status ausstehender Benachrichtigungsanforderungen abfragen. In dieser Situation ruft das Betriebssystem dot11ExtIhvIsUIRequestPending auf und übergibt die GUID der UI-Anforderung an den guidUIRequest-Parameter .

Beim Aufrufen von Dot11ExtSendUIRequest muss die IHV-Erweiterungen-DLL diese Richtlinien befolgen.

  • Die DLL für IHV-Erweiterungen muss die Aufrufe von Dot11ExtSendUIRequest nicht serialisieren. Die DLL kann jederzeit mehrere ausstehende UI-Anforderungen enthalten.

  • Die UI-Anforderung für eine bestimmte GUID wird nur abgeschlossen, wenn Dot11ExtIhvProcessUIResponse für diese GUID aufgerufen wird. In dieser Situation darf die DLL für IHV-Erweiterungen keine zugeordneten Ressourcen für die UI-Anforderung freigeben, bis Dot11ExtIhvProcessUIResponse aufgerufen wird.

  • Alle ausstehenden Ui-Anforderungen werden abgebrochen, wenn Dot11ExtIhvAdapterReset oder Dot11ExtIhvDeinitAdapter aufgerufen wird. Alle ausstehenden Ui-Anforderungen werden ebenfalls abgebrochen, wenn Dot11ExtIhvProcessSessionChange aufgerufen wird, wobei der uEventType-Parameter auf WTS_SESSION_LOGOFF festgelegt ist.

    In diesen Situationen muss die DLL für IHV-Erweiterungen alle zugeordneten Ressourcen für jede ausstehende UI-Anforderung freigeben.

Das Betriebssystem kann die Benutzerinteraktion selbst initiieren, wenn sich der Verbindungszustand im BSS-Netzwerk (Basic Service Set) ändert. In dieser Situation ruft das Betriebssystem die Dot11ExtIhvQueryUIRequest-Funktion auf. Die IHV-Erweiterungen-DLL weist einen Puffer zu und formatiert ihn als DOT11EXT_IHV_UI_REQUEST-Struktur . Die DLL legt die Elemente der DOT11EXT_IHV_UI_REQUEST-Struktur so fest, dass sie auf eine UI-Seite verweisen, die für die Änderung der Verbindung status geeignet ist. Das Betriebssystem ist für die Anzeige der Ui-Seite verantwortlich.

Hinweis Die IHV-Erweiterungen müssen den Puffer, der die DOT11EXT_IHV_UI_REQUEST-Struktur enthält, über Dot11ExtAllocateBuffer zuordnen. Die DLL darf den Puffer nach der Rückgabe von Dot11ExtIhvQueryUIRequest nicht freigeben.