+\r
+ case EFI_BROWSER_ACTION_CHANGING:\r
+ { \r
+ //\r
+ // Handle the request from form.\r
+ //\r
+ if (Value == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ //\r
+ // Judge first 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_FIRST_FORM_MASK) {\r
+ //\r
+ // Delete user profile operation.\r
+ //\r
+ case KEY_DEL_USER:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
+ //\r
+ // Enter delete user profile form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ SelectUserToDelete ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ //\r
+ // Modify user profile operation.\r
+ //\r
+ case KEY_MODIFY_USER:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
+ //\r
+ // Enter modify user profile form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ SelectUserToModify ();\r
+ break;\r
+\r
+ //\r
+ // Enter user profile information form.\r
+ //\r
+ case KEY_SELECT_USER:\r
+ //\r
+ // Judge next 3 bits.\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_INFO_MASK) {\r
+ //\r
+ // Display user information form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModifyUserInfo ((UINT8) QuestionId);\r
+ break;\r
+\r
+ //\r
+ // Modify identity policy.\r
+ //\r
+ case KEY_MODIFY_IP:\r
+ //\r
+ // Judge next 3 bits\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_IP_MASK) {\r
+ //\r
+ // Display identity policy modify form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModifyIdentityPolicy ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ //\r
+ // Modify access policy.\r
+ //\r
+ case KEY_MODIFY_AP:\r
+ //\r
+ // Judge next 3 bits.\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_AP_MASK) {\r
+ //\r
+ // Display access policy modify form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModidyAccessPolicy ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+ break;\r
+\r