Win32 API 日本語リファレンス
ホームNetworkManagement.WiFi › IDot11AdHocNetwork

IDot11AdHocNetwork

COM
IID8f10cc29-cf0d-42a0-acbe-e2de7007384d継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

接続範囲内にある、利用可能なアドホック ネットワークの接続先を表します。

メソッド 12

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

vtbl 3 HRESULT GetStatus(DOT11_ADHOC_NETWORK_CONNECTION_STATUS* eStatus)

ネットワークの接続状態を取得します。

eStatusDOT11_ADHOC_NETWORK_CONNECTION_STATUS*inout接続状態を示す DOT11_ADHOC_NETWORK_CONNECTION_STATUS 値へのポインター。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 4 HRESULT GetSSID(LPWSTR* ppszwSSID)

ネットワークの SSID を取得します。

ppszwSSIDLPWSTR*out

ネットワークの SSID。

この文字列は CoTaskMemFree を使用して解放する必要があります。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 5 HRESULT HasProfile(BYTE* pf11d)

ネットワークに関連付けられた保存済みプロファイルが存在するかどうかを示すブール値を返します。

pf11dBYTE*inoutネットワークにプロファイルがあるかどうかを示します。プロファイルがある場合は TRUE、そうでない場合は FALSE が設定されます。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 6 HRESULT GetProfileName(LPWSTR* ppszwProfileName)

ネットワークに関連付けられたプロファイル名を取得します。

ppszwProfileNameLPWSTR*out

ネットワークに関連付けられたプロファイルの名前。ネットワークにプロファイルがない場合、このパラメーターは NULL になります。

この文字列は CoTaskMemFree を使用して解放する必要があります。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 7 HRESULT DeleteProfile()

ネットワークに関連付けられたプロファイルを削除します。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
vtbl 8 HRESULT GetSignalQuality(DWORD* puStrengthValue, DWORD* puStrengthMax)

ネットワークの無線に関連付けられた信号品質の値を取得します。

puStrengthValueDWORD*out現在の信号強度。このパラメーターは 0 から puStrengthMax までの ULONG 値を取ります。
puStrengthMaxDWORD*out信号強度の最大値。このパラメーターは 0 から 100 までの ULONG 値を取ります。既定では、puStrengthMax は 100 に設定されます。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。

解説(Remarks)

ここでの信号強度は線形スケールで測定されます。puStrengthMax が既定値の 100 に設定されている場合、puStrengthValue は現在の送信に使用されている最大信号強度に対する割合 (パーセント) を表します。

vtbl 9 HRESULT GetSecuritySetting(IDot11AdHocSecuritySettings** pAdHocSecuritySetting)

ネットワークのセキュリティ設定を取得します。

pAdHocSecuritySettingIDot11AdHocSecuritySettings**outネットワークのセキュリティ設定を保持する IDot11AdHocSecuritySettings インターフェイスへのポインター。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 10 HRESULT GetContextGuid(GUID* pContextGuid)

ネットワークに関連付けられたコンテキスト識別子を取得します。

pContextGuidGUID*inoutネットワークに関連付けられたコンテキスト識別子。CreateNetwork の呼び出し時に ContextGuid が指定されなかった場合、返される GUID はすべてゼロになります。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 11 HRESULT GetSignature(GUID* pSignature)

アドホック ネットワークに関連付けられた一意のシグネチャを取得します。

pSignatureGUID*inoutアドホック ネットワークを一意に識別するシグネチャ。このシグネチャは特定のネットワーク属性から生成されます。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。

解説(Remarks)

返されたシグネチャをローカルにキャッシュしないでください。ネットワーク オブジェクトが変更されるたびに、そのシグネチャも変化します。ネットワークのプロファイルの保存など、通知を伴わない操作によってもシグネチャが変化することがあります。

vtbl 12 HRESULT GetInterface(IDot11AdHocInterface** pAdHocInterface)

ネットワークに関連付けられたインターフェイスを取得します。

pAdHocInterfaceIDot11AdHocInterface**outIDot11AdHocInterface へのポインター。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。
vtbl 13 HRESULT Connect(LPWSTR Passphrase, INT GeographicalId, BOOLEAN fSaveProfile, BOOLEAN fMakeSavedProfileUserSpecific)

以前に作成されたワイヤレス アドホック ネットワークに接続します。

PassphraseLPWSTRin

ネットワーク上でユーザーまたはコンピューターを認証するために使用するパスワード文字列。

パスワード文字列の長さは、CreateNetwork 呼び出しの pSecurity パラメーターで渡されたセキュリティ設定によって決まります。次の表は、各セキュリティ設定に対応するパスワード長を示します。

セキュリティ設定 パスワード長
Open-None 0
Open-WEP 5 文字または 13 文字。16 進数の場合は 10 桁または 26 桁
WPA2PSK 8 ~ 63 文字

上記のセキュリティ設定の組み合わせに対応する列挙値については、DOT11_ADHOC_AUTH_ALGORITHM および DOT11_ADHOC_CIPHER_ALGORITHM を参照してください。

GeographicalIdINTinネットワークが作成された地理的な場所。指定可能な値の一覧については、Table of Geographical Locations を参照してください。
fSaveProfileBOOLEANin

ワイヤレス プロファイルを保存するかどうかを指定する省略可能なパラメーター。TRUE の場合、プロファイルはプロファイル ストアに保存されます。プロファイルを保存すると、ユーザーは ワイヤレス ネットワークの管理 ユーザー インターフェイスを使用してプロファイルを変更できます。プロファイルは Native Wifi Functions を使用して変更することもできます。

プロファイルを保存すると、IDot11AdHocNetwork::GetSignature が返すネットワーク シグネチャが変化します。

fMakeSavedProfileUserSpecificBOOLEANin

保存するプロファイルを全ユーザー用プロファイルにするかどうかを指定する省略可能なパラメーター。TRUE に設定した場合、プロファイルは現在のユーザー専用になります。FALSE に設定した場合、プロファイルは全ユーザー用プロファイルとなり、コンピューターにログオンしている任意のユーザーが使用できます。fSaveProfileFALSE の場合、このパラメーターは無視されます。

既定では、全ユーザー用プロファイルを保存できるのは Administrators グループのメンバーのみです。これらのセキュリティ設定は WlanSetSecuritySettings 関数を使用して変更できます。全ユーザー用プロファイルを正常に保存するには、十分な権限を持つユーザーがアプリケーションを起動する必要があります。

アプリケーションがリモート デスクトップ ウィンドウ内で実行されている場合、保存できるのは全ユーザー用プロファイルのみです。リモートで実行中のアプリケーションからユーザー固有のプロファイルを保存することはできません。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
E_INVALIDARG
いずれかのパラメーターが無効です。
E_NOINTERFACE
指定されたインターフェイスはサポートされていません。
E_OUTOFMEMORY
この操作の実行に必要なメモリを割り当てられませんでした。
E_POINTER
パラメーターとして渡されたポインターが無効です。

解説(Remarks)

このメソッドは非同期です。Connect は、渡されたパラメーターが有効であれば直ちに S_OK を返します。ただし、S_OK が返されても接続が成功したことを意味するわけではありません。接続の成否の通知を受け取るには、IDot11AdHocNetworkNotificationSink インターフェイスで通知を登録する必要があります。接続状態は IDot11AdHocNetworkNotificationSink::OnStatusChange メソッドによって返されます。通知の登録の詳細については、IDot11AdHocManager を参照してください。

vtbl 14 HRESULT Disconnect()

アドホック ネットワークから切断します。

戻り値

返される可能性のある値には、次のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_FAIL
メソッドは失敗しました。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IDot11AdHocNetwork "{8F10CC29-CF0D-42A0-ACBE-E2DE7007384D}"
#usecom global IDot11AdHocNetwork IID_IDot11AdHocNetwork "{}"
#comfunc global IDot11AdHocNetwork_GetStatus           3 var
#comfunc global IDot11AdHocNetwork_GetSSID             4 var
#comfunc global IDot11AdHocNetwork_HasProfile          5 var
#comfunc global IDot11AdHocNetwork_GetProfileName      6 var
#comfunc global IDot11AdHocNetwork_DeleteProfile       7
#comfunc global IDot11AdHocNetwork_GetSignalQuality    8 var,var
#comfunc global IDot11AdHocNetwork_GetSecuritySetting  9 sptr
#comfunc global IDot11AdHocNetwork_GetContextGuid      10 var
#comfunc global IDot11AdHocNetwork_GetSignature        11 var
#comfunc global IDot11AdHocNetwork_GetInterface        12 sptr
#comfunc global IDot11AdHocNetwork_Connect             13 wstr,int,int,int
#comfunc global IDot11AdHocNetwork_Disconnect          14
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。