原生 Wifi API 許可權
當呼叫端沒有足夠的許可權可執行要求的作業時,原生 Wifi API 呼叫可能會失敗。
許可權會儲存在與WLAN_SECURABLE_OBJECT相關聯的DACL (DACL清單) 。 如需 DACL 和安全性實體物件的詳細資訊,請參閱 DACLs 如何控制物件的存取。
下表顯示使用安全性實體物件的 Native Wifi 函式,以判斷呼叫端是否有足夠的許可權可執行要求的作業。 它也會顯示每個函式所使用的安全性實體物件。
函式 | 安全性實體物件 |
---|---|
WlanGetFilterList、 WlanSetFilterList |
|
WlanIhvControl |
|
WlanQueryAutoConfigParameter、 WlanSetAutoConfigParameter |
|
WlanQueryInterface、 WlanSetInterface |
|
WlanSetProfile |
|
WlanSetProfileList、 WlanSetProfilePosition |
|
在上述其中一個具名函式完成其作業之前,函式會擷取儲存在適當安全性實體物件中的 DACL。 然後函式會檢查 DACL,以查看呼叫端是否有足夠的許可權。 WlanGet* 和 WlanQuery* 函式要求 DACL 包含 存取控制專案 (ACE) ,以將呼叫執行緒的 存取權杖 授與函式WLAN_READ_ACCESS。 WlanSet* 函式需要 ACE,以授與呼叫執行緒WLAN_WRITE_ACCESS的存取權杖。 如果呼叫端沒有足夠的許可權,函式呼叫就會失敗,錯誤ERROR_ACCESS_DENIED。
每個安全性實體物件預設都有與其相關聯的 DACL。 您可以使用 WlanSetSecuritySettings 函式來變更儲存在 DACL 中的預設許可權。 若要判斷在特定系統上執行作業所需的有效使用者權限,請呼叫 WlanGetSecuritySettings。
所有使用者設定檔都有與設定檔本身相關聯的其他許可權。 使用 WlanSetProfile 或 WlanSaveTemporaryProfile建立或修改設定檔時,會建立所有使用者設定檔的許可權。 strAllUserProfileSecurity參數會指定修改設定檔、刪除設定檔或使用設定檔連線到網路的必要許可權。 刪除或修改設定檔需要WLAN_WRITE_ACCESS許可權。 使用設定檔連線到網路需要WLAN_EXECUTE_ACCESS許可權。
**Windows XP 搭配 SP3 和 Windows XP 的無線區域網路 API SP2:** 不支援 WlanGetSecuritySettings 和 WlanSetSecuritySettings 函式。 不使用 strAllUserProfileSecurity參數。
相關主題