+ if (ControllerHandle == NULL || ChildHandle != NULL) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ \r
+ NicHandle = PxeBcGetNicByIp4Children (ControllerHandle);\r
+ if (NicHandle == NULL) {\r
+ NicHandle = PxeBcGetNicByIp6Children (ControllerHandle);\r
+ if (NicHandle == NULL) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ }\r
+\r
+ //\r
+ // Try to retrieve the private data by PxeBcPrivate protocol.\r
+ //\r
+ Status = gBS->OpenProtocol (\r
+ NicHandle,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **) &Id,\r
+ NULL,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ return LookupUnicodeString2 (\r
+ Language,\r
+ This->SupportedLanguages,\r
+ mPxeBcControllerNameTable,\r
+ ControllerName,\r
+ (BOOLEAN)(This == &gPxeBcComponentName)\r
+ );\r
+}\r