WNetEnumResourceA 函式 (winnetwk.h)
WNetEnumResource函式會繼續列舉呼叫WNetOpenEnum函式所啟動的網路資源。
語法
DWORD WNetEnumResourceA(
[in] HANDLE hEnum,
[in, out] LPDWORD lpcCount,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpBufferSize
);
參數
[in] hEnum
識別列舉實例的控制碼。 WNetOpenEnum函式必須傳回此控制碼。
[in, out] lpcCount
指定所要求專案數之變數的指標。 如果所要求的數位是 –1,函式會傳回盡可能多的專案。
如果函式成功,傳回此參數所指向的變數會包含實際讀取的專案數。
[out] lpBuffer
接收列舉結果之緩衝區的指標。 結果會以 NETRESOURCE 結構的陣列的形式傳回。 請注意,您配置的緩衝區必須夠大,才能保存結構,再加上其成員指向的字串。 如需詳細資訊,請參閱接下來的<備註>一節。
緩衝區有效,直到使用 hEnum 參數所指定的控制碼的下一次呼叫為止。 陣列中 NETRESOURCE 結構的順序無法預測。
[in, out] lpBufferSize
變數的指標,指定 lpBuffer 參數的大小,以位元組為單位。 如果緩衝區太小而無法接收一個專案,則此參數會收到所需的緩衝區大小。
傳回值
如果函式成功,傳回值就是下列其中一個值。
傳回碼 | 描述 |
---|---|
|
列舉成功,且緩衝區包含要求的資料。 呼叫的應用程式可以繼續呼叫 WNetEnumResource 來完成列舉。 |
|
沒有其他專案。 緩衝區內容是未定義的。 |
如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。
傳回碼 | 描述 |
---|---|
|
後續呼叫可取得更多專案。 如需詳細資訊,請參閱接下來的<備註>一節。 |
|
hEnum參數指定的控制碼無效。 |
|
網路無法使用。 (此條件會在 hEnum 測試有效性之前進行測試。) |
|
發生網路特定錯誤。 若要取得錯誤的描述,請呼叫 WNetGetLastError 函 式。 |
備註
WNetEnumResource函式不會列舉連線至共用的使用者;您可以呼叫NetConnectionEnum函式來完成這項工作。 若要列舉隱藏的共用,請呼叫 NetShareEnum 函式。
應用程式無法將 lpBuffer 參數設定為 Null ,並從 lpBufferSize 參數擷取所需的緩衝區大小。 相反地,應用程式應該配置合理的大小為 16 KB 的緩衝區,並使用 lpBufferSize 的值進行錯誤偵測。
範例
如需說明應用程式定義函式以列舉網路上所有資源的程式碼範例,請參閱 列舉網路資源。
注意
winnetwk.h 標頭會將 WNetEnumResource 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winnetwk.h |
程式庫 | Mpr.lib |
Dll | Mpr.dll |