📄 svrapi.h
字号:
****************************************************************/
/* 6.2 NetServerGetInfo
*
* Purpose: Read the current configuration parameters of the server.
*
* int FAR PASCAL
* NetServerGetInfo( servername, level, buf, buflen, totalavail )
* char FAR * servername; asciz remote server name or NULL if local
* short level; level of information to be returned
* char FAR * buf; for returned data
* unsigned short buflen; size of buffer
* unsigned short FAR *totalavail; total size needed for buffer
*
* Buffer contents on response (format for a single entry):
* Level 1 contains a "struct server_info_1".
* Level 50 contains a "struct server_info_50".
*
* If the buflen is not large enough for all of the information, the call
* will return as much as will fit in the buffer.
*
* Returns 0 if successful. Error return information:
*
* - ERROR_INVALID_LEVEL - Level parameter specified is invalid
* - ERROR_INVALID_PARAMETER - An invalid input parameter was detected.
* - NERR_NetNotStarted - Network not installed on local machine
* - NERR_ServerNotStarted - Server is not started
* - NERR_BufTooSmall - The buffer supplied was to small to
* return the fixed length structure
* requested.
* - NERR_MoreData - The buffer supplied was too small to
* return all the information available
* for this server.
*
*/
extern API_FUNCTION
NetServerGetInfo ( const char FAR * pszServer,
short sLevel,
char FAR * pbBuffer,
unsigned short cbBuffer,
unsigned short FAR * pcbTotalAvail );
/****************************************************************
* *
* Data structure templates - SERVER *
* *
****************************************************************/
struct server_info_0 {
char sv0_name[CNLEN + 1]; /* Server name */
}; /* server_info_0 */
struct server_info_1 {
char sv1_name[CNLEN + 1];
unsigned char sv1_version_major; /* Major version # of net */
unsigned char sv1_version_minor; /* Minor version # of net */
unsigned long sv1_type; /* Server type */
char FAR * sv1_comment; /* Exported server comment */
}; /* server_info_1 */
/* NOTE struct prefix must equal server_info_1 like below! */
struct server_info_50 {
char sv50_name[CNLEN + 1];
unsigned char sv50_version_major; /* Major version # of net */
unsigned char sv50_version_minor; /* Minor version # of net */
unsigned long sv50_type; /* Server type */
char FAR * sv50_comment; /* Exported server comment */
unsigned short sv50_security; /* SV_SECURITY_* (see below) */
unsigned short sv50_auditing; /* 0 = no auditing; nonzero = auditing */
char FAR * sv50_container; /* Security server/domain */
char FAR * sv50_ab_server; /* Address book server */
char FAR * sv50_ab_dll; /* Address book provider DLL */
}; /* server_info_50 */
struct server_info_2 {
char sv2_name[CNLEN + 1];
unsigned char sv2_version_major;
unsigned char sv2_version_minor;
unsigned long sv2_type;
char FAR * sv2_comment;
unsigned long sv2_ulist_mtime; /* User list, last modification time */
unsigned long sv2_glist_mtime; /* Group list, last modification time */
unsigned long sv2_alist_mtime; /* Access list, last modification time */
unsigned short sv2_users; /* max number of users allowed */
unsigned short sv2_disc; /* auto-disconnect timeout(in minutes) */
char FAR * sv2_alerts; /* alert names (semicolon separated) */
unsigned short sv2_security; /* SV_USERSECURITY or SV_SHARESECURITY */
unsigned short sv2_auditing; /* 0 = no auditing; nonzero = auditing */
unsigned short sv2_numadmin; /* max number of administrators allowed */
unsigned short sv2_lanmask; /* bit mask representing the srv'd nets */
unsigned short sv2_hidden; /* 0 = visible; nonzero = hidden */
unsigned short sv2_announce; /* visible server announce rate (sec) */
unsigned short sv2_anndelta; /* announce randomize interval (sec) */
/* name of guest account */
char sv2_guestacct[LM20_UNLEN + 1];
unsigned char sv2_pad1; /* Word alignment pad byte */
char FAR * sv2_userpath; /* ASCIIZ path to user directories */
unsigned short sv2_chdevs; /* max # shared character devices */
unsigned short sv2_chdevq; /* max # character device queues */
unsigned short sv2_chdevjobs; /* max # character device jobs */
unsigned short sv2_connections; /* max # of connections */
unsigned short sv2_shares; /* max # of shares */
unsigned short sv2_openfiles; /* max # of open files */
unsigned short sv2_sessopens; /* max # of open files per session */
unsigned short sv2_sessvcs; /* max # of virtual circuits per client */
unsigned short sv2_sessreqs; /* max # of simul. reqs. from a client */
unsigned short sv2_opensearch; /* max # of open searches */
unsigned short sv2_activelocks; /* max # of active file locks */
unsigned short sv2_numreqbuf; /* number of server (standard) buffers */
unsigned short sv2_sizreqbuf; /* size of svr (standard) bufs (bytes) */
unsigned short sv2_numbigbuf; /* number of big (64K) buffers */
unsigned short sv2_numfiletasks;/* number of file worker processes */
unsigned short sv2_alertsched; /* alert counting interval (minutes) */
unsigned short sv2_erroralert; /* error log alerting threshold */
unsigned short sv2_logonalert; /* logon violation alerting threshold */
unsigned short sv2_accessalert; /* access violation alerting threshold */
unsigned short sv2_diskalert; /* low disk space alert threshold (KB) */
unsigned short sv2_netioalert; /* net I/O error ratio alert threshold */
/* (tenths of a percent) */
unsigned short sv2_maxauditsz; /* Maximum audit file size (KB) */
char FAR * sv2_srvheuristics; /* performance related server switches*/
}; /* server_info_2 */
struct server_info_3 {
char sv3_name[CNLEN + 1];
unsigned char sv3_version_major;
unsigned char sv3_version_minor;
unsigned long sv3_type;
char FAR * sv3_comment;
unsigned long sv3_ulist_mtime; /* User list, last modification time */
unsigned long sv3_glist_mtime; /* Group list, last modification time */
unsigned long sv3_alist_mtime; /* Access list, last modification time */
unsigned short sv3_users; /* max number of users allowed */
unsigned short sv3_disc; /* auto-disconnect timeout(in minutes) */
char FAR * sv3_alerts; /* alert names (semicolon separated) */
unsigned short sv3_security; /* SV_USERSECURITY or SV_SHARESECURITY */
unsigned short sv3_auditing; /* 0 = no auditing; nonzero = auditing */
unsigned short sv3_numadmin; /* max number of administrators allowed */
unsigned short sv3_lanmask; /* bit mask representing the srv'd nets */
unsigned short sv3_hidden; /* 0 = visible; nonzero = hidden */
unsigned short sv3_announce; /* visible server announce rate (sec) */
unsigned short sv3_anndelta; /* announce randomize interval (sec) */
/* name of guest account */
char sv3_guestacct[LM20_UNLEN + 1];
unsigned char sv3_pad1; /* Word alignment pad byte */
char FAR * sv3_userpath; /* ASCIIZ path to user directories */
unsigned short sv3_chdevs; /* max # shared character devices */
unsigned short sv3_chdevq; /* max # character device queues */
unsigned short sv3_chdevjobs; /* max # character device jobs */
unsigned short sv3_connections; /* max # of connections */
unsigned short sv3_shares; /* max # of shares */
unsigned short sv3_openfiles; /* max # of open files */
unsigned short sv3_sessopens; /* max # of open files per session */
unsigned short sv3_sessvcs; /* max # of virtual circuits per client */
unsigned short sv3_sessreqs; /* max # of simul. reqs. from a client */
unsigned short sv3_opensearch; /* max # of open searches */
unsigned short sv3_activelocks; /* max # of active file locks */
unsigned short sv3_numreqbuf; /* number of server (standard) buffers */
unsigned short sv3_sizreqbuf; /* size of svr (standard) bufs (bytes) */
unsigned short sv3_numbigbuf; /* number of big (64K) buffers */
unsigned short sv3_numfiletasks;/* number of file worker processes */
unsigned short sv3_alertsched; /* alert counting interval (minutes) */
unsigned short sv3_erroralert; /* error log alerting threshold */
unsigned short sv3_logonalert; /* logon violation alerting threshold */
unsigned short sv3_accessalert; /* access violation alerting threshold */
unsigned short sv3_diskalert; /* low disk space alert threshold (KB) */
unsigned short sv3_netioalert; /* net I/O error ratio alert threshold */
/* (tenths of a percent) */
unsigned short sv3_maxauditsz; /* Maximum audit file size (KB) */
char FAR * sv3_srvheuristics; /* performance related server switches*/
unsigned long sv3_auditedevents; /* Audit event control mask */
unsigned short sv3_autoprofile; /* (0,1,2,3) = (NONE,LOAD,SAVE,or BOTH) */
char FAR * sv3_autopath; /* file pathname (where to load & save) */
}; /* server_info_3 */
/****************************************************************
* *
* Special values and constants - SERVER *
* *
****************************************************************/
/*
* Mask to be applied to svX_version_major in order to obtain
* the major version number.
*/
#define MAJOR_VERSION_MASK 0x0F
/*
* Bit-mapped values for svX_type fields. X = 1, 2 or 3.
*/
#define SV_TYPE_WORKSTATION 0x00000001
#define SV_TYPE_SERVER 0x00000002
#define SV_TYPE_SQLSERVER 0x00000004
#define SV_TYPE_DOMAIN_CTRL 0x00000008
#define SV_TYPE_DOMAIN_BAKCTRL 0x00000010
#define SV_TYPE_TIME_SOURCE 0x00000020
#define SV_TYPE_AFP 0x00000040
#define SV_TYPE_NOVELL 0x00000080 /* This flag is also set by Win95 NWSERVER */
#define SV_TYPE_DOMAIN_MEMBER 0x00000100
#define SV_TYPE_PRINTQ_SERVER 0x00000200
#define SV_TYPE_DIALIN_SERVER 0x00000400
#define SV_TYPE_ALL 0xFFFFFFFF /* handy for NetServerEnum2 */
/*
* Special value for svX_disc that specifies infinite disconnect
* time. X = 2 or 3.
*/
#define SV_NODISC 0xFFFF /* No autodisconnect timeout enforced */
/*
* Values of svX_security field. X = 2 or 3.
*/
#define SV_USERSECURITY 1
#define SV_SHARESECURITY 0
/*
* Values of svX_security field. X = 50.
* For Win95 NWSERVER, the only possible returned value is SV_SECURITY_NETWARE.
*/
#define SV_SECURITY_SHARE 0 /* Share-level */
#define SV_SECURITY_WINNT 1 /* User-level - Windows NT workst'n */
#define SV_SECURITY_WINNTAS 2 /* User-level - Windows NT domain */
#define SV_SECURITY_NETWARE 3 /* User-level - NetWare 3.x bindery */
/*
* Values of svX_hidden field. X = 2 or 3.
*/
#define SV_HIDDEN 1
#define SV_VISIBLE 0
#define SVI1_NUM_ELEMENTS 5
#define SVI2_NUM_ELEMENTS 44
#define SVI3_NUM_ELEMENTS 45
/*
* Masks describing AUTOPROFILE parameters
*/
#define SW_AUTOPROF_LOAD_MASK 0x1
#define SW_AUTOPROF_SAVE_MASK 0x2
/****************************************************************
* *
* Security Class *
* *
****************************************************************/
/****************************************************************
* *
* Function prototypes - SECURITY *
* *
****************************************************************/
extern API_FUNCTION
NetSecurityGetInfo ( const char FAR * pszServer,
short sLevel,
char FAR * pbBuffer,
unsigned short cbBuffer,
unsigned short FAR * pcbTotalAvail );
/****************************************************************
* *
* Data structure templates - SECURITY *
* *
****************************************************************/
struct security_info_1 {
unsigned long sec1_security; /* SEC_SECURITY_* (see below) */
char FAR * sec1_container; /* Security server/domain */
char FAR * sec1_ab_server; /* Address book server */
char FAR * sec1_ab_dll; /* Address book provider DLL */
}; /* security_info_1 */
/****************************************************************
* *
* Special values and constants - SECURITY *
* *
****************************************************************/
/*
/*
* Values of secX_security field. X = 1.
*/
#define SEC_SECURITY_SHARE SV_SECURITY_SHARE
#define SEC_SECURITY_WINNT SV_SECURITY_WINNT
#define SEC_SECURITY_WINNTAS SV_SECURITY_WINNTAS
#define SEC_SECURITY_NETWARE SV_SECURITY_NETWARE
/*NOINC*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#ifndef RC_INVOKED
#pragma pack() /* Revert to default packing */
#endif
#pragma option pop /*P_O_Pop*/
#endif /* SVRAPI_INCLUDED */
/*INC*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -