Fungsi NPAddConnection3 (npapi.h)

Fungsi NPAddConnection3 menyambungkan perangkat lokal ke sumber daya jaringan. Ini melakukan operasi yang sama dengan NPAddConnection tetapi selain itu memungkinkan Anda menentukan handel ke jendela yang harus memiliki kotak dialog yang dihasilkan dan menentukan bagaimana koneksi harus dibuat.

Sintaks

DWORD NPAddConnection3(
  [in] HWND           hwndOwner,
  [in] LPNETRESOURCEW lpNetResource,
  [in] LPWSTR         lpPassword,
  [in] LPWSTR         lpUserName,
  [in] DWORD          dwFlags
);

Parameter

[in] hwndOwner

Handel ke jendela yang harus memiliki pesan atau kotak dialog apa pun. Handel ini valid hanya jika CONNECT_INTERACTIVE diatur dalam dwFlags, dan handel hanya boleh digunakan untuk menghasilkan kotak dialog yang diperlukan untuk autentikasi.

[in] lpNetResource

Arahkan ke struktur NETRESOURCE yang menentukan sumber daya jaringan yang akan disambungkan. Bidang berikut harus diatur saat membuat koneksi. Yang lain diabaikan.

Nilai Makna
lpRemoteName
Menentukan sumber daya jaringan yang akan disambungkan.
lpLocalName
Menentukan nama perangkat lokal yang akan dialihkan, seperti "F:" atau "LPT1". Nama ini diperlakukan sebagai tidak peka huruf besar/kecil dan mungkin string kosong atau penunjuk NULL . Jika string kosong atau NULL, fungsi tersambung ke sumber daya jaringan tanpa melakukan pengalihan.
dwType
Menentukan jenis sumber daya yang akan disambungkan. Ini bisa RESOURCETYPE_DISK, RESOURCETYPE_PRINT, atau RESOURCETYPE_ANY. Nilai RESOURCETYPE_ANY digunakan jika pemanggil tidak peduli atau tidak tahu.

[in] lpPassword

Arahkan ke kata sandi yang akan digunakan dalam membuat koneksi, biasanya kata sandi yang terkait dengan lpUserName. Nilai NULL dapat diteruskan untuk menyebabkan fungsi menggunakan kata sandi default. String kosong dapat digunakan untuk menunjukkan tidak ada kata sandi. Setelah Anda selesai menggunakan kata sandi, bersihkan dari memori dengan memanggil fungsi SecureZeroMemory . Untuk informasi selengkapnya tentang melindungi kata sandi, lihat Menangani Kata Sandi.

[in] lpUserName

Arahkan ke nama pengguna yang digunakan untuk membuat koneksi. Jika NULL, nama pengguna default (nama pengguna yang saat ini masuk) diterapkan. Ini digunakan ketika pengguna ingin terhubung ke sumber daya tetapi memiliki nama pengguna atau akun yang ditetapkan berbeda untuk sumber daya tersebut.

[in] dwFlags

Kombinasi apa pun dari nilai berikut. Penyedia harus mengabaikan bit dwFlags lain yang dapat diatur.

Nilai Makna
CONNECT_TEMPORARY
Koneksi sedang dibuat untuk tujuan penjelajahan dan mungkin akan dirilis dengan cepat.
CONNECT_INTERACTIVE
Koneksi mungkin memiliki interaksi dengan pengguna untuk tujuan autentikasi.
CONNECT_PROMPT
Jangan gunakan default apa pun untuk nama pengguna atau kata sandi tanpa menawarkan pengguna kesempatan untuk menyediakan alternatif. Bendera ini hanya valid jika CONNECT_INTERACTIVE juga diatur.
CONNECT_DEFERRED
Jangan melakukan operasi jaringan jarak jauh untuk membuat koneksi jaringan; sebagai gantinya, pulihkan koneksi dalam status "terputus." Coba koneksi aktual hanya ketika beberapa proses mencoba menggunakan koneksi. Jika bit ini diatur, pemanggil harus menyediakan lpLocalName.

Fitur ini digunakan untuk mempercepat pemulihan koneksi jaringan saat masuk. Penyedia yang mendukungnya harus mengembalikan bit WNNC_CON_DEFERRED di NPGetCaps.

Mengembalikan nilai

Jika fungsi berhasil, fungsi akan mengembalikan WN_SUCCESS. Jika tidak, kode kesalahan akan dikembalikan. Ini mungkin termasuk salah satu hal berikut ini.

Menampilkan kode Deskripsi
WN_BAD_NETNAME
Nilai anggota lpRemoteName dari struktur yang diteruskan ke lpNetResource tidak valid untuk penyedia ini.
WN_BAD_LOCALNAME
Nilai anggota lpLocalName dari struktur yang diteruskan ke lpNetResource tidak valid.
WN_BAD_PASSWORD
Kata sandi yang ditentukan tidak valid.
WN_ALREADY_CONNECTED
Perangkat yang ditentukan dalam anggota lpLocalName struktur yang diteruskan ke lpNetResource sudah tersambung.
WN_ACCESS_DENIED
Izin untuk membuat koneksi ditolak.
WN_NO_NETWORK
Jaringan tidak ada.
WN_CANCEL
Upaya untuk membuat koneksi dibatalkan oleh pengguna menggunakan kotak dialog yang ditampilkan oleh penyedia.

Keterangan

Jika penyedia menampilkan kotak dialog kata sandi karena kredensial yang ditentukan tidak mencukupi dan bendera CONNECT_INTERACTIVE diatur, maka penyedia mungkin tidak mengembalikan kode kesalahan yang ditolak akses (salah satu dari ERROR_LOGON_FAILURE, WN_BAD_PASSWORD, WN_ACCESS_DENIED). Perilaku yang disarankan adalah agar penyedia terus meminta kredensial yang valid kepada pengguna hingga pengguna memasoknya atau menekan tombol "batalkan". Jika NPAddConnection3 dipanggil untuk membuat koneksi yang diminta selama fungsi WNetConnectionDialog atau WNetConnectionDialog1 dan kode yang ditolak akses dikembalikan, fungsi WNetConnectionDialog atau WNetConnectionDialog1 akan menampilkan kotak dialog kata sandi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header npapi.h

Lihat juga

NPAddConnection