WNetGetConnectionA 函式 (winnetwk.h)
WNetGetConnection 函式會擷取與本機裝置相關聯的網路資源名稱。
語法
DWORD WNetGetConnectionA(
[in] LPCSTR lpLocalName,
[out] LPSTR lpRemoteName,
[in, out] LPDWORD lpnLength
);
參數
[in] lpLocalName
常數 Null 終止字串的指標,指定要取得網路名稱的本機裝置名稱。
[out] lpRemoteName
接收用來建立連線之遠端名稱之 Null 終止字串的指標。
[in, out] lpnLength
變數的指標,指定字元中 lpRemoteName 參數所指向的緩衝區大小。 如果函式因為緩衝區不夠大而失敗,此參數會傳回所需的緩衝區大小。
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。
傳回碼 | 描述 |
---|---|
|
lpLocalName 參數所指向的字串無效。 |
|
lpLocalName 所指定的裝置不是重新導向的裝置。 如需詳細資訊,請參閱下列一節。 |
|
緩衝區太小。 lpnLength 參數指向包含所需緩衝區大小的變數。 後續呼叫會提供更多專案。 |
|
裝置目前未連線,但它是持續性連線。 如需詳細資訊,請參閱下列一節。 |
|
網路無法使用。 |
|
發生網路特定錯誤。 若要取得錯誤的描述,請呼叫 WNetGetLastError 函式。 |
|
沒有提供者會將本機名稱辨識為具有連線。 不過,至少一個連線所屬的提供者無法使用網路。 |
言論
如果使用 Microsoft LAN Manager 網路建立網路連線,而且呼叫端應用程式正在與建立連線的應用程式不同的登入會話中執行,則對相關聯本機裝置的 WNetGetConnection 函式的呼叫將會失敗。 函式會失敗,並出現ERROR_NOT_CONNECTED或ERROR_CONNECTION_UNAVAIL。 這是因為使用 Microsoft LAN Manager 建立的連線只會對執行於與建立連線之應用程式相同的登入會話中執行的應用程式看見。 (若要防止呼叫 WNetGetConnection 失敗,應用程式不足以在建立連線的使用者帳戶中執行。
Windows Server 2003 和 Windows XP:此函式會查詢與登入會話相關聯的 MS-DOS 裝置命名空間,因為 AuthenticationID 會識別 MS-DOS 裝置。 (AuthenticationID 是與登入會話相關聯的本機唯一標識符或 LUID
例子
如需說明如何使用 WNetGetConnection 函式來擷取與本機裝置相關聯之網路資源名稱的程式代碼範例,請參閱 擷取連線名稱。
注意
winnetwk.h 標頭會根據 UNICODE 預處理器常數的定義,將 WNetGetConnection 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winnetwk.h |
連結庫 | Mpr.lib |
DLL | Mpr.dll |