internal delegate int TaskDialogCallback()

in wwauth/Google.Solutions.WWAuth/Interop/NativeMethods.cs [191:241]


        internal delegate int TaskDialogCallback(
            [In] IntPtr hwnd,
            [In] TASKDIALOG_NOTIFICATIONS msg,
            [In] UIntPtr wParam,
            [In] IntPtr lParam,
            [In] IntPtr refData);

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Interoperability", "CA1400:PInvokeEntryPointsShouldExist")]
        [DllImport("ComCtl32", CharSet = CharSet.Unicode, PreserveSig = false)]
        internal static extern void TaskDialogIndirect(
            [In] ref TASKDIALOGCONFIG pTaskConfig,
            [Out] out int pnButton,
            [Out] out int pnRadioButton,
            [Out] out bool pfVerificationFlagChecked);


        //---------------------------------------------------------------------
        // CredUI.
        //---------------------------------------------------------------------

        public const int ERROR_NOERROR = 0;
        public const int ERROR_CANCELLED = 1223;
        public const int ERROR_NO_SUCH_LOGON_SESSION = 1312;
        public const int ERROR_NOT_FOUND = 1168;
        public const int ERROR_INVALID_ACCOUNT_NAME = 1315;
        public const int ERROR_INSUFFICIENT_BUFFER = 122;
        public const int ERROR_INVALID_PARAMETER = 87;
        public const int ERROR_INVALID_FLAGS = 1004;
        public const int ERROR_BAD_ARGUMENTS = 160;

        [Flags]
        public enum CREDUI_FLAGS
        {
            ALWAYS_SHOW_UI = 0x00080,
            COMPLETE_USERNAME = 0x00800,
            DO_NOT_PERSIST = 0x00002,
            EXCLUDE_CERTIFICATES = 0x00008,
            EXPECT_CONFIRMATION = 0x20000,
            GENERIC_CREDENTIALS = 0x40000,
            INCORRECT_PASSWORD = 0x00001,
            KEEP_USERNAME = 0x100000,
            PASSWORD_ONLY_OK = 0x00200,
            PERSIST = 0x01000,
            REQUEST_ADMINISTRATOR = 0x00004,
            REQUIRE_CERTIFICATE = 0x00010,
            REQUIRE_SMARTCARD = 0x00100,
            SERVER_CREDENTIAL = 0X04000,
            SHOW_SAVE_CHECK_BOX = 0x00040,
            USERNAME_TARGET_CREDENTIALS = 0x80000,
            VALIDATE_USERNAME = 0x00400
        }