[自 Windows Vista 和 Windows Server 2008 起,不再支援WZCQueryInterface 。 請改用 WlanQueryInterface 函式。 如需詳細資訊,請參閱 關於原生 Wifi API。 ]
WZCQueryInterface函式提供無線零組態服務所管理無線區域網路 介面的詳細資訊。
提供指定介面的詳細資訊。
語法
DWORD WZCQueryInterface(
_In_ LPWSTR pSrvAddr,
_In_ DWORD dwInFlags,
_Inout_ PINTF_ENTRY pIntf,
_Out_ LPDWORD pdwOutFlags
);
參數
-
pSrvAddr [in]
-
字串的指標,包含執行此函式的電腦名稱稱。 如果此參數為 Null,則會在本機電腦上查詢無線零設定服務。
如果指定的 pSrvAddr 參數是遠端電腦,則遠端電腦必須支援遠端 RPC 呼叫。
-
dwInFlags [in]
-
要查詢的欄位。 這是位元遮罩,可以包含下列旗標的任何組合。
值 意義 - INTF_DYNFLAGS
- 0x00000010
傳回pIntf參數所指向之INTF_ENTRY結構中dwDynFlags成員的值。 - INTF_DESCR
- 0x00010000
傳回pIntf參數所指向之INTF_ENTRY結構中wszDescr成員的值。 - INTF_NDISMEDIA
- 0x00020000
傳回pIntf參數所指向之INTF_ENTRY結構中ulMediaState、ulMediaType和ulPhysicalMediaType成員的值。 - INTF_PREFLIST
- 0x00040000
傳回pIntf參數所指向之 INTF_ENTRY結構之 rdStSSIDList成員中慣用的網路清單。 - INTF_CAPABILITIES
- 0x00080000
傳回pIntf參數所指向之INTF_ENTRY結構中的dwCapabilities 和 rdNicCapabilities成員的值。 - INTF_INFRAMODE
- 0x00200000
傳回pIntf參數所指向之INTF_ENTRY結構中nInfraMode成員的值。
nInfraMode成員只有在某些介面內容狀態才有效。- INTF_AUTHMODE
- 0x00400000
傳回pIntf參數所指向之INTF_ENTRY結構中nAuthMode成員的值。
nAuthMode成員僅適用于某些介面內容狀態。- INTF_WEPSTATUS
- 0x00800000
傳回pIntf參數所指向之INTF_ENTRY結構中nWepStatus成員的值。
nWepStatus成員只有在某些介面內容狀態才有效。- INTF_SSID
- 0x01000000
傳回pIntf參數所指向之INTF_ENTRY結構中rdSSID成員的值。
rdSSID成員只有在某些介面內容狀態才有效。- INTF_BSSID
- 0x02000000
傳回pIntf參數所指向之INTF_ENTRY結構中rdBSSID成員的值。
rdBSSID成員只有在某些介面內容狀態才有效。- INTF_BSSIDLIST
- 0x04000000
傳回pIntf參數所指向之 INTF_ENTRY結構之 rdBSSIDList成員中的網路可見清單。
rdBSSIDList成員只有在某些介面內容狀態才有效。 -
pIntf [in, out]
-
在輸入時,指向要查詢之介面索引鍵的指標。 在輸出上,要求之介面資料的指標。 此參數是 INTF_ENTRY 結構的指標。
-
pdwOutFlags [out]
-
已成功擷取一組欄位。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值可能是下列其中一個傳回碼。
| 傳回碼 | 描述 |
|---|---|
|
儲存控制區塊已終結。 如果無線零設定服務尚未初始化內建物件,就會傳回此錯誤。 |
|
系統找不到指定的檔案。 如果pIntf參數所指向之 INTF_ENTRY結構wszGuid成員中的 GUID 不符合本機電腦上的任何無線區域網路 介面,就會傳回此錯誤。 |
|
參數不正確。 如果 pIntf 參數為 Null,就會傳回此錯誤。 如果pIntf參數所指向之INTF_ENTRY結構的wszGuid成員為Null,就會傳回此錯誤。 |
|
沒有足夠的記憶體可用來處理此要求,並配置查詢結果的記憶體。 |
|
各種錯誤碼。 |
備註
pIntf參數所指向之INTF_ENTRY結構的wszGuid成員必須包含無線區域網路 介面的介面 GUID。 您可以藉由呼叫 WZCEnumInterfaces 函式來擷取無線區域網路 介面清單。
pIntf所指向之INTF_ENTRY結構的下列成員必須在呼叫WZCQueryInterface函式之前設定為 0:rdSSID、rdBSSID、rdBSSIDList、rdStSSIDList和rdCtrlData。
無線零設定服務不會自動更新媒體狀態,即使收到已連線和中斷連線的媒體事件亦然。 如果要求 NDIS 媒體狀態,則應用程式應該先呼叫 WZCRefreshInterface 函式,以強制重新整理媒體狀態,方法是呼叫 WZCQueryInterface 函式, (在 dwInFlags 參數中設定INTF_NDISMEDIA位) 。
當 dwInFlags 參數包含 INTF_BSSIDLIST時,如果可見的網路清單是空的, WZCQueryInterface 函式就不會設定 dwOutFlags 與 INTF_BSSIDLIST 。 當dwInFlags參數包含INTF_SSID時,如果沒有 SSID,WZCQueryInterface函式就不會設定具有INTF_SSID 的dwOutFlags。
如果WZCQueryInterface函式傳回ERROR_SUCCESS,呼叫端應該使用pIntf參數呼叫LocalFree函式,以釋放為不再需要這項資訊之後所傳回資料所配置的內部緩衝區。 這會釋放pIntf參數所指向之INTF_ENTRY結構之 rdSSID、rdBSSID、rdBSSIDList、rdStSSIDList和rdCtrlData成員所使用的緩衝區。
注意
Windows SDK 中無法使用 Wzcsapi.h 標頭檔與 Wzcsapi.lib 匯入程式庫檔案。
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
具有 SP2 的 Windows XP [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
| 用戶端支援結束 |
Windows XP with SP3 |
| 伺服器終止支援 |
Windows Server 2003 |
| 標頭 |
|
| 程式庫 |
|
| DLL |
|
另請參閱