Win32 API 日本語リファレンス
ホームDevices.PortableDevices › IRadioInstance

IRadioInstance

COM
IID70aa1c9e-f2b4-4c61-86d3-6b9fb75fd1a2継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetRadioManagerSignature(GUID* pguidSignature)
pguidSignatureGUID*outこのインスタンスを管理する無線マネージャーの署名GUIDを受け取る出力先。
vtbl 4 HRESULT GetInstanceSignature(LPWSTR* pbstrId)
pbstrIdLPWSTR*out無線インスタンスの一意な識別子文字列を受け取る出力先。
vtbl 5 HRESULT GetFriendlyName(DWORD lcid, LPWSTR* pbstrName)
lcidDWORDin表示名のロケールを指定するロケールID。
pbstrNameLPWSTR*out無線インスタンスのフレンドリ名を受け取る出力先。
vtbl 6 HRESULT GetRadioState(DEVICE_RADIO_STATE* pRadioState)
pRadioStateDEVICE_RADIO_STATE*out無線の現在状態(DEVICE_RADIO_STATE: オン/オフ/ソフトウェアオフ等)を受け取る出力先。
vtbl 7 HRESULT SetRadioState(DEVICE_RADIO_STATE radioState, DWORD uTimeoutSec)
radioStateDEVICE_RADIO_STATEin設定する無線状態(DEVICE_RADIO_STATE)。
uTimeoutSecDWORDin状態変更完了を待つタイムアウト秒数。
vtbl 8 BOOL IsMultiComm()
vtbl 9 BOOL IsAssociatingDevice()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IRadioInstance "{70AA1C9E-F2B4-4C61-86D3-6B9FB75FD1A2}"
#usecom global IRadioInstance IID_IRadioInstance "{}"
#comfunc global IRadioInstance_GetRadioManagerSignature  3 var
#comfunc global IRadioInstance_GetInstanceSignature      4 var
#comfunc global IRadioInstance_GetFriendlyName           5 int,var
#comfunc global IRadioInstance_GetRadioState             6 var
#comfunc global IRadioInstance_SetRadioState             7 int,int
#comfunc global IRadioInstance_IsMultiComm               8
#comfunc global IRadioInstance_IsAssociatingDevice       9
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。