Exemplo n.º 1
0
        private SNILoadHandle() : base(IntPtr.Zero, true)
        {
            // From security review - SafeHandle guarantees this is only called once.
            // The reason for the safehandle is guaranteed initialization and termination of SNI to
            // ensure SNI terminates and cleans up properly.
            try
            { }
            finally
            {
                _sniStatus = SNINativeMethodWrapper.SNIInitialize();

                uint value = 0;

                // VSDevDiv 479597: If initialize fails, don't call QueryInfo.
                if (TdsEnums.SNI_SUCCESS == _sniStatus)
                {
                    // Query OS to find out whether encryption is supported.
                    SNINativeMethodWrapper.SNIQueryInfo(SNINativeMethodWrapper.QTypes.SNI_QUERY_CLIENT_ENCRYPT_POSSIBLE, ref value);
                }

                _encryptionOption = (value == 0) ? EncryptionOptions.NOT_SUP : EncryptionOptions.OFF;

                base.handle = (IntPtr)1; // Initialize to non-zero dummy variable.
            }
        }
 private SNILoadHandle() : base(IntPtr.Zero, true)
 {
     // From security review - SafeHandle guarantees this is only called once.
     // The reason for the safehandle is guaranteed initialization and termination of SNI to
     // ensure SNI terminates and cleans up properly.
     try
     { }
     finally
     {
         _sniStatus  = SNINativeMethodWrapper.SNIInitialize();
         base.handle = (IntPtr)1; // Initialize to non-zero dummy variable.
     }
 }