Bagikan melalui


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
1
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 .
2
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 .
502
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 .
503
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.

1004
Menentukan komentar yang terkait dengan sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_1004 .
1005
Menentukan sekumpulan bendera yang menjelaskan sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_1005 .
1006
Menentukan jumlah maksimum koneksi bersamaan yang dapat diakomodasi oleh sumber daya bersama. Parameter buf menunjuk ke struktur SHARE_INFO_1006 .
1501
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
ERROR_ACCESS_DENIED
Pengguna tidak memiliki akses ke informasi yang diminta.
ERROR_INVALID_LEVEL
Nilai yang ditentukan untuk parameter tingkat tidak valid.
ERROR_INVALID_PARAMETER
Parameter yang ditentukan tidak valid. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
NERR_NetNameNotFound
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

Lihat juga

NetServerTransportAddEx

NetShareGetInfo

Fungsi Manajemen Jaringan

Gambaran Umum Manajemen Jaringan

Fungsi Berbagi Jaringan

SHARE_INFO_1

SHARE_INFO_1004

SHARE_INFO_1005

SHARE_INFO_1006

SHARE_INFO_1501

SHARE_INFO_2

SHARE_INFO_502

SHARE_INFO_503