Fungsi NetShareSetInfo (lmshare.h)
Mengatur parameter sumber daya bersama.
Sintaks
NET_API_STATUS NET_API_FUNCTION NetShareSetInfo(
[in] LMSTR servername,
[in] LMSTR netname,
[in] DWORD level,
[in] LPBYTE buf,
[out] LPDWORD parm_err
);
Parameter
[in] servername
Penunjuk ke string yang menentukan nama DNS atau NetBIOS dari server jarak jauh tempat fungsi dijalankan. Jika parameter ini NULL, komputer lokal akan digunakan.
[in] netname
Penunjuk ke string yang menentukan nama berbagi untuk mengatur informasi.
[in] level
Menentukan tingkat informasi data. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Menentukan informasi tentang sumber daya bersama, termasuk nama dan jenis sumber daya, dan komentar yang terkait dengan sumber daya. Parameter buf menunjuk ke struktur SHARE_INFO_1 . |
|
Menentukan informasi tentang sumber daya bersama, termasuk nama sumber daya, jenis dan izin, kata sandi, dan jumlah koneksi. Parameter buf menunjuk ke struktur SHARE_INFO_2 . |
|
Menentukan informasi tentang sumber daya bersama, termasuk nama dan jenis sumber daya, izin yang diperlukan, jumlah koneksi, dan informasi terkait lainnya. Parameter buf menunjuk ke struktur SHARE_INFO_502 . |
|
Menentukan nama sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_503 . Semua anggota struktur ini kecuali shi503_servername diabaikan oleh fungsi NetShareSetInfo .
Windows Server 2003 dan Windows XP: Tingkat informasi ini tidak didukung. |
|
Menentukan komentar yang terkait dengan sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_1004 . |
|
Menentukan sekumpulan bendera yang menjelaskan sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_1005 . |
|
Menentukan jumlah maksimum koneksi bersamaan yang dapat diakomodasi oleh sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_1006 . |
|
Menentukan SECURITY_DESCRIPTOR yang terkait dengan berbagi yang ditentukan. Parameter buf menunjuk ke struktur SHARE_INFO_1501 . |
[in] buf
Penunjuk ke buffer yang menentukan data. Format data ini tergantung pada nilai parameter tingkat . Untuk informasi selengkapnya, lihat Buffer Fungsi Manajemen Jaringan.
[out] parm_err
Penunjuk ke nilai yang menerima indeks anggota pertama struktur informasi berbagi yang menyebabkan kesalahan ERROR_INVALID_PARAMETER . Jika parameter ini NULL, indeks tidak dikembalikan pada kesalahan. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
Menampilkan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah NERR_Success.
Jika fungsi gagal, nilai yang dikembalikan bisa menjadi salah satu kode kesalahan berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Pengguna tidak memiliki akses ke informasi yang diminta. |
|
Nilai yang ditentukan untuk parameter tingkat tidak valid. |
|
Parameter yang ditentukan tidak valid. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. |
|
Nama berbagi tidak ada. |
Keterangan
Fungsi ini hanya berlaku untuk berbagi Blok Pesan Server (SMB). Untuk jenis berbagi lainnya, seperti berbagi Distributed File System (DFS) atau WebDAV, gunakan fungsi Windows Networking (WNet), yang mendukung semua jenis berbagi.
Hanya anggota grup lokal Administrator atau Pengguna Daya, atau yang memiliki keanggotaan grup Operator Cetak atau Server, yang berhasil menjalankan fungsi NetShareSetInfo . Operator Cetak hanya dapat mengatur informasi tentang berbagi Printer.
Jika fungsi NetShareSetInfo mengembalikan ERROR_INVALID_PARAMETER, Anda dapat menggunakan parameter parm_err untuk menunjukkan anggota pertama struktur informasi berbagi yang tidak valid. (Struktur informasi berbagi dimulai dengan SHARE_INFO_ dan formatnya ditentukan oleh parameter tingkat .) Tabel berikut mencantumkan nilai yang bisa dikembalikan dalam parameter parm_err dan anggota struktur terkait yang bermasalah. (Awalan shi* menunjukkan bahwa anggota dapat dimulai dengan beberapa awalan, misalnya, shi2 atau shi502_.)
Nilai | Anggota |
---|---|
SHARE_NETNAME_PARMNUM | shi*_netname |
SHARE_TYPE_PARMNUM | shi*_type |
SHARE_REMARK_PARMNUM | shi*_remark |
SHARE_PERMISSIONS_PARMNUM | shi*_permissions |
SHARE_MAX_USES_PARMNUM | shi*_max_uses |
SHARE_CURRENT_USES_PARMNUM | shi*_current_uses |
SHARE_PATH_PARMNUM | shi*_path |
SHARE_PASSWD_PARMNUM | shi*_passwd |
SHARE_FILE_SD_PARMNUM | shi*_security_descriptor |
Jika Anda memprogram Direktori Aktif, Anda mungkin dapat memanggil metode Antarmuka Layanan Direktori Aktif (ADSI) tertentu untuk mencapai fungsionalitas yang sama yang dapat Anda capai dengan memanggil fungsi berbagi manajemen jaringan. Untuk informasi selengkapnya, lihat IADsFileShare.
Jika 503 ditentukan untuk parameter tingkat , server jarak jauh yang ditentukan dalam anggota shi503_servername struktur SHARE_INFO_503 harus terikat ke protokol transportasi menggunakan fungsi NetServerTransportAddEx . Dalam panggilan ke NetServerTransportAddEx, 2 atau 3 harus telah ditentukan untuk parameter tingkat , dan bendera SVTI2_SCOPED_NAME harus ditentukan dalam struktur SERVER_TRANSPORT_INFO_2 untuk protokol transportasi.
Contoh
Sampel kode berikut menunjukkan cara mengatur komentar yang terkait dengan sumber daya bersama menggunakan panggilan ke fungsi NetShareSetInfo . Untuk melakukan ini, sampel menentukan tingkat informasi 1004 (SHARE_INFO_1004).
#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")
void wmain( int argc, TCHAR *argv[ ])
{
SHARE_INFO_1004 p;
NET_API_STATUS res;
DWORD parm_err = 0;
if(argc<4)
printf("Usage: SetInfo server share \"remark\"\n");
else
{
//
// Fill in SHARE_INFO_1004 structure member.
//
p.shi1004_remark=argv[3];
//
// Call the NetShareSetInfo function,
// specifying information level 1004.
//
res=NetShareSetInfo(argv[1], argv[2], 1004, (LPBYTE)&p, &parm_err);
//
// Display the result of the call.
//
if(res==0)
printf("Remark set.\n");
else
printf("Error: %u\tparmerr=%u\n", res, parm_err);
}
return;
}
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | lmshare.h (termasuk Lm.h) |
Pustaka | Netapi32.lib |
DLL | Netapi32.dll |