Freigeben über


BluetoothAuthenticateDeviceEx-Funktion (bluetoothapis.h)

Die BluetoothAuthenticateDeviceEx-Funktion sendet eine Authentifizierungsanforderung an ein Bluetooth-Remotegerät. Darüber hinaus ermöglicht diese Funktion die Übergabe von Out-of-Band-Daten an den Funktionsaufruf für das zu authentifizierde Gerät.

Hinweis Diese API wird in Windows Vista SP2 und Windows 7 unterstützt.
 

Syntax

DWORD BluetoothAuthenticateDeviceEx(
  [in, optional] HWND                        hwndParentIn,
  [in, optional] HANDLE                      hRadioIn,
  [in, out]      BLUETOOTH_DEVICE_INFO       *pbtdiInout,
  [in, optional] PBLUETOOTH_OOB_DATA_INFO    pbtOobData,
  [in]           AUTHENTICATION_REQUIREMENTS authenticationRequirement
);

Parameter

[in, optional] hwndParentIn

Das Fenster zum Übergeordneten des Authentifizierungs-Assistenten. Bei NULL wird der Assistent vom Desktop übergeordnet.

[in, optional] hRadioIn

Ein gültiges lokales Funkhandle oder NULL. Wenn NULL, werden alle Radios versucht. Wenn eines der Funkgeräte erfolgreich ist, ist der Aufruf erfolgreich.

[in, out] pbtdiInout

Ein Zeiger auf eine BLUETOOTH_DEVICE_INFO-Struktur , die das authentifizierte Gerät beschreibt.

[in, optional] pbtOobData

Zeiger auf gerätespezifische Out-of-Band-Daten, die mit diesem API-Aufruf bereitgestellt werden sollen. Wenn NULL, wird eine Benutzeroberfläche angezeigt, um den Authentifizierungsprozess fortzusetzen. Wenn nicht NULL, wird keine Benutzeroberfläche angezeigt.

Hinweis Wenn ein Rückruf mit BluetoothRegisterForAuthenticationEx registriert wird, wird keine Benutzeroberfläche angezeigt.
 

[in] authenticationRequirement

Ein BLUETOOTH_AUTHENTICATION_REQUIREMENTS Wert, der den für die Authentifizierung erforderlichen Schutz angibt.

Rückgabewert

Gibt nach erfolgreichem Abschluss ERROR_SUCCESS zurück. gibt bei Einem Fehler die folgenden Fehlercodes zurück:

Rückgabecode Beschreibung
ERROR_CANCELLED
Der Benutzer hat den Vorgang abgebrochen.
ERROR_INVALID_PARAMETER
Die in pbdti angegebene Gerätestruktur ist ungültig.
ERROR_NO_MORE_ITEMS
Das Gerät in pbtdi wurde bereits als authentifiziert markiert.

Hinweise

Die vonpbtdilInOut angegebene BLUETOOTH_DEVICE_INFO-Struktur muss die Adresse eines zu authentifizierden Geräts enthalten. Wenn der Wert von pbtOobData nicht NULL ist, wird versucht, das Remotegerät mit den bereitgestellten Out-of-Band-Daten zu authentifizieren.

Für alle anderen Authentifizierungstypen sollte der Aufrufer einen Authentifizierungsrückruf mithilfe von BluetoothRegisterForAuthenticationEx registrieren und dann mit BluetoothSendAuthenticationResponseEx auf die relevante Authentifizierungsmethode reagieren.

Beispiele

Im folgenden Beispielcode wurde ein Gerät gefunden, und eine Authentifizierungsanforderung wird mithilfe von BluetoothAuthenticateDeviceEx gesendet.

PBLUETOOTH_DEVICE_INFO pDeviceInfo; 
HRESULT status;
HANDLE hEvent = NULL;

HRESULT WINAPI AuthenticateService(){

	status = BluetoothAuthenticateDeviceEx( NULL,
					        NULL,
					        pDeviceInfo,
					        NULL,
					        MITMProtectionNotRequired );

	if ( ERROR_INVALID_PARAMETER == status ) {
		// goto Cleanup;
		// ...
		// Take cleanup action here,
		// ...
	}
//
// Wait for the Authentication callback to return before trying to unregister the handle
// Use an infinite timeout since the handle to the function that sets the event is being
// deleted
//

	if ( WAIT_FAILED == WaitForSingleObject(hEvent, INFINITE) ) {
        	status = GetLastError();
        	// goto Cleanup;
		// ...
		// Take cleanup action here,
		// ...
	}

      return status;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile bluetoothapis.h (include Bthsdpdef.h, BluetoothAPIs.h)
Bibliothek Bthprops.lib
DLL bthprops.cpl

Weitere Informationen

BluetoothAuthenticateDevice