Enable UID support in NT32 platform

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9402 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
gdong1 2009-11-10 10:03:05 +00:00
parent c896d68257
commit aa11588194
5 changed files with 79 additions and 0 deletions

View File

@ -344,6 +344,11 @@ PlatformBdsPolicyBehavior (
// //
PlatformBdsConnectSequence (); PlatformBdsConnectSequence ();
//
// Perform user identification process
//
PlatformBdsUserIdentify ();
// //
// Notes: current time out = 0 can not enter the // Notes: current time out = 0 can not enter the
// front page // front page
@ -363,6 +368,10 @@ PlatformBdsPolicyBehavior (
PlatformBdsConnectConsole (gPlatformConsole); PlatformBdsConnectConsole (gPlatformConsole);
PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest); PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest);
BdsLibConnectAll (); BdsLibConnectAll ();
//
// Perform user identification process
//
PlatformBdsUserIdentify ();
ProcessCapsules (BOOT_ON_FLASH_UPDATE); ProcessCapsules (BOOT_ON_FLASH_UPDATE);
break; break;
@ -374,6 +383,11 @@ PlatformBdsPolicyBehavior (
PlatformBdsConnectConsole (gPlatformConsole); PlatformBdsConnectConsole (gPlatformConsole);
PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest); PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest);
//
// Perform user identification process
//
PlatformBdsUserIdentify ();
// //
// In recovery boot mode, we still enter to the // In recovery boot mode, we still enter to the
// frong page now // frong page now
@ -403,6 +417,11 @@ PlatformBdsPolicyBehavior (
// //
PlatformBdsConnectSequence (); PlatformBdsConnectSequence ();
//
// Perform user identification process
//
PlatformBdsUserIdentify ();
// //
// Give one chance to enter the setup if we // Give one chance to enter the setup if we
// have the time out // have the time out
@ -558,3 +577,49 @@ LockKeyboards (
{ {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
EFI_STATUS
PlatformBdsUserIdentify (
VOID
)
/*++
Routine Description:
This function is to identify a valid user, if successed, handle the deferred images.
Arguments:
None.
Returns:
EFI_SUCCESS - User successfully identified.
--*/
{
EFI_STATUS Status;
EFI_USER_MANAGER_PROTOCOL *Manager;
EFI_USER_PROFILE_HANDLE User;
//
// Locate user manager driver
//
Status = gBS->LocateProtocol (
&gEfiUserManagerProtocolGuid,
NULL,
&Manager
);
if (EFI_ERROR (Status)) {
return Status;
}
//
// Identity user
//
Status = Manager->Identify (Manager, &User);
return Status;
}

View File

@ -37,6 +37,8 @@ Abstract:
#include <Protocol/WinNtThunk.h> #include <Protocol/WinNtThunk.h>
#include <Protocol/WinNtIo.h> #include <Protocol/WinNtIo.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UserManager.h>
#include <Guid/WinNtSystemConfig.h> #include <Guid/WinNtSystemConfig.h>
extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[]; extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];
@ -116,4 +118,9 @@ PlatformBdsEnterFrontPage (
IN BOOLEAN ConnectAllHappened IN BOOLEAN ConnectAllHappened
); );
EFI_STATUS
PlatformBdsUserIdentify (
VOID
);
#endif // _BDS_PLATFORM_H #endif // _BDS_PLATFORM_H

View File

@ -56,6 +56,9 @@
[Guids] [Guids]
gEfiWinNtSystemConfigGuid gEfiWinNtSystemConfigGuid
[Protocols]
gEfiUserManagerProtocolGuid
[Pcd.common] [Pcd.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn

View File

@ -464,6 +464,8 @@
MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
SecurityPkg/UserIdentification/UserIdentificationDxe/UserIdentityManager.inf
SecurityPkg/UserIdentification/UserManagerDxe/UserProfileManager.inf
[BuildOptions] [BuildOptions]
DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE
RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096 RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096

View File

@ -226,6 +226,8 @@ INF Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf
INF Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf INF Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf
INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
INF SecurityPkg/UserIdentification/UserIdentificationDxe/UserIdentityManager.inf
INF SecurityPkg/UserIdentification/UserManagerDxe/UserProfileManager.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf