Microsoft.Protocols.TestSuites.MS_OXCPRPT.MS_OXCPRPTAdapter.RopCopyProperties C# (CSharp) Method

RopCopyProperties() private method

RopCopyProperties implementation
private RopCopyProperties ( uint sourceHandle, uint destHandle, byte sourceHandleIndex, byte destHandleIndex, byte wantAsynchronous, byte copyFlags, PropertyTag propertyTags ) : object
sourceHandle uint This index specifies the location in the Server object handle table where the handle for source object.
destHandle uint This index specifies the location in the Server object handle table where the handle for destination object
sourceHandleIndex byte Unsigned 8-bit integer. This index specifies the location in the Server object handle table where the handle for the source Server object is stored
destHandleIndex byte Unsigned 8-bit integer. This index specifies the location in the Server object handle table where the handle for the destination Server object is stored
wantAsynchronous byte 8-bit Boolean. This value specifies whether the operation is to be executed asynchronously with status reported via RopProgress
copyFlags byte 8-bit flags structure. The possible values are specified in [MS-OXCPRPT]. These flags control the operation behavior
propertyTags Microsoft.Protocols.TestSuites.Common.PropertyTag Array of PropertyTag structures. This field specifies the properties to copy
return object
        private object RopCopyProperties(uint sourceHandle, uint destHandle, byte sourceHandleIndex, byte destHandleIndex, byte wantAsynchronous, byte copyFlags, PropertyTag[] propertyTags)
        {
            this.rawDataValue = null;
            this.responseValue = null;
            this.responseSOHsValue = null;

            RopCopyPropertiesRequest copyPropertiesRequest;

            copyPropertiesRequest.RopId = (byte)RopId.RopCopyProperties;
            copyPropertiesRequest.LogonId = LogonId;
            copyPropertiesRequest.SourceHandleIndex = sourceHandleIndex;
            copyPropertiesRequest.DestHandleIndex = destHandleIndex;
            copyPropertiesRequest.WantAsynchronous = wantAsynchronous;
            copyPropertiesRequest.CopyFlags = copyFlags;
            copyPropertiesRequest.PropertyTags = propertyTags;
            if (copyPropertiesRequest.PropertyTags != null)
            {
                copyPropertiesRequest.PropertyTagCount = (ushort)propertyTags.Length;
            }
            else
            {
                // CopyPropertiesRequest.PropertyTags is null, so the count of copyPropertiesRequest.PropertyTags is 0x00.
                copyPropertiesRequest.PropertyTagCount = 0x00;
            }

            List<uint> handleList = new List<uint>
            {
                sourceHandle, destHandle
            };

            this.responseSOHsValue = this.ProcessSingleRopWithMutipleServerObjects(copyPropertiesRequest, handleList, ref this.responseValue, ref this.rawDataValue, RopResponseType.SuccessResponse);
            return this.responseValue;
        }
MS_OXCPRPTAdapter