NPAddConnection3 函式 (npapi.h)
NPAddConnection3 函式會將本機裝置連線到網路資源。 它會執行與 NPAddConnection 相同的作業,但此外,還可讓您指定視窗的句柄,該視窗應該擁有任何產生的對話框,並指定應該如何建立連線。
語法
DWORD NPAddConnection3(
[in] HWND hwndOwner,
[in] LPNETRESOURCEW lpNetResource,
[in] LPWSTR lpPassword,
[in] LPWSTR lpUserName,
[in] DWORD dwFlags
);
參數
[in] hwndOwner
視窗的句柄,該視窗應該擁有任何訊息或對話框。 只有在 dwFlags 中設定CONNECT_INTERACTIVE,而且句柄應該只用來產生驗證所需的對話框時,這個句柄才有效。
[in] lpNetResource
NETRESOURCE 結構的指標,指定要連線的網路資源。 建立連接時必須設定下列欄位。 其他的來源則會被忽略。
[in] lpPassword
要用於建立連線的密碼指標,通常是與 lpUserName 相關聯的密碼。 NULL 值可能會傳入,以讓函式使用默認密碼。 空字串可用來表示沒有密碼。 當您完成使用密碼時,請呼叫 SecureZeroMemory 函式 ,從記憶體中清除密碼。 如需保護密碼的詳細資訊,請參閱 處理密碼。
[in] lpUserName
用來建立連接之使用者名稱的指標。 如果 為 NULL,則會套用目前登入使用者) 的預設使用者名稱 (。 當使用者想要連線到資源,但該資源有不同的指派使用者名稱或帳戶時,就會使用此功能。
[in] dwFlags
下列值的任何組合。 提供者應該忽略可能設定的任何其他 dwFlags 位。
值 | 意義 |
---|---|
|
正在建立連線以供流覽之用,而且可能很快就會發行。 |
|
線上可能會與使用者互動以進行驗證。 |
|
請勿對使用者名稱或密碼使用任何預設值,而不提供使用者提供替代項目的機會。 只有在設定CONNECT_INTERACTIVE時,此旗標才有效。 |
|
請勿執行任何遠端網路作業來建立網路連線;相反地,以「已中斷連線」狀態還原連線。 只有在某些進程嘗試使用連線時,才嘗試實際連線。 如果設定此位,呼叫端必須提供 lpLocalName。
此功能可用來加速在登入時還原網路連線。 支援的提供者應該會傳回 NPGetCaps 中的WNNC_CON_DEFERRED位。 |
傳回值
如果函式成功,它會傳回WN_SUCCESS。 否則,它會傳回錯誤碼。 這可能包括下列其中一項。
傳回碼 | Description |
---|---|
|
傳遞至 lpNetResource 之結構的 lpRemoteName 成員值對這個提供者無效。 |
|
傳遞至 lpNetResource 之結構的 lpLocalName 成員值無效。 |
|
指定的密碼無效。 |
|
傳遞至 lpNetResource 之結構的 lpLocalName 成員中指定的裝置已經連線。 |
|
建立連線的許可權遭到拒絕。 |
|
網路不存在。 |
|
使用提供者所顯示的對話框,使用者已取消嘗試進行連線。 |
備註
如果提供者顯示密碼對話框,因為指定的認證不足,而且已設定CONNECT_INTERACTIVE旗標,則提供者可能不會傳回拒絕存取的錯誤碼, (其中一個ERROR_LOGON_FAILURE WN_BAD_PASSWORD WN_ACCESS_DENIED) 。 建議的行為是讓提供者繼續要求使用者提供有效的認證,直到使用者提供認證或按下 [取消] 按鈕為止。 如果呼叫 NPAddConnection3 以在 WNetConnectionDialog 或 WNetConnectionDialog1 函式期間要求連線,並傳回拒絕存取的程式代碼,則 WNetConnectionDialog 或 WNetConnectionDialog1 函式會自行顯示密碼對話框。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | npapi.h |