WNetGetResourceParentA 函式 (winnetwk.h)
WNetGetResourceParent 函式會傳回網路瀏覽階層中網路資源的父代。 流覽會從指定網路資源的位置開始。
呼叫 WNetGetResourceInformation,並 WNetGetResourceParent 函式來向上移動網路階層。 呼叫 WNetOpenEnum 函式以向下移動階層。
語法
DWORD WNetGetResourceParentA(
[in] LPNETRESOURCEA lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpcbBuffer
);
參數
[in] lpNetResource
NETRESOURCE 結構的指標,這個結構會指定父名稱所需的網路資源。
指定輸入 NETRESOURCE 結構的成員,如下所示。 呼叫者通常知道在先前 呼叫 WNetGetResourceInformation 或 WNetGetResourceParent之後,lpProvider 和 dwType 成員的值。
成員 | 意義 |
---|---|
|
如果已知,則應該填入此成員;否則,它應該設定為 NULL。 |
|
此成員應該指定其父系為必要之網路資源的遠端名稱。 |
|
此成員應指定擁有資源的網路提供者。 需要此成員;否則,函式可能會產生不正確的結果。 |
系統會忽略 NETRESOURCE 結構的其他所有成員。
[out] lpBuffer
緩衝區的指標,接收代表父資源的單一 NETRESOURCE 結構。 函式會傳回 lpRemoteName、lpProvider、dwType、dwDisplayType,以及 dwUsage 結構的成員:所有其他成員都會設定為 NULL。
lpRemoteName 成員會指向父資源的遠端名稱。 此名稱會使用與 WNetEnumResource 函式從列舉傳回的語法相同。 呼叫端可以執行字串比較,以判斷
dwUsage 成員中有RESOURCEUSAGE_CONNECTABLE位,表示您可以連線到父資源,但只有在網路上可用時。
[in, out] lpcbBuffer
在專案上指定 lpBuffer 緩衝區大小,以位元組為單位的位置指標。 如果緩衝區太小而無法保存結果,則此位置會收到所需的緩衝區大小,且函式會傳回ERROR_MORE_DATA。
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。
傳回碼 | 描述 |
---|---|
|
呼叫端無法存取網路資源。 |
|
輸入 lpRemoteName 成員不是任何網路的現有網路資源。 |
|
輸入 lpProvider 成員不符合任何已安裝的網路提供者。 |
|
lpBuffer 參數所指向的緩衝區太小。 |
|
呼叫端沒有取得父代名稱的必要許可權。 |
言論
WNetGetResourceParent 函式通常會與 WNetGetResourceInformation 函式搭配使用,以剖析和解譯使用者輸入的網路路徑。
不同於 WNetGetResourceInformation 函式,如果資源在其語法中包含父系,WNetGetResourceParent 函式會傳回父系,不論資源是否確實存在。 WNetGetResourceParent 通常只能由以階層式方式向使用者顯示網路資源的應用程式使用。 [Windows 檔案總管] 和 [檔案開啟] 對話框是這類應用程式的兩個已知範例。 請注意,不應假設將傳回的資源類型。
您可以呼叫 WNetEnumResource、WNetGetResourceInformation或 WNetGetResourceParent 函式,以從 NETRESOURCE 結構傳回資訊。 您也可以使用 NETRESOURCE 結構的成員來建構網路資源資訊。
不適當地使用 WNetGetResourceParent 的範例,就是判斷指定伺服器所屬的功能變數名稱。 函式可能會針對某些網路傳回正確的功能變數名稱,其中的網域會直接出現在瀏覽階層中的伺服器上方。 函式會傳回其他網路不正確的結果。
注意
winnetwk.h 標頭會根據 UNICODE 預處理器常數的定義,將 WNetGetResourceParent 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winnetwk.h |
連結庫 | Mpr.lib |
DLL | Mpr.dll |