+\r
+ if (QuestionId == KEY_VALUE_CREATE_FILE_AND_EXIT) {\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ if (!IsZeroBuffer (mNewFileName, sizeof (mNewFileName))) {\r
+ Status = LibCreateNewFile (mNewFileName,TRUE);\r
+ ZeroMem (mNewFileName,sizeof (mNewFileName));\r
+ }\r
+ }\r
+\r
+ if (QuestionId == KEY_VALUE_NO_CREATE_FILE_AND_EXIT) {\r
+ ZeroMem (mNewFileName,sizeof (mNewFileName));\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ }\r
+\r
+ if (QuestionId == KEY_VALUE_CREATE_FOLDER_AND_EXIT) {\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ if (!IsZeroBuffer (mNewFolderName, sizeof (mNewFolderName))) {\r
+ Status = LibCreateNewFile (mNewFolderName, FALSE);\r
+ ZeroMem (mNewFolderName,sizeof (mNewFolderName));\r
+ }\r
+ }\r
+\r
+ if (QuestionId == KEY_VALUE_NO_CREATE_FOLDER_AND_EXIT) {\r
+ ZeroMem (mNewFolderName,sizeof (mNewFolderName));\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ }\r
+\r
+ if (QuestionId == NEW_FILE_NAME_ID) {\r
+ NewFileName = HiiGetString (gFileExplorerPrivate.FeHiiHandle, Value->string, NULL);\r
+ if (NewFileName != NULL) {\r
+ StrCpyS (mNewFileName, MAX_FILE_NAME_LEN, NewFileName);\r
+ FreePool (NewFileName);\r
+ NewFileName = NULL;\r
+ } else {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ }\r
+\r
+ if (QuestionId == NEW_FOLDER_NAME_ID) {\r
+ NewFolderName = HiiGetString (gFileExplorerPrivate.FeHiiHandle, Value->string, NULL);\r
+ if (NewFolderName != NULL) {\r
+ StrCpyS (mNewFolderName, MAX_FOLDER_NAME_LEN, NewFolderName);\r
+ FreePool (NewFolderName);\r
+ NewFolderName = NULL;\r
+ } else {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ }\r
+\r