4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The functions to delete a user profile.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThis program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncare licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncwhich accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get the username from the specified user.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] User Handle of a user profile.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_STRING_ID The String Id of the user's username.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Allocate user information memory.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Get user name information.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Get next user information.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Check user information.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (NameLen > USER_NAME_LENGTH * sizeof (CHAR16)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Add a username item in form.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] User Points to the user profile whose username is added.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] Index The index of the user in the user name list
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] OpCodeHandle Points to container for dynamic created opcodes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Get user name
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Create user name option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OpCodeHandle, // Container for dynamic created opcodes
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OpCodeHandle, // Container for dynamic created opcodes
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 0 // Action String ID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Delete the user specified by UserIndex in user profile database.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] UserIndex The index of user in the user name list
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync to be deleted.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Find specified user profile and delete it.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = mUserManager->GetNext (mUserManager, &User);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = mUserManager->GetNext (mUserManager, &User);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Get the identification policy.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = FindInfoByType (User, EFI_USER_INFO_IDENTITY_POLICY_RECORD, &UserInfo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = mUserManager->GetInfo (mUserManager, User, UserInfo, Info, &InfoSize);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = mUserManager->GetInfo (mUserManager, User, UserInfo, Info, &InfoSize);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Delete the user on the credential providers by its identification policy.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync DeleteCredentialFromProviders ((UINT8 *)(Info + 1), Info->InfoSize - sizeof (EFI_USER_INFO), User);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = mUserManager->Delete (mUserManager, User);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync L"Delete User Succeed!",
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync L"Please Press Any Key to Continue ...",
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync L"Delete User Failed!",
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync L"Please Press Any Key to Continue ...",
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Display user select form, cab select a user to delete.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Initialize the container for dynamic opcodes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Create Hii Extend Label OpCode.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync StartLabel = (EFI_IFR_GUID_LABEL *) HiiCreateGuidOpCode (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync StartLabel->ExtendOpCode = EFI_IFR_EXTEND_OP_LABEL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EndLabel = (EFI_IFR_GUID_LABEL *) HiiCreateGuidOpCode (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Add each user can be deleted.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mUserManager->Current (mUserManager, &CurrentUser);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Status = mUserManager->GetNext (mUserManager, &User);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync StartOpCodeHandle, // Label for where to insert opcodes