NPOpenEnum 函式 (npapi.h)
開啟網路資源或現有連線的列舉。 必須呼叫 NPOpenEnum 函式,才能取得列舉的有效句柄。
語法
DWORD NPOpenEnum(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEW lpNetResource,
[out] LPHANDLE lphEnum
);
參數
[in] dwScope
決定列舉的範圍。 這可以是下列其中一項。
值 | 意義 |
---|---|
|
所有目前已連線的資源。 |
|
網路上的所有資源。 |
|
與使用者目前和預設網路內容相關聯的資源 (用於「網路鄰近地區」檢視) 。 這的解譯會保留給提供者。 |
[in] dwType
指定感興趣的資源類型。 這是位掩碼,可能是下列旗標的任何組合。
值 | 意義 |
---|---|
|
所有磁碟資源。 |
|
所有列印資源。 |
|
指定如果呼叫端未通過驗證,則函式應該會失敗 (即使網路允許列舉而不進行驗證) 也一樣。 |
如果 dwType 為 0,或只是RESOURCEUSAGE_ATTACHED,則會傳回所有類型的資源。 如果提供者無法區分相同層級的列印和磁碟資源,它可能會傳回所有資源。
[in] dwUsage
指定感興趣的資源使用量。 這是位掩碼,可能是下列旗標的任何組合。
值 | 意義 |
---|---|
|
所有可連線的資源 |
|
所有容器資源 |
位掩碼可以是零,以符合所有旗標。 如果 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 或參數組合不正確。 |
|
網路不存在。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | npapi.h |