BluetoothAuthenticateDeviceEx 関数 (bluetoothapis.h)

BluetoothAuthenticateDeviceEx 関数は、リモート Bluetooth デバイスに認証要求を送信します。 さらに、この関数を使用すると、認証されるデバイスの関数呼び出しに帯域外データを渡すことができます。

メモ この API は、Windows Vista SP2 と Windows 7 でサポートされています。
 

構文

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
);

パラメーター

[in, optional] hwndParentIn

認証ウィザードの親となるウィンドウ。 NULL の場合、ウィザードはデスクトップから親になります。

[in, optional] hRadioIn

有効なローカル 無線ハンドルまたは NULLNULL の場合、すべての無線が試行されます。 いずれかの無線が成功した場合、呼び出しは成功します。

[in, out] pbtdiInout

認証されるデバイスを記述する BLUETOOTH_DEVICE_INFO 構造体へのポインター。

[in, optional] pbtOobData

この API 呼び出しで提供されるデバイス固有の帯域外データへのポインター。 NULL の場合は、認証プロセスを続行するための UI が表示されます。 NULL でない場合、UI は表示されません。

メモBluetoothRegisterForAuthenticationEx を使用してコールバックが登録されている場合、UI は表示されません。
 

[in] authenticationRequirement

認証 必要な保護を指定するBLUETOOTH_AUTHENTICATION_REQUIREMENTS値。

戻り値

正常に完了するとERROR_SUCCESSを返します。エラーが発生すると、次のエラー コードが返されます。

リターン コード 説明
ERROR_CANCELLED
ユーザーが操作を中止しました。
ERROR_INVALID_PARAMETER
pbdti で指定されたデバイス構造が無効です。
ERROR_NO_MORE_ITEMS
pbtdi 内のデバイスは既に認証済みとしてマークされています。

注釈

pbtdilInOut で指定されるBLUETOOTH_DEVICE_INFO構造体には、認証するデバイスのアドレスが含まれている必要があります。 pbtOobData の値が NULL でない場合は、指定された帯域外データを使用してリモート デバイスを認証しようとします。

他のすべての種類の認証では、呼び出し元は BluetoothRegisterForAuthenticationEx を使用して認証コールバックを登録し、 BluetoothSendAuthenticationResponseEx を使用して関連する認証方法に応答する必要があります。

次のコード例では、デバイスが見つかり、 BluetoothAuthenticateDeviceEx を使用して認証要求が送信されます。

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;
}

要件

要件
サポートされている最小のクライアント WINDOWS XP と SP2 [デスクトップ アプリのみ]
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー bluetoothapis.h (Bthsdpdef.h、BluetoothAPIs.h を含む)
Library Bthprops.lib
[DLL] bthprops.cpl

こちらもご覧ください

BluetoothAuthenticateDevice