Fungsi NetWkstaSetInfo (lmwksta.h)
Fungsi NetWkstaSetInfo mengonfigurasi stasiun kerja dengan informasi yang tetap berlaku setelah sistem diinisialisasi ulang.
Sintaks
NET_API_STATUS NET_API_FUNCTION NetWkstaSetInfo(
[in] LMSTR servername,
[in] DWORD level,
[in] LPBYTE buffer,
[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] level
Tingkat informasi data. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Windows NT: Menentukan informasi tentang lingkungan stasiun kerja, termasuk informasi khusus platform, nama domain dan komputer lokal, dan informasi tentang sistem operasi. Parameter buffer menunjuk ke struktur WKSTA_INFO_100 . Bidang wk100_computername dan wk100_langroup struktur ini tidak dapat diatur dengan memanggil fungsi ini. Untuk mengatur nilai-nilai ini, panggil SetComputerName/SetComputerNameEx atau NetJoinDomain, masing-masing. |
|
Windows NT: Selain informasi tingkat 100, menentukan jalur ke direktori LANMAN. Parameter buffer menunjuk ke struktur WKSTA_INFO_101 . Bidang wk101_computername dan wk101_langroup struktur ini tidak dapat diatur dengan memanggil fungsi ini. Untuk mengatur nilai-nilai ini, panggil SetComputerName/SetComputerNameEx atau NetJoinDomain, masing-masing. |
|
Windows NT: Selain informasi tingkat 101, menentukan jumlah pengguna yang masuk ke komputer lokal. Parameter buffer menunjuk ke struktur WKSTA_INFO_102 . Bidang wk102_computername dan wk102_langroup struktur ini tidak dapat diatur dengan memanggil fungsi ini. Untuk mengatur nilai-nilai ini, panggil SetComputerName/SetComputerNameEx atau NetJoinDomain, masing-masing. |
|
Windows NT: Parameter buffer menunjuk ke struktur WKSTA_INFO_502 yang berisi informasi tentang lingkungan stasiun kerja. |
Jangan atur level 1010-1013, 1018, 1023, 1027, 1028, 1032, 1033, 1035, atau 1041-1062.
[in] buffer
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 stasiun kerja yang menyebabkan kesalahan ERROR_INVALID_PARAMETER. Jika parameter ini NULL, indeks tidak dikembalikan pada kesalahan. Untuk informasi lebih lanjut, lihat bagian Keterangan.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan 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. |
|
Salah satu parameter fungsi tidak valid. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. |
Keterangan
Hanya anggota grup Administrator yang berhasil menjalankan fungsi NetWkstaSetInfo di server jarak jauh.
Fungsi NetWkstaSetInfo memanggil layanan stasiun kerja pada sistem lokal atau sistem jarak jauh. Hanya sejumlah terbatas anggota struktur WKSTA_INFO_502 yang benar-benar dapat diubah menggunakan fungsi NetWkstaSetInfo . Tidak ada kesalahan yang dikembalikan jika anggota diatur yang diabaikan oleh layanan stasiun kerja. Layanan stasiun kerja terutama dikonfigurasi menggunakan pengaturan di registri.
Fungsi NetWkstaUserSetInfo dapat digunakan alih-alih fungsi NetWkstaSetInfo untuk mengatur informasi konfigurasi pada sistem lokal. Fungsi NetWkstaUserSetInfo memanggil Otoritas Keamanan Lokal (LSA).
Jika fungsi NetWkstaSetInfo mengembalikan ERROR_INVALID_PARAMETER, Anda dapat menggunakan parameter parm_err untuk menunjukkan anggota pertama struktur informasi stasiun kerja yang tidak valid. (Struktur informasi stasiun kerja dimulai dengan WKSTA_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 wki*_ menunjukkan bahwa anggota dapat dimulai dengan beberapa awalan, misalnya, wki100_ atau wki402_.)
Nilai | Anggota |
---|---|
WKSTA_PLATFORM_ID_PARMNUM | wki*_platform_id |
WKSTA_COMPUTERNAME_PARMNUM | wki*_computername |
WKSTA_LANGROUP_PARMNUM | wki*_langroup |
WKSTA_VER_MAJOR_PARMNUM | wki*_ver_major |
WKSTA_VER_MINOR_PARMNUM | wki*_ver_minor |
WKSTA_LOGGED_ON_USERS_PARMNUM | wki*_logged_on_users |
WKSTA_LANROOT_PARMNUM | wki*_lanroot |
WKSTA_LOGON_DOMAIN_PARMNUM | wki*_logon_domain |
WKSTA_LOGON_SERVER_PARMNUM | wki*_logon_server |
WKSTA_CHARWAIT_PARMNUM | wki*_char_wait |
WKSTA_CHARTIME_PARMNUM | wki*_collection_time |
WKSTA_CHARCOUNT_PARMNUM | wki*_maximum_collection_count |
WKSTA_KEEPCONN_PARMNUM | wki*_keep_conn |
WKSTA_KEEPSEARCH_PARMNUM | wki*_keep_search |
WKSTA_MAXCMDS_PARMNUM | wki*_max_cmds |
WKSTA_NUMWORKBUF_PARMNUM | wki*_num_work_buf |
WKSTA_MAXWRKCACHE_PARMNUM | wki*_max_wrk_cache |
WKSTA_SESSTIMEOUT_PARMNUM | wki*_sess_timeout |
WKSTA_SIZERROR_PARMNUM | wki*_siz_error |
WKSTA_NUMALERTS_PARMNUM | wki*_num_alerts |
WKSTA_NUMSERVICES_PARMNUM | wki*_num_services |
WKSTA_ERRLOGSZ_PARMNUM | wki*_errlog_sz |
WKSTA_PRINTBUFTIME_PARMNUM | wki*_print_buf_time |
WKSTA_NUMCHARBUF_PARMNU | wki*_num_char_buf |
WKSTA_SIZCHARBUF_PARMNUM | wki*_siz_char_buf |
WKSTA_WRKHEURISTICS_PARMNUM | wki*_wrk_heuristics |
WKSTA_MAILSLOTS_PARMNUM | wki*_mailslots |
WKSTA_MAXTHREADS_PARMNUM | wki*_max_threads |
WKSTA_SIZWORKBUF_PARMNUM | wki*_siz_work_buf |
WKSTA_NUMDGRAMBUF_PARMNUM | wki*_num_dgram_buf |
Pengaturan parameter layanan stasiun kerja disimpan di registri, bukan dalam file LanMan.ini yang digunakan sebelumnya oleh LAN Manager. Fungsi NetWkstaSetInfo tidak mengubah nilai dalam file LanMan.ini. Ketika layanan stasiun kerja dihentikan dan dimulai ulang, parameter stasiun kerja diatur ulang ke nilai default yang ditentukan dalam registri (kecuali jika ditimpa oleh parameter baris perintah). Nilai yang ditetapkan oleh panggilan sebelumnya ke NetWkstaSetInfo dapat ditimpa saat parameter stasiun kerja diatur ulang.
Contoh
Sampel kode berikut menunjukkan cara mengatur nilai batas waktu sesi yang terkait dengan stasiun kerja menggunakan panggilan ke fungsi NetServerSetInfo . (Waktu sesi habis adalah jumlah detik server menunggu sebelum memutuskan sesi yang tidak aktif.) Kode menentukan tingkat informasi 502 (WKSTA_INFO_502).
#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[])
{
LPWKSTA_INFO_502 pBuf = NULL;
WKSTA_INFO_502 wi;
DWORD dwLevel = 502;
NET_API_STATUS nStatus;
LPWSTR pszServerName = NULL;
if ((argc < 2) || (argc > 3))
{
fwprintf(stderr, L"Usage: %s [\\\\ServerName] SessionTimeOut\n", argv[0]);
exit(1);
}
if (argc == 3)
pszServerName = argv[1];
//
// Retrieve the current settings.
//
nStatus = NetWkstaGetInfo(pszServerName,
dwLevel,
(LPBYTE *)&pBuf);
if (nStatus != NERR_Success)
{
fprintf(stderr, "A system error has occurred (NetWkstaGetInfo): %d\n", nStatus);
return -1;
}
if (pBuf != NULL)
{
//
// Copy the existing settings to the new structure,
// and free the buffer.
//
CopyMemory(&wi, pBuf, sizeof(wi));
NetApiBufferFree(pBuf);
}
else
{
fprintf(stderr, "Memory invalid!\n");
return -1;
}
//
// Set a new session time-out value by
// calling the NetWkstaSetInfo function.
//
wi.wki502_sess_timeout = _wtoi(argv[argc-1]);
nStatus = NetWkstaSetInfo(pszServerName,
dwLevel,
(LPBYTE)&wi,
NULL);
//
// Display the result of the call.
//
if (nStatus == NERR_Success)
fwprintf(stderr, L"Workstation information reset: session time-out = %d\n", _wtoi(argv[argc-1]));
else
fprintf(stderr, "A system error has occurred (NetWkstaSetInfo): %d\n", nStatus);
return 0;
}
Persyaratan
Persyaratan | Nilai |
---|---|
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 |