예제 #1
0
        private void SetStringValueHelper(LdapOption option, string value)
        {
            if (_connection.disposed)
            {
                throw new ObjectDisposedException(GetType().Name);
            }

            IntPtr inValue = new IntPtr(0);

            if (value != null)
            {
                inValue = Marshal.StringToHGlobalUni(value);
            }

            try
            {
                int error = Wldap32.ldap_set_option_ptr(_connection.ldapHandle, option, ref inValue);
                ErrorChecking.CheckAndSetLdapError(error);
            }
            finally
            {
                if (inValue != (IntPtr)0)
                {
                    Marshal.FreeHGlobal(inValue);
                }
            }
        }
예제 #2
0
 private void SetStringValueHelper(LdapOption option, string value)
 {
     if (!this.connection.disposed)
     {
         IntPtr intPtr = new IntPtr(0);
         if (value != null)
         {
             intPtr = Marshal.StringToHGlobalUni(value);
         }
         try
         {
             int num = Wldap32.ldap_set_option_ptr(this.connection.ldapHandle, option, ref intPtr);
             ErrorChecking.CheckAndSetLdapError(num);
         }
         finally
         {
             if (intPtr != (IntPtr)0)
             {
                 Marshal.FreeHGlobal(intPtr);
             }
         }
         return;
     }
     else
     {
         throw new ObjectDisposedException(this.GetType().Name);
     }
 }