internal MI_Result AddCredentials(
            string optionName,
            MI_UserCredentials credentials,
            MI_DestinationOptionsFlags flags
            )
        {
            MI_Result resultLocal = this.ft.AddCredentials(this,
                                                           optionName,
                                                           credentials,
                                                           flags);

            return(resultLocal);
        }
        internal MI_Result SetString(
            string optionName,
            string value,
            MI_DestinationOptionsFlags flags
            )
        {
            MI_Result resultLocal = this.ft.SetString(this,
                                                      optionName,
                                                      value,
                                                      flags);

            return(resultLocal);
        }
        internal MI_Result SetInterval(
            string optionName,
            MI_Interval value,
            MI_DestinationOptionsFlags flags
            )
        {
            MI_Result resultLocal = this.ft.SetInterval(this,
                                                        optionName,
                                                        ref value,
                                                        flags);

            return(resultLocal);
        }
        internal MI_Result SetNumber(
            string optionName,
            UInt32 value,
            MI_DestinationOptionsFlags flags
            )
        {
            MI_Result resultLocal = this.ft.SetNumber(this,
                                                      optionName,
                                                      value,
                                                      flags);

            return(resultLocal);
        }
        internal MI_Result GetNumber(
            string optionName,
            out UInt32 value,
            out UInt32 index,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_Result resultLocal = this.ft.GetNumber(this,
                                                      optionName,
                                                      out value,
                                                      out index,
                                                      out flags);

            return(resultLocal);
        }
        internal MI_Result GetInterval(
            string optionName,
            out MI_Interval value,
            out UInt32 index,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_Interval valueLocal  = new MI_Interval();
            MI_Result   resultLocal = this.ft.GetInterval(this,
                                                          optionName,
                                                          ref valueLocal,
                                                          out index,
                                                          out flags);

            value = valueLocal;
            return(resultLocal);
        }
        internal MI_Result GetOption(
            string optionName,
            MI_Value value,
            out MI_Type type,
            out UInt32 index,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_Result resultLocal = this.ft.GetOption(this,
                                                      optionName,
                                                      value,
                                                      out type,
                                                      out index,
                                                      out flags);

            return(resultLocal);
        }
        internal MI_Result GetString(
            string optionName,
            out string value,
            out UInt32 index,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_String valueLocal = MI_String.NewIndirectPtr();

            MI_Result resultLocal = this.ft.GetString(this,
                                                      optionName,
                                                      valueLocal,
                                                      out index,
                                                      out flags);

            value = valueLocal.Value;
            return(resultLocal);
        }
        internal MI_Result GetCredentialsAt(
            UInt32 index,
            out string optionName,
            out MI_UserCredentials credentials,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_String          optionNameLocal  = MI_String.NewIndirectPtr();
            MI_UserCredentials credentialsLocal = new MI_UserCredentials();

            MI_Result resultLocal = this.ft.GetCredentialsAt(this,
                                                             index,
                                                             optionNameLocal,
                                                             ref credentialsLocal,
                                                             out flags);

            optionName  = optionNameLocal.Value;
            credentials = credentialsLocal;
            return(resultLocal);
        }
        internal MI_Result GetOptionAt(
            UInt32 index,
            out string optionName,
            MI_Value value,
            out MI_Type type,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_String optionNameLocal = MI_String.NewIndirectPtr();

            MI_Result resultLocal = this.ft.GetOptionAt(this,
                                                        index,
                                                        optionNameLocal,
                                                        value,
                                                        out type,
                                                        out flags);

            optionName = optionNameLocal.Value;
            return(resultLocal);
        }
        internal MI_Result GetCredentialsPasswordAt(
            UInt32 index,
            out string optionName,
            string password,
            UInt32 bufferLength,
            out UInt32 passwordLength,
            out MI_DestinationOptionsFlags flags
            )
        {
            MI_String optionNameLocal = MI_String.NewIndirectPtr();

            MI_Result resultLocal = this.ft.GetCredentialsPasswordAt(this,
                                                                     index,
                                                                     optionNameLocal,
                                                                     password,
                                                                     bufferLength,
                                                                     out passwordLength,
                                                                     out flags);

            optionName = optionNameLocal.Value;
            return(resultLocal);
        }