IDot11AdHocManager
COM公式ドキュメント
802.11 アドホック ネットワークを作成および管理します。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ワイヤレス アドホック ネットワークを作成します。
| Name | LPWSTR | in | ネットワークのフレンドリ名です。この文字列は 32 文字以内に制限してください。フレンドリ名には SSID を使用します。この名前はビーコンでブロードキャストされます。 | ||||||||
| Password | LPWSTR | in | ネットワーク上でのコンピューターまたはユーザーの認証に使用されるパスワードです。 パスワード文字列の長さは、pSecurity パラメーターで渡されるセキュリティ設定によって異なります。次の表は、各セキュリティ設定に対応するパスワードの長さを示しています。
上記のセキュリティ設定の組み合わせに対応する列挙値については、DOT11_ADHOC_AUTH_ALGORITHM および DOT11_ADHOC_CIPHER_ALGORITHM を参照してください。 | ||||||||
| GeographicalId | INT | in | ネットワークを作成する地理的な場所です。指定可能な値の一覧については、Table of Geographical Locations を参照してください。 インターフェイスが 802.11d に準拠していない場合、この値は無視されます。つまり、IDot11AdHocInterface::IsDot11d が FALSE を返す場合、この値は無視されます。 どの値を使用すべきか不明な場合は、GeographicalId に CTRY_DEFAULT を設定してください。CTRY_DEFAULT を使用すると、802.11d への準拠は強制されません。 | ||||||||
| pInterface | IDot11AdHocInterface* | in | 新しいネットワークを作成するネットワーク インターフェイスを指定する IDot11AdHocInterface への省略可能なポインターです。このパラメーターが NULL の場合、未使用の最初のインターフェイスが使用されます。すべてのインターフェイスが使用中の場合は、列挙された最初のインターフェイスが使用されます。その場合、そのインターフェイス上の以前のネットワークは切断されます。 | ||||||||
| pSecurity | IDot11AdHocSecuritySettings* | in | ネットワークで使用するセキュリティ設定を指定する IDot11AdHocSecuritySettings インターフェイスへのポインターです。 | ||||||||
| pContextGuid | GUID* | in | ネットワークを作成したアプリケーションの GUID を指定する省略可能なパラメーターです。アプリケーションはこの識別子を使用して、GetIEnumDot11AdHocNetworks で列挙されるネットワークを、自身が作成したネットワークに限定できます。このフィルター処理が正しく機能するには、すべてのコンピューター上のアプリケーションのすべてのインスタンスが同じ GUID を使用する必要があります。 | ||||||||
| pIAdHoc | IDot11AdHocNetwork** | out | 作成されたネットワークを表す IDot11AdHocNetwork インターフェイスへのポインターです。 |
戻り値
戻り値には次のものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| メソッドが失敗しました。 | |
| いずれかのパラメーターが無効です。 | |
| 指定されたインターフェイスはサポートされていません。 | |
| この操作の実行に必要なメモリを割り当てられませんでした。 | |
| パラメーターとして渡されたポインターが無効です。 | |
|
指定された Name を持つネットワークが既に存在します。 |
|
pInterface インターフェイスが、無線がオフになっていることを報告しています。 |
|
pInterface インターフェイスが、アドホック ネットワークを構成できないことを報告しています。この状態は、NIC がアドホック ネットワークをサポートしていない場合、または NIC が pSecurity で指定されたセキュリティ設定をサポートしていない場合に発生します。 |
|
pSecurity の設定は pInterface インターフェイスでサポートされていません。 |
|
指定された Password が無効です。指定されたパスワードの長さが、pSecurity で指定されたセキュリティ設定に対して不正である可能性があります。 |
|
コンピューター上にワイヤレス ネットワーク インターフェイス カードが見つかりませんでした。 |
|
グループ ポリシーまたは管理設定によって、ネットワークの作成が禁止されています。 |
解説(Remarks)
CreateNetwork の呼び出しが成功すると、pIAdHoc で返されるネットワーク オブジェクトはプロビジョニングされますが、まだ構築されていません。続いて CommitCreatedNetwork を呼び出すことで、ネットワークが初期化されます。ネットワークがコミットされるまでビーコンは送信されません。
CreateNetwork の呼び出し直後は、ネットワークに接続されているクライアントやホストはありません。接続試行の成功と失敗のいずれも、IDot11AdHocManagerNotificationSink インターフェイスを通じてアプリケーションに通知されます。このインターフェイスでの通知の登録方法については、IDot11AdHocManager を参照してください。
作成されたネットワークを初期化し、必要に応じてそのネットワークのプロファイルをプロファイル ストアにコミットします。
| pIAdHoc | IDot11AdHocNetwork* | in | 初期化してコミットするネットワークを指定する IDot11AdHocNetwork インターフェイスへのポインターです。 |
| fSaveProfile | BOOLEAN | in | ワイヤレス プロファイルを保存するかどうかを指定する省略可能なパラメーターです。TRUE の場合、プロファイルはプロファイル ストアに保存されます。プロファイルが保存されると、ユーザーは [ワイヤレス ネットワークの管理] ユーザー インターフェイスを使用してプロファイルを変更できます。プロファイルは Native Wifi Functions を使用して変更することもできます。 プロファイルを保存すると、IDot11AdHocNetwork::GetSignature が返すネットワーク シグネチャが変化します。 |
| fMakeSavedProfileUserSpecific | BOOLEAN | in | 保存するプロファイルを全ユーザー用プロファイルとするかどうかを指定する省略可能なパラメーターです。TRUE を設定した場合、プロファイルは現在のユーザー専用になります。FALSE を設定した場合、プロファイルは全ユーザー用プロファイルとなり、そのコンピューターにログオンした任意のユーザーが使用できます。fSaveProfile が FALSE の場合、このパラメーターは無視されます。 既定では、全ユーザー用プロファイルを永続化できるのは Administrators グループのメンバーだけです。これらのセキュリティ設定は WlanSetSecuritySettings 関数を使用して変更できます。全ユーザー用プロファイルを正常に永続化するには、十分な特権を持つユーザーがアプリケーションを起動する必要があります。 アプリケーションがリモート デスクトップ ウィンドウ内で実行されている場合、保存できるのは全ユーザー用プロファイルのみです。リモートで実行中のアプリケーションからユーザー固有のプロファイルを保存することはできません。 |
戻り値
戻り値には次のものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| メソッドが失敗しました。 | |
| いずれかのパラメーターが無効です。 | |
| 指定されたインターフェイスはサポートされていません。 | |
| この操作の実行に必要なメモリを割り当てられませんでした。 | |
| パラメーターとして渡されたポインターが無効です。 |
接続範囲内で利用可能なアドホック ネットワークの接続先一覧を返します。
| pContextGuid | GUID* | in | ネットワークを作成したアプリケーションの GUID を指定する省略可能なパラメーターです。アプリケーションはこの識別子を使用して、列挙されるネットワークを自身が作成したネットワークに限定できます。このフィルター処理が正しく機能するには、すべてのコンピューター上のアプリケーションのすべてのインスタンスが同じ GUID を使用する必要があります。 |
| ppEnum | IEnumDot11AdHocNetworks** | out | 列挙されたネットワークを格納する IEnumDot11AdHocNetworks インターフェイスへのポインターです。 |
戻り値
戻り値には次のものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| メソッドが失敗しました。 | |
| いずれかのパラメーターが無効です。 | |
| 指定されたインターフェイスはサポートされていません。 | |
| この操作の実行に必要なメモリを割り当てられませんでした。 | |
| パラメーターとして渡されたポインターが無効です。 |
コンピューター上で利用可能なワイヤレス ネットワーク インターフェイス カード (NIC) の集合を返します。
| ppEnum | IEnumDot11AdHocInterfaces** | out | NIC の一覧を格納する IEnumDot11AdHocInterfaces インターフェイスへのポインターです。 |
戻り値
戻り値には次のものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| メソッドが失敗しました。 | |
| いずれかのパラメーターが無効です。 | |
| 指定されたインターフェイスはサポートされていません。 | |
| この操作の実行に必要なメモリを割り当てられませんでした。 | |
| パラメーターとして渡されたポインターが無効です。 |
シグネチャに関連付けられたネットワークを返します。
| NetworkSignature | GUID* | in | アドホック ネットワークを一意に識別するシグネチャです。このシグネチャは、特定のネットワーク属性から生成されます。 |
| pNetwork | IDot11AdHocNetwork** | out | シグネチャに関連付けられたネットワークを表す IDot11AdHocNetwork インターフェイスへのポインターです。 |
戻り値
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDot11AdHocManager "{8F10CC26-CF0D-42A0-ACBE-E2DE7007384D}" #usecom global IDot11AdHocManager IID_IDot11AdHocManager "{DD06A84F-83BD-4D01-8AB9-2389FEA0869E}" #comfunc global IDot11AdHocManager_CreateNetwork 3 wstr,wstr,int,sptr,sptr,var,sptr #comfunc global IDot11AdHocManager_CommitCreatedNetwork 4 sptr,int,int #comfunc global IDot11AdHocManager_GetIEnumDot11AdHocNetworks 5 var,sptr #comfunc global IDot11AdHocManager_GetIEnumDot11AdHocInterfaces 6 sptr #comfunc global IDot11AdHocManager_GetNetwork 7 var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDot11AdHocManager "{8F10CC26-CF0D-42A0-ACBE-E2DE7007384D}" #usecom global IDot11AdHocManager IID_IDot11AdHocManager "{DD06A84F-83BD-4D01-8AB9-2389FEA0869E}" #comfunc global IDot11AdHocManager_CreateNetwork 3 wstr,wstr,int,sptr,sptr,sptr,sptr #comfunc global IDot11AdHocManager_CommitCreatedNetwork 4 sptr,int,int #comfunc global IDot11AdHocManager_GetIEnumDot11AdHocNetworks 5 sptr,sptr #comfunc global IDot11AdHocManager_GetIEnumDot11AdHocInterfaces 6 sptr #comfunc global IDot11AdHocManager_GetNetwork 7 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。