3.1.5.5.3 SamrQueryInformationGroup (Opnum 20)

The SamrQueryInformationGroup method obtains attributes from a group object.

 long SamrQueryInformationGroup(
   [in] SAMPR_HANDLE GroupHandle,
   [in] GROUP_INFORMATION_CLASS GroupInformationClass,
   [out, switch_is(GroupInformationClass)] 
     PSAMPR_GROUP_INFO_BUFFER* Buffer
 );

GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing a group object.

GroupInformationClass: An enumeration indicating which attributes to return. See section 2.2.4.6 for a listing of possible values.

Buffer: The requested attributes on output. See section 2.2.4.7 for structure details.

This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject the use of context handles created by a method of a different RPC interface than this one, as specified in [MS-RPCE] section 3.

Upon receiving this message, the server MUST process the data from the message subject to the following constraints:

  1. The server MUST return an error if GroupHandle.HandleType is not equal to "Group".

  2. GroupHandle.GrantedAccess MUST have the required access specified in section 3.1.2.2. Otherwise, the server MUST return STATUS_ACCESS_DENIED.

  3. The following information levels MUST be processed by setting the appropriate output field name to either the associated database attribute or the value resulting from the associated processing rules, as specified in section 3.1.5.14.9. Processing is completed by returning 0 on success.

    GroupInformationClass

    GroupGeneralInformation

    GroupNameInformation

    GroupAttributeInformation

    GroupAdminCommentInformation

  4. If GroupInformationClass does not meet the criteria of constraint 3, the constraints associated with the GroupInformationClass input value in the following subsections MUST be satisfied; if there is no subsection for the GroupInformationClass value, an error MUST be returned to the client.