Fungsi NPGetResourceInformation (npapi.h)

Memisahkan bagian dari sumber daya jaringan yang diakses melalui API WNet dari bagian yang diakses melalui API khusus untuk jenis sumber daya.

Sintaks

DWORD NPGetResourceInformation(
  [in]      LPNETRESOURCEW lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpBufferSize,
  [out]     LPWSTR         *lplpSystem
);

Parameter

[in] lpNetResource

Menentukan sumber daya jaringan yang informasinya diperlukan. Bidang lpRemoteName menentukan nama sumber daya jarak jauh. Program panggilan harus mengisi nilai untuk bidang lpProvider dan dwType jika mengetahui nilai-nilai ini; jika tidak, itu harus mengatur bidang ini ke NULL. Semua bidang lain di NETRESOURCE diabaikan dan tidak diinisialisasi.

Jika string lpRemoteName berisi bagian yang diakses melalui API WNet dan bagian yang diakses melalui API sistem lain khusus untuk jenis sumber daya, fungsi harus mengembalikan informasi hanya tentang bagian jaringan sumber daya (kecuali untuk lplpSystem, seperti yang dijelaskan nanti dalam topik ini).

Misalnya, jika sumber daya adalah "\server\share\dir1\dir2", di mana "\server\share" diakses melalui API WNet dan "\dir1\dir2" diakses melalui API sistem file, penyedia harus memverifikasi bahwa itu adalah penyedia yang tepat untuk "\server\share", tetapi tidak perlu memeriksa apakah "\dir1\dir2" benar-benar ada.

[out] lpBuffer

Arahkan ke buffer untuk menerima hasilnya. Bidang pertama dalam hasil adalah struktur NETRESOURCE tunggal, dan string terkait, yang mewakili bagian sumber daya input yang diakses melalui API WNet, bukan API sistem khusus untuk jenis sumber daya. Misalnya, jika nama sumber daya jarak jauh input adalah "\server\share\dir1\dir2", maka OUTPUT NETRESOURCE berisi informasi tentang sumber daya "\server\share". Bidang lpRemoteName, lpProvider, dwType, dwDisplayType, dan dwUsage dikembalikan berisi nilai, semua bidang lain yang diatur ke NULL.

Bidang lpRemoteName harus dikembalikan dalam format yang sama seperti yang dikembalikan dari enumerasi oleh fungsi NPEnumResource , sehingga pemanggil dapat melakukan perbandingan string peka huruf besar/kecil. Ini diperlukan untuk menentukan apakah sumber daya jaringan output sama dengan yang dikembalikan oleh NPEnumResource.

Penyedia tidak boleh melakukan pemeriksaan sintaksis murni untuk menentukan apakah ia memiliki sumber daya. Ini dapat menghasilkan hasil yang salah ketika dua jaringan berjalan pada klien dan penyedia yang melakukan pemeriksaan sintaksis dipanggil terlebih dahulu.

[in, out] lpBufferSize

Penunjuk ke lokasi yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh lpBuffer. Jika buffer terlalu kecil untuk hasilnya, fungsi menempatkan ukuran buffer yang diperlukan di lokasi ini dan mengembalikan kesalahan WN_MORE_DATA.

[out] lplpSystem

Pada pengembalian yang berhasil, penunjuk ke string yang dihentikan null di buffer output yang menentukan bagian sumber daya yang diakses melalui API sistem khusus untuk jenis sumber daya, bukan melalui WNet API. Jika tidak ada bagian seperti itu, lplpSystem diatur ke NULL. Misalnya, jika nama sumber daya jarak jauh input adalah "\server\share\dir", lpRemoteName dikembalikan menunjuk ke "\server\share" dan lplpSystem menunjuk ke "\dir", kedua string yang disimpan dalam buffer diacu oleh lpBuffer.

Nilai kembali

Jika fungsi berhasil, fungsi harus mengembalikan WN_SUCCESS. Jika tidak, itu harus mengembalikan kode kesalahan, yang mungkin salah satu dari yang berikut ini.

Menampilkan kode Deskripsi
WN_MORE_DATA
Buffer input terlalu kecil.
WN_BAD_NETNAME
Sumber daya tidak dikenali oleh penyedia ini.
WN_BAD_VALUE
DwUsage atau dwType tidak valid.
WN_BAD_DEV_TYPE
Penelepon melewati dwType bukan nol yang tidak cocok dengan jenis sumber daya jaringan yang sebenarnya.
WN_NOT_AUTHENTICATED
Pemanggil belum diautentikasi ke jaringan.
WN_ACCESS_DENIED
Pemanggil telah diautentikasi ke jaringan tetapi tidak memiliki izin yang memadai.

Keterangan

Pohon enumerasi dapat dinavigasi ke bawah dari sumber daya jaringan bernama dengan menggunakan NPOpenEnum dan fungsi terkait. Untuk menavigasi dari sumber daya bernama, fungsi NPGetResourceInformation dapat dipanggil untuk mendapatkan informasi tentang sumber daya, diikuti oleh fungsi NPGetResourceParent untuk mendapatkan nama dan jenis sumber daya induk.

NPGetResourceInformation menentukan apakah penyedia yang ditentukan adalah penyedia yang tepat untuk menanggapi permintaan sumber daya jaringan tertentu. Kemudian mengembalikan informasi tentang jenis sumber daya.

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