public static SafeFreeCredentials AcquireCredentialsHandle(string package, CredentialUse intent, ref AuthIdentityEx authdata)
 {
     SafeFreeCredentials outCredential = null;
     int error = SafeFreeCredentials.AcquireCredentialsHandle(package, intent, ref authdata, out outCredential);
     if (error != 0)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new Win32Exception(error));
     }
     return outCredential;
 }
 public static SafeFreeCredentials AcquireDefaultCredential(string package, CredentialUse intent, params string[] additionalPackages)
 {
     SafeFreeCredentials outCredential = null;
     AuthIdentityEx authIdentity = new AuthIdentityEx(null, null, null, additionalPackages);
     int error = SafeFreeCredentials.AcquireDefaultCredential(package, intent, ref authIdentity, out outCredential);
     if (error != 0)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new Win32Exception(error));
     }
     return outCredential;
 }
        public static SafeFreeCredentials AcquireDefaultCredential(string package, CredentialUse intent, params string[] additionalPackages)
        {
            SafeFreeCredentials outCredential = null;
            AuthIdentityEx      authIdentity  = new AuthIdentityEx(null, null, null, additionalPackages);
            int error = SafeFreeCredentials.AcquireDefaultCredential(package, intent, ref authIdentity, out outCredential);

            if (error != 0)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new Win32Exception(error));
            }
            return(outCredential);
        }
예제 #4
0
        public static SafeFreeCredentials AcquireCredentialsHandle(
            string package,
            CredentialUse intent,
            ref AuthIdentityEx authdata)
        {
            SafeFreeCredentials credentialsHandle = null;
            int errorCode = SafeFreeCredentials.AcquireCredentialsHandle(package,
                                                                         intent,
                                                                         ref authdata,
                                                                         out credentialsHandle
                                                                         );

            if (errorCode != 0)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new Win32Exception(errorCode));
            }
            return(credentialsHandle);
        }
 public static int AcquireCredentialsHandle(string package, CredentialUse intent, ref AuthIdentityEx authdata, out SafeFreeCredentials outCredential)
 {
     int num = -1;
     outCredential = new SafeFreeCredentials();
     RuntimeHelpers.PrepareConstrainedRegions();
     try
     {
     }
     finally
     {
         long num2;
         num = AcquireCredentialsHandleW(null, package, (int) intent, null, ref authdata, null, null, ref outCredential._handle, out num2);
         if (num != 0)
         {
             outCredential.SetHandleAsInvalid();
         }
     }
     return num;
 }
        //This method should never be called for this type
        //public new IntPtr DangerousGetHandle()
        //{
        //    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException());
        //}

        public static unsafe int AcquireCredentialsHandle(
            string package,
            CredentialUse intent,
            ref AuthIdentityEx authdata,
            out SafeFreeCredentials outCredential)
        {
            int errorCode = -1;
            long timeStamp;

            outCredential = new SafeFreeCredentials();
            RuntimeHelpers.PrepareConstrainedRegions();
            try { }
            finally
            {
                // PreSharp Bug: Call 'Marshal.GetLastWin32Error' or 'Marshal.GetHRForLastWin32Error' before any other interop call. 
#pragma warning suppress 56523 // The API does not set Win32 Last Error. It returns a error code.
                errorCode = AcquireCredentialsHandleW(
                    null,
                    package,
                    (int)intent,
                    null,
                    ref authdata,
                    null,
                    null,
                    ref outCredential._handle,
                    out timeStamp
                    );
                if (errorCode != 0)
                {
                    outCredential.SetHandleAsInvalid();
                }
            }
            return errorCode;
        }
예제 #7
0
 internal static extern unsafe int AcquireCredentialsHandleW([In] string principal, [In] string moduleName, [In] int usage, [In] void *logonID, [In] ref AuthIdentityEx authdata, [In] void *keyCallback, [In] void *keyArgument, ref SSPIHandle handlePtr, out long timeStamp);
예제 #8
0
        public static int AcquireCredentialsHandle(string package, CredentialUse intent, ref AuthIdentityEx authdata, out SafeFreeCredentials outCredential)
        {
            int num = -1;

            outCredential = new SafeFreeCredentials();
            RuntimeHelpers.PrepareConstrainedRegions();
            try
            {
            }
            finally
            {
                long num2;
                num = AcquireCredentialsHandleW(null, package, (int)intent, null, ref authdata, null, null, ref outCredential._handle, out num2);
                if (num != 0)
                {
                    outCredential.SetHandleAsInvalid();
                }
            }
            return(num);
        }