共用方式為


BluetoothAuthenticateDeviceEx 函式 (bluetoothapis.h)

BluetoothAuthenticateDeviceEx 函式會將驗證要求傳送至遠端藍牙裝置。 此外,此函式允許將頻外數據傳遞至要驗證之裝置的函式呼叫。

注意 Windows Vista SP2 和 Windows 7 支援此 API。
 

語法

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

有效的本機無線電句柄或 NULL。 如果 為 NULL,則會嘗試所有無線電。 如果任一無線電成功,則呼叫將會成功。

[in, out] pbtdiInout

描述所驗證裝置之 BLUETOOTH_DEVICE_INFO 結構的指標。

[in, optional] pbtOobData

要與此 API 呼叫一起提供的裝置特定頻外數據指標。 如果 為 NULL,則會顯示 UI 以繼續驗證程式。 如果不是 NULL,則不會顯示任何 UI。

注意 如果使用 BluetoothRegisterForAuthenticationEx 註冊回呼,則不會顯示 UI。
 

[in] authenticationRequirement

BLUETOOTH_AUTHENTICATION_REQUIREMENTS值,指定驗證所需的保護。

傳回值

成功完成時傳回ERROR_SUCCESS;失敗時會傳回下列錯誤碼:

傳回碼 Description
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;
}

規格需求

需求
最低支援的用戶端 具有 SP2 的 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 bluetoothapis.h (包括 Bthsdpdef.h、BluetoothAPIs.h)
程式庫 Bthprops.lib
Dll bthprops.cpl

另請參閱

BluetoothAuthenticateDevice