}\r
\r
\r
+/**\r
+ Identify a user and, if authenticated, returns the current user profile handle.\r
+\r
+ @param[out] User Point to user profile handle.\r
+ \r
+ @retval EFI_SUCCESS User is successfully identified, or user identification\r
+ is not supported.\r
+ @retval EFI_ACCESS_DENIED User is not successfully identified\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+BdsLibUserIdentify (\r
+ OUT EFI_USER_PROFILE_HANDLE *User\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+ EFI_USER_MANAGER_PROTOCOL *Manager;\r
+ \r
+ Status = gBS->LocateProtocol (\r
+ &gEfiUserManagerProtocolGuid,\r
+ NULL,\r
+ (VOID **) &Manager\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ return Manager->Identify (Manager, User);\r
+}\r
+\r