共用方式為


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 參數的大小,以位元組為單位。 如果緩衝區太小而無法接收一個專案,則此參數會收到所需的緩衝區大小。

傳回值

如果函式成功,傳回值就是下列其中一個值。

傳回碼 描述
NO_ERROR
列舉成功,且緩衝區包含要求的資料。 呼叫的應用程式可以繼續呼叫 WNetEnumResource 來完成列舉。
ERROR_NO_MORE_ITEMS
沒有其他專案。 緩衝區內容是未定義的。
 

如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。

傳回碼 描述
ERROR_MORE_DATA
後續呼叫可取得更多專案。 如需詳細資訊,請參閱接下來的<備註>一節。
ERROR_INVALID_HANDLE
hEnum參數指定的控制碼無效。
ERROR_NO_NETWORK
網路無法使用。 (此條件會在 hEnum 測試有效性之前進行測試。)
ERROR_EXTENDED_ERROR
發生網路特定錯誤。 若要取得錯誤的描述,請呼叫 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

另請參閱

NETRESOURCE

WNetCloseEnum

WNetOpenEnum

Windows 網路 (WNet) 概觀

Windows 網路功能