WNetOpenEnumA 函式 (winnetwk.h)
WNetOpenEnum 函式會啟動網路資源或現有連線的列舉。 您可以呼叫 WNetEnumResource 函式來繼續列舉。
語法
DWORD WNetOpenEnumA(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEA 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。
如果函式失敗,傳回值是 系統錯誤碼,例如下列其中一個值。
傳回碼 | Description |
---|---|
|
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 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winnetwk.h |
程式庫 | Mpr.lib |
Dll | Mpr.dll |