3.3.4.9 Server Application Registers a Share
The calling application provides a share in a SHARE_INFO_503_I structure ([MS-SRVS] section 2.2.4.27) to register a share. The server MUST validate the SHARE_INFO_503_I structure as specified in [MS-SRVS] section 3.1.4.7. If any member in the structure is invalid, the server MUST return STATUS_INVALID_PARAMETER to the calling application. The server MUST look up the Share in the Server.ShareTable, where shi503_servername matches Share.ServerName and shi503_netname matches Share.Name. If a matching Share is found, the server MUST fail the call with an implementation-dependent error. Otherwise, the server MUST create a new Share with the following values set, insert it into Server.ShareTable, and return STATUS_SUCCESS.
Share.Name MUST be set to shi503_netname.
Share.Type MUST be set to shi503_type.
Share.Remark MUST be set to shi503_remark.
Share.LocalPath MUST be set to shi503_path.
Share.ServerName MUST be set to shi503_servername.
Share.FileSecurity MUST be set to shi503_security_descriptor.
Share.MaxUses MUST be set to shi503_max_uses.
Share.CurrentUses MUST be set to zero.