ネイティブ Wifi API のアクセス許可
ネイティブ Wifi API の呼び出しは、呼び出し元が要求された操作を実行するための適切なアクセス許可を持っていない場合に失敗することがあります。
アクセス許可は、WLAN_SECURABLE_OBJECTに関連付けられた随意アクセス制御リスト (DACL) に格納されます。 DACL とセキュリティ保護可能なオブジェクトの詳細については、「オブジェクト へのアクセスを DACLs が制御する方法」を参照してください。
次の表は、セキュリティ保護可能なオブジェクトを使用して、呼び出し元が要求された操作を実行するための十分なアクセス許可を持っているかどうかを判断するネイティブ Wifi 関数を示しています。 また、各関数で使用されるセキュリティ保護可能なオブジェクトも示します。
機能 | セキュリティ保護可能なオブジェクト |
---|---|
WlanGetFilterList、 WlanSetFilterList |
|
WlanIhvControl |
|
WlanQueryAutoConfigParameter、 WlanSetAutoConfigParameter |
|
WlanQueryInterface、 WlanSetInterface |
|
WlanSetProfile |
|
WlanSetProfileList、 WlanSetProfilePosition |
|
上記の名前付き関数のいずれかが操作を完了する前に、関数は適切なセキュリティ保護可能なオブジェクトに格納されている DACL を取得します。 次に、関数は DACL をチェックして、呼び出し元に十分なアクセス許可があるかどうかを確認します。 WlanGet* 関数と WlanQuery* 関数では、DACL に、呼び出し元スレッドのアクセス トークンを関数にWLAN_READ_ACCESSするアクセス制御エントリ (ACE) が含まれている必要があります。 WlanSet* 関数には、呼び出し元のスレッド WLAN_WRITE_ACCESSのアクセス トークンを付与する ACE が必要です。 呼び出し元に十分なアクセス許可がない場合、関数呼び出しはエラー ERROR_ACCESS_DENIEDで失敗します。
セキュリティ保護可能な各オブジェクトには、既定で DACL が関連付けられています。 DACL に格納されている既定のアクセス許可は、 WlanSetSecuritySettings 関数を使用して変更できます。 特定のシステムで操作を実行するために必要な有効なユーザー権限を確認するには、 WlanGetSecuritySettings を呼び出します。
すべてのユーザー プロファイルには、プロファイル自体に関連付けられている追加のアクセス許可があります。 すべてのユーザー プロファイルに対するアクセス許可は、 WlanSetProfile または WlanSaveTemporaryProfile を使用してプロファイルを作成または変更すると確立されます。 strAllUserProfileSecurity パラメーターは、プロファイルの変更、プロファイルの削除、またはプロファイルを使用したネットワークへの接続に必要なアクセス許可を指定します。 プロファイルを削除または変更するには、WLAN_WRITE_ACCESSアクセス許可が必要です。 プロファイルを使用してネットワークに接続するには、WLAN_EXECUTE_ACCESSアクセス許可が必要です。
**SP3 を使用した Windows XP、SP2 を使用した Windows XP 用のワイヤレス LAN API: ** WlanGetSecuritySettings 関数と WlanSetSecuritySettings 関数はサポートされていません。 strAllUserProfileSecurity パラメーターは使用されません。
関連トピック