+#endif\r
+\r
+\r
+/**\r
+ Returns the status whether get the variable success. The function retrieves \r
+ variable through the UEFI Runtime Service GetVariable(). The \r
+ returned buffer is allocated using AllocatePool(). The caller is responsible\r
+ for freeing this buffer with FreePool().\r
+\r
+ If Name is NULL, then ASSERT().\r
+ If Guid is NULL, then ASSERT().\r
+ If Value is NULL, then ASSERT().\r
+\r
+ @param[in] Name The pointer to a Null-terminated Unicode string.\r
+ @param[in] Guid The pointer to an EFI_GUID structure\r
+ @param[out] Value The buffer point saved the variable info.\r
+ @param[out] Size The buffer size of the variable.\r
+\r
+ @return EFI_OUT_OF_RESOURCES Allocate buffer failed.\r
+ @return EFI_SUCCESS Find the specified variable.\r
+ @return Others Errors Return errors from call to gRT->GetVariable.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+GetVariable2 (\r
+ IN CONST CHAR16 *Name,\r
+ IN CONST EFI_GUID *Guid,\r
+ OUT VOID **Value,\r
+ OUT UINTN *Size OPTIONAL\r
+ );\r
+\r
+/**\r
+ Returns a pointer to an allocated buffer that contains the contents of a \r
+ variable retrieved through the UEFI Runtime Service GetVariable(). This \r
+ function always uses the EFI_GLOBAL_VARIABLE GUID to retrieve variables.\r
+ The returned buffer is allocated using AllocatePool(). The caller is \r
+ responsible for freeing this buffer with FreePool().\r
+\r
+ If Name is NULL, then ASSERT().\r
+ If Value is NULL, then ASSERT().\r