Workstation and Workstation User Functions

The workstation functions perform administrative tasks on a local or remote workstation. Any user or application with admin group membership on a local or remote server can perform administrative tasks on that workstation to control its operation, user access, and resource sharing. The workstation functions are:

NetWkstaGetInfo
NetWkstaSetInfo

The workstation user functions allow access to user-specific information. The user-specific information is separated from the workstation information because there can be more than one user on a workstation. The workstation user functions are:

NetWkstaUserEnum
NetWkstaUserGetInfo
NetWkstaUserSetInfo

The low-level parameters that affect a workstation's operation can be examined and modified by calling NetWkstaGetInfo and NetWkstaSetInfo.

The workstation API structures are restructured from those of LAN Man 2.x to allow the information to be grouped by type and security accesses. The LAN Manager 2.x workstation information format is discontinued due to the following problems:

·The base level (0 and 1) were not grouped by accessibility such that a non superset level (level 10) was required to allow guest access to the information.

·Platform specific implementation information was included in the base levels such that every platform had to return all information including a default for non-relevant fields. This grew the size of the information structures unneccessarily, making the function cumbersome to use.

The workstation functions allow access to two discrete groups of workstation information:

·System information.

·Platform specific information (Windows NT, OS/2, MS-DOS, and so on)

Within each group the fields are categorized by security access such that the guest accessible fields are a subset of the user accessible fields that are a subset of the admin accessible fields.

The system information structure contains a platform base number that identifies the levels and format of the platform-specific information structures.

The workstation function information structures are as follows:

WKSTA_INFO_100
WKSTA_INFO_101
WKSTA_INFO_102
WKSTA_INFO_302
WKSTA_INFO_402

The workstation user function information structures are:

WKSTA_USER_INFO_0WKSTA_USER_INFO_1WKSTA_USER_INFO_1101

For NetWkstaSetInfo, parmnum values refer to the members of the workstation info structure, as follows. These values are used when indicating an error in a specific parameter through parm_err.

parmnum value Member of wksta_info structure
WKSTA_PLATFORM_ID_PARMNUM wki_platform_id
WKSTA_COMPUTERNAME_PARMNUM wki_computername
WKSTA_LANGROUP_PARMNUM wki_langroup
WKSTA_OTH_DOMAINS_PARMNUM wki_oth_domains
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_PRAMNUM wki_num_alerts
WKSTA_NUMSERVICES_PARMNUM wki_num_services
WKSTA_ERRLOGSZ_PARMNUM wki_errlog_sz
WKSTA_PRINTBUFTIME_PARMNUM wki_print_buf_time
WKSTA_NUMCHARBUF_PARMNUM wki_num_char_buf
WKSTA_SIZCHARBUF_PARMNUM wki_siz_char_buf
WKSTA_WRKHEURISTICS_PARMNUM wki_wrk_heuristics
WKSTA_MAILSLOTS_PRAMNUM wki_mailslots
WKSTA_MAXTHREADS_PARMNUM wki_max_threads
WKSTA_SIZWORKBUF_PARMNUM wki_siz_work_buf
WKSTA_DORMANTTIMEOUT_PARMNUM wki_dormant_timeout
WKSTA_LOCKQUOTA_PARMNUM wki_lock_quota
WKSTA_LOCKINCREMENT_PARMNUM wki_lock_increment
WKSTA_LOCKMAXIMUM_PARMNUM wki_lock_maximum
WKSTA_PIPEINCREMENT_PRAMNUM wki_pipe_increment
WKSTA_PIPEMAXIMUM_PARMNUM wki_pipe_maximum
WKSTA_RAWREADTHRESHOLD_PARMNUM wki_raw_read_threshold
WKSTA_USEOPLOCKING_PARMNUM wki_use_opportunistic_locking
WKSTA_USEOPBATCH_PARMNUM wki_use_op_batch
WKSTA_USEUNLOCKBEHIND_PARMNUM wki_use_unlock_behind
WKSTA_USECLOSEBEHIND_PARMNUM wki_use_close_behind
WKSTA_BUFNAMEDPIPES_PARMNUM wksta_buf_named_pipes
WKSTA_USELOCKANDREADANDUNLOCK
_PARMNUM
wki_use_lock_and_read_and
_unlock
WKSTA_UTILIZENTCACHING_PARMNUM wki_utilize_nt_caching
WKSTA_USERAWREAD_PARMNUM wki_use_raw_read
WKSTA_USEWRITERAWWITHDATA_PARMNUM wki_use_write_raw_with_data
WKSTA_USEENCRYPTION_PARMNUM wki_use_encryption
WKSTA_BUFFILESWITHDENYWRITE
_PARMNUM
wki_buf_files_with_deny_write
WKSTA_BUFREADONLYFILES_PRAMNUM wki_buf_read_only_files
WKSTA_FORCECORECREATEMODE_PARMNUM wki_force_core_create_mode
WKSTA_USE512BYTESMAXTRANSFER
_PARMNUM
wki_use_512_bytes_max_transfer