3.3.4.16 Server Application Requests Querying a Share

The calling application provides tuple <ServerName, ShareName> of the share that is being queried. The server MUST look up the Share in ShareList where ServerName matches Share.ServerName and ShareName matches Share.Name. If the matching Share is found, the server MUST return a share in SHARE_INFO_503_I structure and SHARE_INFO_1005 structure with the following values set and return STATUS_SUCCESS to the calling application; otherwise the server MUST return an implementation-dependent error.

Output Parameters

SMB2 Share Properties

SHARE_INFO_503_I.shi503_netname

Share.Name

SHARE_INFO_503_I.shi503_type

Share.Type

SHARE_INFO_503_I.shi503_remark

Share.Remark

SHARE_INFO_503_I.shi503_permissions

0

SHARE_INFO_503_I.shi503_max_uses

Share.MaxUses

SHARE_INFO_503_I.shi503_current_uses

Share.CurrentUses

SHARE_INFO_503_I.shi503_path

Share.LocalPath

SHARE_INFO_503_I.shi503_passwd

Empty string

SHARE_INFO_503_I.shi503_servername

Share.ServerName

SHARE_INFO_503_I.shi503_security_descriptor

Share.FileSecurity

SHARE_INFO_1005.shi1005_flags

ShareFlags MUST be set based on the individual share properties:

  • The server MUST set all flags contained in Share.CscFlags.

  • The server MUST set the SHI1005_FLAGS_DFS bit if the per-share property Share.IsDfs is TRUE.

  • The server MUST set the SHI1005_FLAGS_DFS_ROOT bit if the per-share property Share.IsDfs is TRUE.

  • The server MUST set the SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM bit if Share.DoAccessBasedDirectoryEnumeration is TRUE.

  • The server MUST set the SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING bit if Share.AllowNamespaceCaching is TRUE.

  • The server MUST set the SHI1005_FLAGS_FORCE_SHARED_DELETE bit if Share.ForceSharedDelete is TRUE.

  • The server MUST set the SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS bit if Share.RestrictExclusiveOpens is TRUE.

  • The server MUST set the SHI1005_FLAGS_FORCE_LEVELII_OPLOCK bit if Share.ForceLevel2Oplock is TRUE.

  • The server MUST set the SHI1005_FLAGS_ENABLE_HASH bit if Share.HashEnabled is TRUE.