Microsoft.Protocols.TestSuites.MS_OXCPERM.MS_OXCPERMAdapter.QueryPermission C# (CSharp) Method

QueryPermission() private method

Get the permission data.
private QueryPermission ( FolderTypeEnum folderType, uint &folderHandle, List &permissionUserList ) : void
folderType FolderTypeEnum Folder type
folderHandle uint The handle of the folder
permissionUserList List Permission user list
return void
        private void QueryPermission(FolderTypeEnum folderType, out uint folderHandle, out List<PermissionUserInfo> permissionUserList)
        {
            permissionUserList = new List<PermissionUserInfo>();

            folderHandle = this.GetFolderObjectHandle(folderType);

            this.responseSOHs = this.DoRopCall(this.CreateGetPermissionsTableRequestBuffer(folderType), (uint)folderHandle, ref this.response, ref this.rawData);
            RopGetPermissionsTableResponse getPermissionsTableResponse = (RopGetPermissionsTableResponse)this.response;
            Site.Assert.AreEqual<uint>(UINT32SUCCESS, getPermissionsTableResponse.ReturnValue, "0 indicates the RopGetPermissionsTable operates successfully.");

            uint tableHandle = this.responseSOHs[0][getPermissionsTableResponse.OutputHandleIndex];
            PropertyTag[] propertyTags = this.CreateHierarchyTablePropertyTagsForPermissionUser();
            this.DoRopCall(this.CreateSetColumnsRequestBuffer(propertyTags), tableHandle, ref this.response, ref this.rawData);
            RopSetColumnsResponse setColumnsResponse = (RopSetColumnsResponse)this.response;
            Site.Assert.AreEqual<uint>(UINT32SUCCESS, setColumnsResponse.ReturnValue, "0 indicates the RopSetColumns operates successfully.");

            this.DoRopCall(this.CreateQueryRowsRequestBuffer(), tableHandle, ref this.response, ref this.rawData);
            RopQueryRowsResponse queryRowsResponse = (RopQueryRowsResponse)this.response;
            Site.Assert.AreEqual<uint>(UINT32SUCCESS, queryRowsResponse.ReturnValue, "0 indicates the RopQueryRows operates successfully.");

            if (!this.ParseUserListFromRawData(out permissionUserList, ref this.rawData))
            {
                throw new ArgumentException("Failed to parse the row data from permissions list");
            }

            // RopRelease table message 
            this.ReleaseObject(tableHandle);
        }
MS_OXCPERMAdapter