開啟網路資源或現有連線的列舉。 必須呼叫 NPOpenEnum 函式,才能取得列舉的有效控制碼。
語法
DWORD NPOpenEnum(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEW lpNetResource,
[out] LPHANDLE lphEnum
);
參數
[in] dwScope
決定列舉的範圍。 這可以是下列其中一項。
| 價值觀 | Meaning |
|---|---|
|
所有目前連線的資源。 |
|
網路上的所有資源。 |
|
與使用者目前和預設網路前後關聯的資源 (用於「網路鄰域」檢視)。 對此的解釋留給提供者。 |
[in] dwType
指定感興趣的資源類型。 這是位遮罩,可以是下列旗標的任意組合。
| 價值觀 | Meaning |
|---|---|
|
所有磁碟資源。 |
|
所有列印資源。 |
|
指定如果呼叫端未通過驗證,則函式應該失敗 (即使網路允許列舉而不需要驗證)。 |
如果 dwType 為 0,或只是 RESOURCEUSAGE_ATTACHED,則會傳回所有類型的資源。 如果提供者無法區分相同層級的列印和磁碟資源,它可能會傳回所有資源。
[in] dwUsage
指定感興趣資源的使用方式。 這是位遮罩,可以是下列旗標的任意組合。
| 價值觀 | Meaning |
|---|---|
|
所有可連接的資源 |
|
所有容器資源 |
位遮罩可以為零,以符合所有旗標。 如果 dwScope 未設定為 RESOURCE_GLOBALNET,則可能會忽略此參數。
[in] lpNetResource
容器的指標以執行列舉。 NETRESOURCE 可能是透過先前的 NPEnumResource 呼叫取得,或由呼叫端建構,也可以是 Null。 如果它是 Null 或 NETRESOURCE 的 lpRemoteName 欄位為 Null,提供者應該列舉其網路的最上層。 請注意,這表示提供者無法使用 Null 的 lpRemoteName 來代表任何網路資源。 呼叫端通常會先呼叫 NPOpenEnum ,並將此參數設定為 Null ,然後使用傳回的結果進行進一步列舉。 如果呼叫程式確切知道要列舉的提供者和遠端路徑,它可能會建置自己的 NETRESOURCE 結構來傳入,並填入 lpProvider 和 lpRemoteName 欄位。 請注意,如果 dwScope 是 RESOURCE_CONNECTED 或 RESOURCE_CONTEXT,則此參數會是 Null。
[out] lphEnum
NPEnumResource 函式可使用的控制碼指標。 當您完成使用控制碼時,請呼叫 NPCloseEnum 函式來釋放控制碼。
返回值
如果函式成功,它應該會傳回WN_SUCCESS。 否則,它應該傳回錯誤碼,其中可能包含下列其中一項。
| 回傳碼 | Description |
|---|---|
|
提供者不支援所要求的列舉類型,或無法流覽特定的網路資源。 |
|
lpNetResource 不會指向容器。 |
|
指定的 dwScope、 dwUsage 或 dwType 無效,或參數組合不正確。 |
|
網路不存在。 |
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | npapi.h |
| Library | davclnt.lib |