Bagikan melalui


Fungsi NetWkstaGetInfo (lmwksta.h)

Fungsi NetWkstaGetInfo mengembalikan informasi tentang konfigurasi stasiun kerja.

Sintaks

NET_API_STATUS NET_API_FUNCTION NetWkstaGetInfo(
  [in]  LMSTR  servername,
  [in]  DWORD  level,
  [out] LPBYTE *bufptr
);

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] level

Menentukan tingkat informasi data. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
100
Mengembalikan informasi tentang lingkungan stasiun kerja, termasuk informasi khusus platform, nama domain dan komputer lokal, dan informasi mengenai sistem operasi. Parameter bufptr menunjuk ke struktur WKSTA_INFO_100 .
101
Selain informasi tingkat 100, kembalikan jalur ke direktori LANMAN. Parameter bufptr menunjuk ke struktur WKSTA_INFO_101 .
102
Selain informasi tingkat 101, kembalikan jumlah pengguna yang masuk ke komputer lokal. Parameter bufptr menunjuk ke struktur WKSTA_INFO_102 .

[out] bufptr

Arahkan ke buffer yang menerima data. Format data ini tergantung pada nilai parameter tingkat . Buffer ini dialokasikan oleh sistem dan harus dibebaskan menggunakan fungsi NetApiBufferFree . Untuk informasi selengkapnya, lihat Buffer Fungsi Manajemen Jaringan dan Panjang Buffer Fungsi Manajemen Jaringan.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah NERR_Success.

Jika fungsi gagal, nilai yang dikembalikan dapat menjadi salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
ERROR_ACCESS_DENIED
Pengguna tidak memiliki akses ke informasi yang diminta.
ERROR_INVALID_LEVEL
Parameter tingkat tidak valid.

Keterangan

Windows Server 2003 dan Windows XP: Jika Anda memanggil fungsi ini pada pengendali domain yang menjalankan Direktori Aktif, akses diizinkan atau ditolak berdasarkan ACL untuk objek yang dapat diamankan. Untuk mengaktifkan akses anonim, pengguna Anonim harus menjadi anggota grup "Akses yang kompatibel dengan Pra-Windows 2000". Ini karena token anonim tidak menyertakan SID grup Semua Orang secara default. Jika Anda memanggil fungsi ini di server anggota atau stasiun kerja, semua pengguna yang diautentikasi dapat melihat informasi. Akses anonim juga diizinkan jika pengaturan kebijakan EveryoneIncludesAnonymous memungkinkan akses anonim. Akses anonim selalu diizinkan untuk tingkat 100. Jika Anda memanggil fungsi ini di tingkat 101, pengguna yang diautentikasi dapat melihat informasi. Anggota Administrator, dan grup lokal Server, Sistem, dan Operator Cetak dapat melihat informasi pada tingkat 102 dan 502. Untuk informasi selengkapnya tentang membatasi akses anonim, lihat Persyaratan Keamanan untuk Fungsi Manajemen Jaringan. Untuk informasi selengkapnya tentang ACL, ACE, dan token akses, lihat Model Access Control.

Windows 2000: Jika Anda memanggil fungsi ini pada pengendali domain yang menjalankan Direktori Aktif, akses diizinkan atau ditolak berdasarkan daftar kontrol akses (ACL) untuk objek yang dapat diamankan. ACL default mengizinkan semua pengguna dan anggota yang diautentikasi dari grup " Akses pra-Windows 2000 kompatibel" untuk melihat informasi. Secara default, grup "Akses pra-Windows 2000 kompatibel" menyertakan Semua Orang sebagai anggota. Ini memungkinkan akses anonim ke informasi jika sistem mengizinkan akses anonim. Jika Anda memanggil fungsi ini di server anggota atau stasiun kerja, semua pengguna yang diautentikasi dapat melihat informasi. Akses anonim juga diizinkan jika pengaturan kebijakan RestrictAnonymous memungkinkan akses anonim.

Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan makro _WIN32_WINNT sebagai 0x0400 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.

Contoh

Sampel kode berikut menunjukkan cara mengambil informasi tentang elemen konfigurasi untuk stasiun kerja menggunakan panggilan ke fungsi NetWkstaGetInfo . Sampel memanggil NetWkstaGetInfo, menentukan tingkat informasi 102 ( WKSTA_INFO_102). Jika panggilan berhasil, sampel mencetak informasi tentang stasiun kerja. Terakhir, sampel kode membebaskan memori yang dialokasikan untuk buffer informasi.

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")

#include <stdio.h>
#include <windows.h> 
#include <lm.h>

int wmain(int argc, wchar_t *argv[])
{
   DWORD dwLevel = 102;
   LPWKSTA_INFO_102 pBuf = NULL;
   NET_API_STATUS nStatus;
   LPWSTR pszServerName = NULL;
   //
   // Check command line arguments.
   //
   if (argc > 2)
   {
      fwprintf(stderr, L"Usage: %s [\\\\ServerName]\n", argv[0]);
      exit(1);
   }
   // The server is not the default local computer.
   //
   if (argc == 2)
      pszServerName = argv[1];
   //
   // Call the NetWkstaGetInfo function, specifying level 102.
   //
   nStatus = NetWkstaGetInfo(pszServerName,
                             dwLevel,
                             (LPBYTE *)&pBuf);
   //
   // If the call is successful,
   //  print the workstation data.
   //
   if (nStatus == NERR_Success)
   {
      printf("\n\tPlatform: %d\n", pBuf->wki102_platform_id);
      wprintf(L"\tName:     %s\n", pBuf->wki102_computername);
      printf("\tVersion:  %d.%d\n", pBuf->wki102_ver_major,
                                  pBuf->wki102_ver_minor);
      wprintf(L"\tDomain:   %s\n", pBuf->wki102_langroup);
      wprintf(L"\tLan Root: %s\n", pBuf->wki102_lanroot);
      wprintf(L"\t# Logged On Users: %d\n", pBuf->wki102_logged_on_users);
   }
   //
   // Otherwise, indicate the system error.
   //
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);
   //
   // Free the allocated memory.
   //
   if (pBuf != NULL)
      NetApiBufferFree(pBuf);

   return 0;
}

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header lmwksta.h (termasuk Lm.h)
Pustaka Netapi32.lib
DLL Netapi32.dll

Lihat juga

NetWkstaSetInfo

Fungsi Manajemen Jaringan

Gambaran Umum Manajemen Jaringan

WKSTA_INFO_100

WKSTA_INFO_101

WKSTA_INFO_102

Fungsi Pengguna Stasiun Kerja dan Stasiun Kerja