예제 #1
0
            private unsafe int GetLastError(ref int errorCode)
            {
                char c1 = '\0', c2 = '\0';

                errorCode = SafeNativeMethods.ERROR_SUCCESS;
                return(SafeNativeMethods.ADsGetLastError(out errorCode, &c1, 0, &c2, 0));
            }
예제 #2
0
            private int GetLastError(ref int errorCode)
            {
                StringBuilder errorBuffer = new StringBuilder();
                StringBuilder nameBuffer  = new StringBuilder();

                errorCode = 0;
                return(SafeNativeMethods.ADsGetLastError(out errorCode, errorBuffer, 0, nameBuffer, 0));
            }
예제 #3
0
            private int GetLastError(ref int errorCode)
            {
                StringBuilder errorBuffer = new StringBuilder();
                StringBuilder nameBuffer  = new StringBuilder();

                errorCode = SafeNativeMethods.ERROR_SUCCESS;
                int hr = SafeNativeMethods.ADsGetLastError(out errorCode, errorBuffer, 0, nameBuffer, 0);

                return(hr);
            }
        internal static Exception CreateFormattedComException(COMException e)
        {
            StringBuilder errorBuffer = new StringBuilder(0x100);
            StringBuilder nameBuffer  = new StringBuilder();
            int           error       = 0;

            SafeNativeMethods.ADsGetLastError(out error, errorBuffer, 0x100, nameBuffer, 0);
            if (error != 0)
            {
                return(new DirectoryServicesCOMException(errorBuffer.ToString(), error, e));
            }
            return(e);
        }
        internal static Exception CreateFormattedComException(COMException e)
        {
            // get extended error information
            StringBuilder errorBuffer = new StringBuilder(256);
            StringBuilder nameBuffer  = new StringBuilder();
            int           error       = 0;

            SafeNativeMethods.ADsGetLastError(out error, errorBuffer, 256, nameBuffer, 0);

            if (error != 0)
            {
                return(new DirectoryServicesCOMException(errorBuffer.ToString(), error, e));
            }
            else
            {
                return(e);
            }
        }
        internal static unsafe Exception CreateFormattedComException(COMException e)
        {
            // get extended error information
            const int ErrorBufferLength = 256;
            char *    errorBuffer       = stackalloc char[ErrorBufferLength];
            char      nameBuffer        = '\0';
            int       error             = 0;

            SafeNativeMethods.ADsGetLastError(out error, errorBuffer, ErrorBufferLength, &nameBuffer, 0);

            if (error != 0)
            {
                return(new DirectoryServicesCOMException(new string(errorBuffer), error, e));
            }
            else
            {
                return(e);
            }
        }