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.
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.
[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 |
---|---|
|
Der Benutzer hat den Vorgang abgebrochen. |
|
Die in pbdti angegebene Gerätestruktur ist ungültig. |
|
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 |