Win32 API:BluetoothFindDeviceClose 函数(Bluetoothapis.h)
BluetoothFindDeviceClose 函数用于关闭通过 BluetoothFindFirstDevice 或 BluetoothFindNextDevice 函数打开的设备搜索句柄。以下是该函数的声明:BOOL BluetoothFindDeviceClose( HBLUETOOTH_DEVICE_FIND hFind);参数说明: hFind: 通过 BluetoothFindFirstDevice 或 BluetoothFindNextDevice 函数获得的设备搜索句柄。函数返回 TRUE 表示成功关闭设备搜索句柄,FALSE 表示失败。以下是一个简单的示例代码,演示如何使用 BluetoothFindDeviceClose 函数:#include <BluetoothAPIs.h>#include <stdio.h>int main(){ // 示例中省略了蓝牙无线电的获取步骤 HBLUETOOTH_DEVICE_FIND hFind; BLUETOOTH_DEVICE_INFO btdi = { sizeof(BLUET...
Win32 API:BluetoothEnumerateInstalledServices 函数(Bluetoothapis.h)
BluetoothEnumerateInstalledServices 函数用于枚举已安装的蓝牙服务的信息。以下是该函数的声明:DWORD BluetoothEnumerateInstalledServices( HANDLE hRadio, const BLUETOOTH_DEVICE_INFO *pbtdi, DWORD *pcServiceInout, GUID *pGuidServices);参数说明: hRadio: 本地蓝牙无线电的句柄。可以使用 BluetoothFindFirstRadio 函数获取。 pbtdi: 指向 BLUETOOTH_DEVICE_INFO 结构的指针,包含要查询服务信息的蓝牙设备的信息。 pcServiceInout: 传入时指定 pGuidServices 数组的大小,传出时返回实际找到的服务数量。 pGuidServices: 用于接收已安装服务的 GUID 数组的指针。函数返回 ERROR_SUCCE...
Win32 API:BluetoothEnableDiscovery 函数(Bluetoothapis.h)
BluetoothEnableDiscovery 函数用于启用或禁用蓝牙设备的可检测性(discoverability)。这意味着蓝牙设备可以被其他设备检测到,以便建立蓝牙连接。以下是 BluetoothEnableDiscovery 函数的声明:BOOL BluetoothEnableDiscovery( HANDLE hRadio, BOOL fEnabled);参数说明: hRadio: 本地蓝牙无线电的句柄。可以使用 BluetoothFindFirstRadio 函数获取。 fEnabled: 如果设置为 TRUE,表示启用可检测性;如果设置为 FALSE,表示禁用可检测性。函数返回 TRUE 表示成功,FALSE 表示失败。如果失败,可以使用 GetLastError 函数获取详细的错误信息。以下是一个简单的示例代码,演示如何使用 BluetoothEnableDiscovery 函数:#include <BluetoothAPIs.h>void EnableBluetoothDiscovery(){ HANDLE hRadio; /...
Win32 API:BluetoothAuthenticateDeviceEx 函数(Bluetoothapis.h)
BluetoothAuthenticateDeviceEx 函数是 Windows 中用于对蓝牙设备进行身份验证的扩展函数。与 BluetoothAuthenticateDevice 不同,BluetoothAuthenticateDeviceEx 允许提供更多的参数以支持更复杂的身份验证场景。以下是 BluetoothAuthenticateDeviceEx 函数的声明:DWORD BluetoothAuthenticateDeviceEx( HWND hwndParentIn, HANDLE hRadioIn, BLUETOOTH_DEVICE_INFO *pbtdiInout, PBLUETOOTH_OOB_DATA pbtOobData, AUTHENTICATION_REQUIREMENTS authenticationRequirement, LPWSTR pszPasskey, ULONG cPasskey...
Win32 API:BluetoothAuthenticateDevice 函数(Bluetoothapis.h)
BluetoothAuthenticateDevice 函数是 Windows 中用于对蓝牙设备进行身份验证的函数。此函数用于启动与指定蓝牙设备的身份验证过程。以下是该函数的声明:BOOL BluetoothAuthenticateDevice( HWND hwndParent, HANDLE hRadio, BLUETOOTH_DEVICE_INFO *pbtdi, LPCWSTR pszPasskey, ULONG ulPasskeyLength);参数说明: hwndParent: 指定用于用户交互的父窗口的句柄。如果不需要用户交互,则可以将其设置为 NULL。 hRadio: 本地蓝牙无线电的句柄。可以使用 BluetoothFindFirstRadio 函数获取。 pbtdi: 指向 BLUETOOTH_DEVICE_INFO 结构的指针,该结构包含要验证的蓝牙设备的信息。 pszPasskey: 用于验证的 PIN 码,如...
Win32 API:IBackgroundCopyJob5 接口(Bits5_0.h)
IBackgroundCopyJob5 接口是与 BITS(后台智能传输服务)相关的 Win32 API 接口之一,它提供了对 BITS 5.0 版本的后台传输作业的控制。BITS 是一种由 Microsoft 提供的技术,用于在后台进行文件传输,通常用于在后台下载文件,例如 Windows 更新。以下是 IBackgroundCopyJob5 接口的一些常用方法:interface IBackgroundCopyJob5 : IBackgroundCopyJob4{ HRESULT SetProperty( [in] BITS_JOB_PROPERTY_ID propertyId, [in] VARIANT *pValue ); HRESULT GetProperty( [in] BITS_JOB_PROPERTY_ID propertyId, [out] VARIANT *pValue ); HRESULT GetErrorCount( [out] DWORD *Errors ...
Win32 API:IBitsTokenOptions 接口(Bits4_0.h)
在 BITS(Background Intelligent Transfer Service)的 Win32 API 中,IBitsTokenOptions 接口用于设置 BITS 作业的令牌选项。这个接口可能是 BITS 的一个较新版本(例如 Bits4_0.h)中引入的接口。以下是 IBitsTokenOptions 接口的一些主要方法:interface IBitsTokenOptions : IUnknown{ HRESULT SetElevationType([in] BG_JOB_TOKEN_ELEVATION_TYPE ElevationType); HRESULT GetElevationType([out] BG_JOB_TOKEN_ELEVATION_TYPE* pElevationType);};其中: SetElevationType 方法用于设置 BITS 作业的令牌提升类型(Elevation Type)。 GetElevationType 方法用于获取 BITS 作业的令牌提升类型。这些方法允许你在 BITS 作业中设置和获取令牌提升类型,以便...
Win32 API:IEnumBitsPeerCacheRecords 接口(Bits3_0.h)
IEnumBitsPeerCacheRecords 接口是 BITS(Background Intelligent Transfer Service)的 Win32 API 中的一部分,用于枚举 BITS 对等缓存中的记录。这个接口提供了一些方法,允许你迭代 BITS 对等缓存中的记录集合。以下是 IEnumBitsPeerCacheRecords 接口的一些主要方法:interface IEnumBitsPeerCacheRecords : IUnknown{ HRESULT Next([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] IBitsPeerCacheRecord** rgelt, [out] ULONG* pceltFetched); HRESULT Skip([in] ULONG celt); HRESULT Reset(); HRESULT Clone([out] IEnumBitsPeerCacheRecords** ppenum);};其中: Next 方法用于...
Win32 API:IBitsPeerCacheRecord 接口(Bits3_0.h)
IBitsPeerCacheRecord 接口是 BITS(Background Intelligent Transfer Service)的 Win32 API 中的一部分,用于表示 BITS 对等缓存中的记录。这个接口提供了一些方法,允许你检索和操作 BITS 对等缓存中的记录信息。以下是 IBitsPeerCacheRecord 接口的一些主要方法:interface IBitsPeerCacheRecord : IUnknown{ HRESULT GetId([out] GUID* pVal); HRESULT GetOriginUrl([out] LPWSTR* pVal); HRESULT GetFileSize([out] ULONGLONG* pVal); HRESULT GetFileModificationTime([out] FILETIME* pVal); HRESULT GetLastAccessTime([out] FILETIME* pVal); HRESULT IsFileValidated(); HRESULT...
Win32 API:IBitsPeerCacheAdministration 接口(Bits3_0.h)
在 BITS(Background Intelligent Transfer Service)的 Win32 API 中,IBitsPeerCacheAdministration 接口用于管理 BITS 对等缓存。这个接口提供了一些方法,允许你执行对等缓存的管理操作。以下是 IBitsPeerCacheAdministration 接口的一些主要方法:interface IBitsPeerCacheAdministration : IUnknown{ HRESULT Initialize([in] LPCWSTR wszCacheDir, [in] LPCWSTR wszPeerName, [in] DWORD dwFlags); HRESULT AddFile([in] LPCWSTR wszFile, [in] LPCWSTR wszMetaData, [in] DWORD dwFlags); HRESULT EnumFiles([out] IEnumUnknown** ppEnum); HRESULT GetFile([in] LPCWSTR wszFil...
Win32 API:IBackgroundCopyFile3 接口(Bits3_0.h)
在 BITS(Background Intelligent Transfer Service)的 Win32 API 中,IBackgroundCopyFile3 接口提供了一些额外的功能,相对于较旧版本的 IBackgroundCopyFile 接口而言。请注意,BITS 的接口和功能可能随着不同版本的 Windows SDK 而有所变化。以下是 IBackgroundCopyFile3 接口的一些主要方法和属性,以供参考:interface IBackgroundCopyFile3 : IBackgroundCopyFile2{ HRESULT GetTemporaryName([out, string] LPWSTR* pFilename); HRESULT SetValidationState([in] BOOL state); HRESULT GetValidationState([out] BOOL* pState);};其中: GetTemporaryName 方法用于获取文件的临时名称。 SetValidationState 方法用于设置文件验证的状态...
Win32 API:IBackgroundCopyFile2 接口(Bits2_0.h)
IBackgroundCopyFile2 接口是 Windows 操作系统中的一个接口,用于与后台传输服务 (Background Intelligent Transfer Service, BITS) 一起使用,BITS 可以在后台进行文件传输,而不会影响用户的前台操作。这个接口提供了一些额外的功能,相对于较旧的 IBackgroundCopyFile 接口而言。以下是 IBackgroundCopyFile2 接口的一些主要方法和属性:interface IBackgroundCopyFile2 : IBackgroundCopyFile{ HRESULT GetFileProgress([out] BG_FILE_PROGRESS *pProgress); HRESULT GetFileRanges([in, out] DWORD *RangeCount, [out, size_is(, *RangeCount)] BG_FILE_RANGE **Ranges); HRESULT SetRemoteFile([in, string] LPCWSTR Remote...
Win32 API:IBackgroundCopyJob2 接口(Bits1_5.h)
在 BITS (Background Intelligent Transfer Service) 的 Win32 API 中,确实有 IBackgroundCopyJob2 接口,它是 IBackgroundCopyJob 接口的扩展版本,提供了额外的功能。以下是关于 IBackgroundCopyJob2 接口的一些基本信息:interface IBackgroundCopyJob2 : public IBackgroundCopyJob{public: virtual HRESULT STDMETHODCALLTYPE GetNotifyCmdLine( /* [out] */ LPWSTR* pProgID) = 0; virtual HRESULT STDMETHODCALLTYPE GetReplyFileName( /* [out] */ LPWSTR* pReplyFileName) = 0; virtual HRESULT STDMETHODCALLTYPE SetReplyFileName( /* [in] ...
Win32 API:BG_AUTH_TARGET 枚举(Bits1_5.h)
在 BITS (Background Intelligent Transfer Service) 的 Win32 API 中,确实有 BG_AUTH_TARGET 枚举,用于表示身份验证的目标。以下是关于 BG_AUTH_TARGET 枚举的一些基本信息:typedef enum BG_AUTH_TARGET{ BG_AUTH_TARGET_PROXY = 1, BG_AUTH_TARGET_SERVER = 2} BG_AUTH_TARGET;这个枚举包含以下两个成员:1. BG_AUTH_TARGET_PROXY: 表示身份验证目标为代理服务器。2. BG_AUTH_TARGET_SERVER: 表示身份验证目标为 BITS 作业的服务器。这些枚举值可用于设置 BG_AUTH_CREDENTIALS 结构中的 Target 成员,以指定身份验证凭据的目标。根据 BITS 作业的特定需求,你可以选择设置代理服务器或服务器的身份验证凭据。
Win32 API:BG_AUTH_SCHEME 枚举(Bits1_5.h)
在 BITS (Background Intelligent Transfer Service) 的 Win32 API 中,确实有 BG_AUTH_SCHEME 枚举,用于表示身份验证的方案。以下是关于 BG_AUTH_SCHEME 枚举的一些基本信息:typedef enum BG_AUTH_SCHEME{ BG_AUTH_SCHEME_NONE = 0, BG_AUTH_SCHEME_BASIC = 1, BG_AUTH_SCHEME_DIGEST = 2, BG_AUTH_SCHEME_NTLM = 3, BG_AUTH_SCHEME_NEGOTIATE = 4} BG_AUTH_SCHEME;这个枚举包含以下几个成员:1. BG_AUTH_SCHEME_NONE: 未指定身份验证方案。2. BG_AUTH_SCHEME_BASIC: 使用基本身份验证。3. BG_AUTH_SCHEME_DIGEST: 使用摘要身份验证。4. BG_AUTH_SCHEME_NTLM: 使用 NTLM 身份验证。5. BG_AUTH_SCHEME_NEGOTIATE...
Win32 API:BG_BASIC_CREDENTIALS 结构(Bits1_5.h)
在 BITS (Background Intelligent Transfer Service) 的 Win32 API 中,确实有 BG_BASIC_CREDENTIALS 结构,用于表示基本身份验证的凭据信息。以下是关于 BG_BASIC_CREDENTIALS 结构的一些基本信息:typedef struct _BG_BASIC_CREDENTIALS{ LPWSTR UserName; LPWSTR Password;} BG_BASIC_CREDENTIALS;这个结构包含以下两个成员:1. UserName: 指向包含用户名的字符串的指针。2. Password: 指向包含密码的字符串的指针。这些字段存储了用于进行基本身份验证的用户名和密码。在使用 BITS API 设置身份验证凭据时,你可以通过创建并填充 BG_BASIC_CREDENTIALS 结构,将其传递给相关的 BITS 函数。请注意,使用明文密码可能会带来安全风险,因此在实际应用中,建议采取更加安全的方式,如使用加密存储或其他身份验证方式。
Win32 API:BG_AUTH_CREDENTIALS 结构(Bits1_5.h)
BG_AUTH_CREDENTIALS 结构是与 Windows Background Intelligent Transfer Service (BITS) 相关的 Win32 API 中的一部分,用于设置 BITS 作业的身份验证凭据。以下是关于 BG_AUTH_CREDENTIALS 结构的一些基本信息:typedef struct _BG_AUTH_CREDENTIALS{ BG_AUTH_TARGET Target; BG_AUTH_SCHEME Scheme; LPWSTR Credentials;} BG_AUTH_CREDENTIALS;这个结构包含以下成员:1. Target: 一个 BG_AUTH_TARGET 枚举值,表示身份验证凭据的目标。可能的值有: - BG_AUTH_TARGET_PROXY: 代理服务器的身份验证凭据。 - BG_AUTH_TARGET_SERVER: 作业的服务器的身份验证凭据。2. Scheme: 一个 BG_AUTH_SCHEME 枚举值,表示身份验证的方案。可能的值有: - BG_AUTH_SCHEM...
Win32 API:IEnumBackgroundCopyJobs 接口(Bits.h)
IEnumBackgroundCopyJobs 接口是与 Windows Background Intelligent Transfer Service (BITS) 相关的 Win32 API 接口之一,用于枚举 BITS 作业。以下是关于 IEnumBackgroundCopyJobs 接口的一些基本信息:interface IEnumBackgroundCopyJobs : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ IBackgroundCopyJob** rgelt, /* [out] */ ULONG* pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; virtual HRESULT ST...
Win32 API:IEnumBackgroundCopyFiles 接口(Bits.h)
IEnumBackgroundCopyFiles 接口是与 Windows Background Intelligent Transfer Service (BITS) 相关的 Win32 API 接口之一,用于枚举 BITS 作业中的文件。以下是关于 IEnumBackgroundCopyFiles 接口的一些基本信息:interface IEnumBackgroundCopyFiles : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ IBackgroundCopyFile** rgelt, /* [out] */ ULONG* pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; virtual HR...
Win32 API:IBackgroundCopyManager 接口(Bits.h)
IBackgroundCopyManager 接口是与 Windows Background Intelligent Transfer Service (BITS) 相关的 Win32 API 接口之一,用于创建和管理 BITS 作业。以下是关于 IBackgroundCopyManager 接口的一些基本信息:interface IBackgroundCopyManager : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE CreateJob( /* [in] */ LPCWSTR DisplayName, /* [in] */ BG_JOB_TYPE Type, /* [out] */ GUID* pJobId, /* [out] */ IBackgroundCopyJob** ppJob) = 0; virtual HRESULT STDMETHODCALLTYPE GetJob( /* [in] */ REFGUID jobID...