Microsoft.Protocols.TestSuites.MS_OXORULE.MS_OXORULEAdapter.RopGetPropertiesSpecific C# (CSharp) Method

RopGetPropertiesSpecific() public method

This ROP gets specific properties of a message.
public RopGetPropertiesSpecific ( uint objHandle, PropertyTag propertyTags ) : RopGetPropertiesSpecificResponse
objHandle uint This index specifies the location in the Server object handle table where the handle for the input Server object is stored.
propertyTags Microsoft.Protocols.TestSuites.Common.PropertyTag This field specifies the properties requested.
return Microsoft.Protocols.TestSuites.Common.RopGetPropertiesSpecificResponse
        public RopGetPropertiesSpecificResponse RopGetPropertiesSpecific(uint objHandle, PropertyTag[] propertyTags)
        {
            this.rawData = null;
            this.response = null;
            this.responseSOHs = null;

            RopGetPropertiesSpecificRequest getPropertiesSpecificRequest;
            RopGetPropertiesSpecificResponse getPropertiesSpecificResponse;

            getPropertiesSpecificRequest.RopId = 0x07;
            getPropertiesSpecificRequest.LogonId = 0x00;
            getPropertiesSpecificRequest.InputHandleIndex = 0x00;
            getPropertiesSpecificRequest.PropertySizeLimit = 0x00;
            getPropertiesSpecificRequest.WantUnicode = 0x01;
            if (propertyTags != null)
            {
                getPropertiesSpecificRequest.PropertyTagCount = (ushort)propertyTags.Length;
            }
            else
            {
                getPropertiesSpecificRequest.PropertyTagCount = 0x00;
            }
            
            getPropertiesSpecificRequest.PropertyTags = propertyTags;
            this.responseSOHs = this.DoRPCCall(getPropertiesSpecificRequest, objHandle, ref this.response, ref this.rawData);
            getPropertiesSpecificResponse = (RopGetPropertiesSpecificResponse)this.response;

            // The getPropertiesSpecificResponse.ReturnValue equals 0 means that this ROP is successful.
            // So the propertyTags in getPropertiesSpecificRequest is correct
            if (getPropertiesSpecificResponse.ReturnValue == 0)
            {
                this.VerifyPropertiesSpecific(propertyTags);
            }

            return getPropertiesSpecificResponse;
        }