Commit Graph
39 Commits
Author SHA1 Message Date
Ryan Newington 7fad9cb351 Fix credential event callback reference lifetime 2026-08-30 15:42:48 +10:00
Ryan Newington b0d6ccc702 Document bitmap transparency and public API
Explain image behavior for each credential tile version, package the README and XML documentation, and complete the public API comments.
2026-08-30 08:10:32 +10:00
Ryan Newington 43af44f87f Expand framework support and COM ABI coverage
Target .NET 8, 9, 10, Framework 4.7.2, and Framework 4.8. Rename samples to stable Core and Framework names. Add raw-vtable COM tests for x64, x86, and ARM64, and require the Azure architecture matrix before packaging.
2026-08-28 11:22:53 +10:00
Ryan Newington be65cbaa93 Add transparent bitmap support for credential tiles 2026-08-21 09:32:53 +10:00
Ryan Newington 536cdf0e71 Remove unused field 2024-10-22 07:48:16 +11:00
Ryan Newington eff2170592 Update method name 2024-10-21 06:48:44 +11:00
Ryan Newington b82ae53c1d Renamed properties 2024-10-21 06:45:48 +11:00
Ryan Newington 3fe3999e0d Refactor default and auto-logon tile handling
Refactored `CredentialProviderBase` and `CredentialTile` to improve the handling of default and auto-logon tiles. Key changes include:

- Introduced `SetDefaultTile` method with validation and tile refresh.
- Refactored `IsAutoLogon` and `IsDefault` properties to be read only properties.
- Added `ShouldAutoLogon` method to be called when a tile is selected.
2024-10-21 06:43:05 +11:00
Ryan Newington 96bff2852a Breaking change: Add autoLogon parameter to OnSelected method
Modified the `OnSelected` method in the `CredentialTile` class to include an `out` parameter named `autoLogon`, which determines if the logon should proceed immediately. Updated XML documentation to explain the new parameter and its behavior in Windows 10. Adjusted the `SetSelected` method in `CredentialTile.ICredentialProviderCredential` to call the updated `OnSelected` method and set `pbAutoLogon` based on the returned `autoLogon` value. Removed the previous `OnSelected` implementation without parameters.

There was confusion between a tile that is configured as a default auto logon tile, and a tile that can be auto logged-on when selecteed. This change clarifies the case of a tile allowing login when selected, without having to press a submit button.
The AutoLogon propert of the CredentialTile object is no longer used in this scenario.
Implementers must override OnSelected(out bool autoLogon) to automatically logon a tile when selected
2024-10-18 10:33:41 +11:00
Ryan Newington 2e9e21aee6 Add ReloadUserTiles method and update IsAutoLogon property
- Added ReloadUserTiles method to CredentialProviderBase to notify LogonUI of tile modifications.
- Introduced private field isAutoLogon in CredentialTile.
- Updated IsAutoLogon property in CredentialTile to use a backing field and call ReloadUserTiles on set.
- Corrected typo in XML documentation for CreateParentWindowHwnd method.
2024-10-17 07:41:11 +11:00
Ryan Newington 1b9ad62ded Allow modification of a button's adjacent control post-initialization
- Introduced a private field `adjacentToControl` in `SubmitButtonControl`.
- Added a constructor parameter to initialize `adjacentToControl`.
- Updated `AdjacentToKey` and `AdjacentToId` to use `adjacentToControl`.
- Added a public property `AdjacentToControl` with getter and setter.
- Modified the `Clone` method to copy `adjacentToControl`.
2024-10-16 07:13:48 +11:00
Ryan Newington b770820051 Merge pull request #12 from lithnet/v2-consent-header
Adds support for reading 'v2' consent ui headers
2024-09-08 02:48:50 +02:00
James Spencer 27fe73e32e Update names of ConsentUIElevationReason struct members 2024-09-01 20:46:37 +10:00
James Spencer 97fb10713f Correctly document 'ConsentUIElevationReason' based on ELEVATION_REASON enum from Windows headers. Update tests to match 2024-09-01 18:52:42 +10:00
iLikeToCode 934eae604a Fix Spelling Errors - ControlKeys.cs 2024-08-31 15:23:49 +01:00
Ryan Newington e4ddea5267 Add check to make sure the size of the consent UI header is at least the size of the header as known for the platform/OS version 2024-08-28 16:17:52 +10:00
Ryan Newington 10505c8641 Update tfms 2024-08-28 01:37:33 +10:00
Ryan Newington fcdd67bb0f Adds support for reading 'v2' consent ui headers 2024-08-28 01:29:34 +10:00
Ryan Newington b010d4ff3f Update CredentialProviderBase.ICredentialProvider.cs 2024-02-25 11:11:18 +11:00
Ryan Newington d233095ab7 Update CredentialProviderBase.ICredentialProvider.cs 2024-02-25 11:10:44 +11:00
Ryan Newington 0687d70bba Fixes an issue where a default tile was incorrectly set 2024-02-23 07:10:47 +11:00
Ryan Newington 65506d9945 Adds OnLoad and OnUnload methods to the credential provider and tile 2024-01-07 14:32:56 +11:00
Ryan Newington 6f9fecb137 Fixes namespace for ConsentUIDataMsix 2024-01-06 21:01:04 +11:00
James Spencer 2499c4acbd Tidy and document structures, document more fields from Consent/AppInfo 2023-12-17 15:19:44 +11:00
Ryan Newington 28de11ee97 Adds initial support for reading parameters passed to consent UI 2023-11-11 16:09:12 +11:00
Ryan Newington d5b3b24870 Updates logging text 2023-07-24 12:55:11 +10:00
Ryan Newington 3635d283b1 Update trace logger to use WriteLine 2023-07-23 15:39:12 +10:00
Ryan Newington 1738569acf Exposes CredUIFlags along side UsageScenario 2023-07-22 16:11:12 +10:00
Ryan Newington feb6987657 Updates naming of logging provider 2023-07-22 15:08:35 +10:00
Ryan Newington ed679eba6b Removes dependency on Microsoft.Extensions.Logging 2023-07-22 14:44:23 +10:00
Ryan Newington e61045cc8a Fixes an issue with the assembly resolver 2023-02-04 17:35:44 +11:00
Ryan Newington c70a8d0409 Removes PowerShell module into its own repo 2023-02-04 11:42:13 +11:00
Ryan Newington 4ad11d5a63 Updates project to add powershell module 2023-02-04 09:38:01 +11:00
Ryan Newington bc984aaaa0 Renames tile control classes
Adds conditional logging for memory debugging
Hides CrredentialTile3 implementation
2023-02-03 07:26:07 +11:00
Ryan Newington f874047354 Updates framework support for credential provider and adds source link support 2023-02-02 06:45:25 +11:00
Ryan Newington a5a97bdf68 Moves credential provider registration to new dedicated tool 2023-01-31 08:01:58 +11:00
Ryan Newington 1205f217b3 Cleans up static loggers
Adds test projects for different frameworks and architectures
Adds registration tool assembly
2023-01-29 17:30:37 +11:00
Ryan Newington 4366b24e63 Reorganization of interop objects 2023-01-29 06:58:34 +11:00
Ryan Newington 52e75c1748 Initial commit 2023-01-28 21:15:17 +11:00