Ejemplo n.º 1
0
        /// <summary>
        /// Gets the query parameters associated with the <see cref="QueryCondition" />. That is, the parameters specified on the last
        /// successful call to <see cref="SetQueryParameters" />, or if <see cref="SetQueryParameters" /> was never called, the arguments specified when the
        /// <see cref="QueryCondition" /> was created.
        /// </summary>
        /// <param name="queryParameters">The query parameters list to be filled up.</param>
        /// <returns>The <see cref="ReturnCode" /> that indicates the operation result.</returns>
        public ReturnCode GetQueryParameters(IList <string> queryParameters)
        {
            if (queryParameters == null)
            {
                return(ReturnCode.BadParameter);
            }
            queryParameters.Clear();

            IntPtr seq = IntPtr.Zero;

            ReturnCode ret = UnsafeNativeMethods.GetQueryParameters(_native, ref seq);

            if (ret == ReturnCode.Ok && !seq.Equals(IntPtr.Zero))
            {
                MarshalHelper.PtrToStringSequence(seq, ref queryParameters, false);
            }

            return(ret);
        }