📄 svrapi.h
字号:
* EXIT
*
* 0 = success
* NERR_NetNotStarted
* ERROR_BAD_NETPATH
* NERR_ServerNotStarted
* NERR_NetNameNotFound
* ERROR_INVALID_PARAMETER
*
*
* Note: Deleting a share will also delete any existing connections
* to the shared resource, and close open files within the
* connections.
*/
extern API_FUNCTION
NetShareDel ( const char FAR * pszServer,
const char FAR * pszNetName,
unsigned short usReserved );
/* 2.1 NetShareEnum
*
* API_FUNCTION
* NetShareEnum( servername, level, buf, buflen, entriesread, totalentries )
* char FAR * servername; asciz remote server name or NULL if local
* short sLevel; level of detail requested; 1 or 50
* char FAR * pbBuffer; buffer to return entries in
* unsigned short cbBuffer; size of buffer on call
* unsigned short FAR *pcEntriesRead; # of entries supplied on return
* unsigned short FAR *pcTotalAvail ; total # of entries available
*
* Supply information about existing shares at specified level.
*
* Buffer contents on response (format for a single entry):
* Level 1 contains a "struct share_info_1".
* Level 50 contains a "struct share_info_50".
*
* Returns 0 if successful. Possible error returns:
* ERROR_INVALID_LEVEL
* ERROR_BAD_NETPATH
* NERR_NetNotStarted
* NERR_ServerNotStarted
* ERROR_MORE_DATA
*/
extern API_FUNCTION
NetShareEnum ( const char FAR * pszServer,
short sLevel,
char FAR * pbBuffer,
unsigned short cbBuffer,
unsigned short FAR * pcEntriesRead,
unsigned short FAR * pcTotalAvail );
/* 2.2 NetShareGetInfo
*
* Purpose: Read complete information about a single outstanding share.
*
* API_FUNCTION
* NetShareGetInfo( servername, netname, level, buf, buflen, totalavail )
* char FAR * servername; asciz remote server name or NULL if local
* char FAR * netname; asciz network name of share being queried
* short level; level of info requested (50 for Win95 peer servers)
* char FAR * buf; for returned entry
* unsigned short buflen; size of buffer
* unsigned short FAR *totalavail; total size needed for buffer
*
* Buffer contents on response:
* Level 50 contains a "struct share_info_50".
*
* Returns 0 if successful. Possible error returns:
* ERROR_INVALID_LEVEL
* ERROR_INVALID_PARAMETER
* ERROR_BAD_NETPATH
* NERR_NetNotStarted
* NERR_ServerNotStarted
* NERR_NetNameNotFound
* NERR_MoreData
* NERR_BufTooSmall
*/
extern API_FUNCTION
NetShareGetInfo ( const char FAR * pszServer,
const char FAR * pszNetName,
short sLevel,
char FAR * pbBuffer,
unsigned short cbBuffer,
unsigned short FAR * pcbTotalAvail );
/*** NetShareSetInfo (Admin only)
*
* API_FUNCTION NetShareSetInfo( servername,
* netname,
* level,
* buf,
* buflen,
* parmnum )
*
* ENTRY
*
* servername; asciz remote srv name, NULL if local
* netname; asciz network name of share being set
* level; level of info provided (50 for Win95 peer servers)
* buf; contents described below
* buflen; size of buffer
* parmnum; must be PARMNUM_ALL for Win95 peer servers
*
* Buffer contents on call if parmnum is zero:
* Level 50 contains a "struct share_info_50".
*
* Settable fields are:
* shi_remark
* shi_passwd
*
* EXIT
*
* 0 = success
* NERR_NetNotStarted
* NERR_ServerNotStarted
* NERR_NetNameNotFound
* ERROR_INVALID_LEVEL
* NERR_BufTooSmall
* NERR_RemoteErr
* ERROR_MORE_DATA
* ERROR_INVALID_PARAMETER
***/
extern API_FUNCTION
NetShareSetInfo ( const char FAR * pszServer,
const char FAR * pszNetName,
short sLevel,
const char FAR * pbBuffer,
unsigned short cbBuffer,
short sParmNum );
/****************************************************************
* *
* Data structure templates - SHARE *
*
****************************************************************/
struct share_info_0 {
char shi0_netname[LM20_NNLEN+1];
}; /* share_info_0 */
struct share_info_1 {
char shi1_netname[LM20_NNLEN+1];
char shi1_pad1;
unsigned short shi1_type;
char FAR * shi1_remark;
}; /* share_info_1 */
struct share_info_2 {
char shi2_netname[LM20_NNLEN+1];
char shi2_pad1;
unsigned short shi2_type;
char FAR * shi2_remark;
unsigned short shi2_permissions;
unsigned short shi2_max_uses;
unsigned short shi2_current_uses;
char FAR * shi2_path;
char shi2_passwd[SHPWLEN+1];
char shi2_pad2;
}; /* share_info_2 */
struct share_info_50 {
char shi50_netname[LM20_NNLEN+1]; /* share name */
unsigned char shi50_type; /* see below */
unsigned short shi50_flags; /* see below */
char FAR * shi50_remark; /* ANSI comment string */
char FAR * shi50_path; /* shared resource */
char shi50_rw_password[SHPWLEN+1]; /* read-write password (share-level security) */
char shi50_ro_password[SHPWLEN+1]; /* read-only password (share-level security) */
}; /* share_info_50 */
/****************************************************************
* *
* Special values and constants - SHARE *
* *
****************************************************************/
/* Field values for shi50_flags; */
/* These flags are relevant for share-level security on VSERVER
* When operating with user-level security, use SHI50F_FULL - the actual
* access rights are determined by the NetAccess APIs.
*/
#define SHI50F_RDONLY 0x0001
#define SHI50F_FULL 0x0002
#define SHI50F_DEPENDSON (SHI50F_RDONLY|SHI50F_FULL)
#define SHI50F_ACCESSMASK (SHI50F_RDONLY|SHI50F_FULL)
/* The share is restored on system startup */
#define SHI50F_PERSIST 0x0100
/* The share is not normally visible */
#define SHI50F_SYSTEM 0x0200
/*
* Values for parmnum parameter to NetShareSetInfo.
*/
#ifndef PARMNUM_ALL
#define PARMNUM_ALL 0
#endif
#define SHI_REMARK_PARMNUM 4
#define SHI_PERMISSIONS_PARMNUM 5
#define SHI_MAX_USES_PARMNUM 6
#define SHI_PASSWD_PARMNUM 9
#define SHI1_NUM_ELEMENTS 4
#define SHI2_NUM_ELEMENTS 10
/*
* Share types .
*
* STYPE_DISKTREE and STYPE_PRINTQ are recognized on peer servers
*/
#define STYPE_DISKTREE 0 /* disk share */
#define STYPE_PRINTQ 1 /* printer share */
#define STYPE_DEVICE 2
#define STYPE_IPC 3
#define SHI_USES_UNLIMITED -1
/****************************************************************
* *
* Session Class *
* *
****************************************************************/
/****************************************************************
* *
* Function prototypes - SESSION *
*
* Peer Server Support *
* NetSessionDel() - NWSERVER and VSERVER *
* NetSessionEnum() - sLevel 50 on NWSERVER and VSERVER *
* NetSessionGetInfo() - not supported on peer servers *
****************************************************************/
/*** NetSessionDel (Admin only)
*
*
* API_FUNCTION NetSessionDel( servername, clientname, reserved )
*
* ENTRY
*
* servername; asciz remote srv name, NULL if local
* clientname; asciz remote computer name (returned by NetSessionEnum)
* of session being deleted
* In the case of a Win95 NWSERVER, the clientname should be the
* ascii connection number
* reserved; session key returned by NetSessionEnum
*
* EXIT
*
* 0 = success
* NERR_NetNotStarted
* ERROR_BAD_NETPATH
* NERR_ServerNotStarted
* ERROR_INVALID_LEVEL
* NERR_RemoteErr
* NERR_RemoteOnly
* ERROR_ACCESS_DENIED
* NERR_BufTooSmall
* NERR_ClientNameNotFound
*
***/
extern API_FUNCTION
NetSessionDel ( const char FAR * pszServer,
const char FAR * pszClientName,
short sReserved );
/*** NetSessionEnum
*
* API_FUNCTION NetSessionEnum( servername,
* level,
* buf,
* buflen,
* entriesread,
* totalentries )
* ENTRY
*
* servername; asciz remote srv name, NULL if local
* level; level of detail requested; (50 for Win95 peer servers)
* buf; for returned entries
* buflen; size of buffer on call;
* entriesread; # of entries supplied on return
* totalentries; total # of entries available
*
* EXIT
*
* 0 = success
* NERR_NetNotStarted
* NERR_ServerNotStarted
* ERROR_BAD_NETPATH
* ERROR_INVALID_LEVEL
* NERR_RemoteErr
* ERROR_MORE_DATA
* ERROR_ACCESS_DENIED
*
* Buffer contains an array of session_info structures.
*
***/
extern API_FUNCTION
NetSessionEnum ( const char FAR * pszServer,
short sLevel,
char FAR * pbBuffer,
unsigned short cbBuffer,
unsigned short FAR * pcEntriesRead,
unsigned short FAR * pcTotalAvail );
extern API_FUNCTION
NetSessionGetInfo ( const char FAR * pszServer,
const char FAR * pszClientName,
short sLevel,
char FAR * pbBuffer,
unsigned short cbBuffer,
unsigned short FAR * pcbTotalAvail );
/****************************************************************
* *
* Data structure templates - SESSION *
* *
****************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -