WNetOpenEnumW 函式 (winnetwk.h)
WNetOpenEnum函式會啟動網路資源或現有連線的列舉。 您可以呼叫 WNetEnumResource 函式來繼續列舉。
語法
DWORD WNetOpenEnumW(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEW lpNetResource,
[out] LPHANDLE lphEnum
);
參數
[in] dwScope
列舉的範圍。 此參數可以是下列其中一個值。
[in] dwType
要列舉的資源類型。 此參數可以是下列值的組合。
值 | 意義 |
---|---|
|
所有資源。 這個值不能與RESOURCETYPE_DISK或RESOURCETYPE_PRINT結合。 |
|
所有磁片資源。 |
|
所有列印資源。 |
如果網路提供者無法區分列印和磁片資源,它可以列舉所有資源。
[in] dwUsage
要列舉的資源使用類型。 此參數可以是下列值的組合。
除非 dwScope 參數等於 RESOURCE_GLOBALNET,否則會忽略此參數。 如需詳細資訊,請參閱接下來的<備註>一節。
[in] lpNetResource
NETRESOURCE結構的指標,指定要列舉的容器。 如果 dwScope 參數不是RESOURCE_GLOBALNET,此參數必須是 Null。
如果此參數為 Null,則會假設網路根目錄。 (系統會將網路組織為階層;根目錄是 network.) 中最上層的容器
如果此參數不是 Null,它必須指向 NETRESOURCE 結構。 此結構可由應用程式填入,也可以由 呼叫 WNetEnumResource 函式傳回。 NETRESOURCE結構必須指定容器資源;也就是說,必須在dwUsage參數中指定RESOURCEUSAGE_CONTAINER值。
若要列舉所有網路資源,應用程式可以呼叫 WNetOpenEnum ,並將 lpNetResource 參數設定為 Null,然後使用傳回的控制碼呼叫 WNetEnumResource 來列舉資源。 如果WNetEnumResource函式所傳回之 NETRESOURCE陣列中的其中一個資源是容器資源,您可以呼叫WNetOpenEnum來開啟資源以供進一步列舉。
[out] lphEnum
列舉控制碼的指標,可用於 後續呼叫 WNetEnumResource。
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。
傳回碼 | 描述 |
---|---|
|
lpNetResource參數不會指向容器。 |
|
dwScope或dwType參數無效,或參數組合無效。 |
|
網路無法使用。 |
|
發生網路特定錯誤。 若要取得錯誤的描述,請呼叫 WNetGetLastError 函 式。 |
|
NETRESOURCE結構中提供的遠端網路資源名稱已解析為不正確網路位址。 |
備註
如果 dwScope 參數等於RESOURCE_CONNECTED,如果連線是由呼叫 WNetOpenEnum 函式的應用程式所建立的應用程式所建立的連線,則會從列舉中省略使用 Microsoft LAN Manager 網路所建立的網路連線。 這是因為使用 Microsoft LAN Manager 建立的連線只會在與建立連線的應用程式相同的登入會話中執行的應用程式看見。 (若要在列舉中包含連線,應用程式不足以在建立 connection 的使用者帳戶中執行。)
dwScope參數中RESOURCE_CONTEXT的確切解譯取決於電腦上安裝的網路。
WNetOpenEnum函式可用來開始列舉單一容器中的資源。 下列範例顯示 Microsoft LAN Manager 網路和 Novell NetWare 網路的階層式結構,並識別容器。
LanMan (container, in this case the provider)
ACCOUNTING (container, in this case the domain)
\\ACCTSPAY (container, in this case the server)
PAYFILES (disk)
LASERJET (print)
NetWare (container, in this case the provider)
MARKETING (container, in this case the server)
SYS (disk, first one on any NetWare server)
ANOTHERVOLUME (disk)
LASERJET (print)
範例
如需說明應用程式定義函式以列舉網路上所有資源的程式碼範例,請參閱 列舉網路資源。
注意
winnetwk.h 標頭會將 WNetOpenEnum 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winnetwk.h |
程式庫 | Mpr.lib |
Dll | Mpr.dll |