NPGetResourceInformation 函式 (npapi.h)
將透過 WNet API 存取的網路資源部分與透過資源類型特定的 API 存取的部分分開。
語法
DWORD NPGetResourceInformation(
[in] LPNETRESOURCEW lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpBufferSize,
[out] LPWSTR *lplpSystem
);
參數
[in] lpNetResource
指定需要資訊的網路資源。 lpRemoteName 欄位會指定資源的遠端名稱。 如果呼叫程式知道這些值,則呼叫程式應該填入 lpProvider 和 dwType 字段的值;否則,它應該將這些欄位設定為 NULL。 NETRESOURCE 中的所有其他欄位都會被忽略,而且不會初始化。
如果 lpRemoteName 字串包含透過 WNet API 存取的部分,以及透過資源類型特定其他系統 API 存取的部分,則函式應該只傳回資源 (網路部分的相關信息,但 lplpSystem 除外,如本主題稍後所述) 。
例如,如果資源是 “\server\share\dir2”,其中 “\server\share” 是透過 WNet API 存取,而 “\dir1\dir2” 是透過文件系統 API 存取,提供者應該確認它是正確的 “\server\share” 提供者,但不需要檢查 “\dir1\dir2” 是否確實存在。
[out] lpBuffer
要接收結果之緩衝區的指標。 結果中的第一個字段是單一 NETRESOURCE 結構,以及相關聯的字串,代表透過WNet API 存取的輸入資源部分,而不是資源類型特定的系統 API。 例如,如果輸入遠端資源名稱是 “\server\share\dir1\dir2”,則輸出 NETRESOURCE 會包含資源 “\server\share” 的相關信息。 lpRemoteName、lpProvider、dwType、dwDisplayType 和 dwUsage 字段會傳回包含值,所有其他欄位都設定為 NULL。
lpRemoteName 字段的格式應該與 NPEnumResource 函式從列舉傳回的格式相同,讓呼叫端可以執行區分大小寫的字元串比較。 這是判斷輸出網路資源是否與 NPEnumResource 所傳回的輸出網路資源相同。
提供者不應該單純地進行語法檢查,以判斷它是否擁有資源。 這在用戶端上執行兩個網路,而且先呼叫執行語法檢查的提供者時,可能會產生不正確的結果。
[in, out] lpBufferSize
指定 lpBuffer 所指向之緩衝區大小位元組之位置的指標。 如果緩衝區對結果而言太小,函式會將所需的緩衝區大小放在這個位置,並傳回錯誤WN_MORE_DATA。
[out] lplpSystem
在成功傳回時,輸出緩衝區中 以 Null 終止字串的指標,指定透過資源類型特定的系統 API 存取的資源部分,而不是透過 WNet API 存取。 如果沒有這類元件, lplpSystem 會設定為 NULL。 例如,如果輸入遠端資源名稱為 “\server\share\dir”,則會傳回 lpRemoteName 指向 “\server\share”, 而 lplpSystem 指向 “\dir”,則這兩個字符串都會儲存在 lpBuffer 指向的緩衝區中。
傳回值
如果函式成功,它應該會傳回WN_SUCCESS。 否則,它應該會傳回錯誤碼,可能是下列其中一項。
傳回碼 | Description |
---|---|
|
輸入緩衝區太小。 |
|
此提供者無法辨識資源。 |
|
無效 的 dwUsage 或 dwType。 |
|
傳入非零 dwType 且不符合網路資源實際類型的呼叫端。 |
|
呼叫端尚未向網路驗證。 |
|
呼叫端已向網路驗證,但沒有足夠的許可權。 |
備註
列舉樹狀結構可以使用 NPOpenEnum 及其相關函式,從具名網路資源向下巡覽。 若要從具名資源向上流覽,可以呼叫 NPGetResourceInformation 函式來取得資源的相關信息,後面接著 NPGetResourceParent 函式,以取得父資源的名稱和類型。
NPGetResourceInformation 會判斷指定的提供者是否為回應指定網路資源要求的正確提供者。 然後,它會傳回資源類型的相關信息。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | npapi.h |