/** @file\r
HII Config Access protocol implementation of VLAN configuration module.\r
\r
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions\r
of the BSD License which accompanies this distribution. The full\r
CHAR16 *MacString;\r
EFI_DEVICE_PATH_PROTOCOL *ChildDevicePath;\r
EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;\r
+ EFI_VLAN_CONFIG_PROTOCOL *VlanConfig;\r
\r
//\r
// Create child handle and install HII Config Access Protocol\r
}\r
PrivateData->DriverHandle = DriverHandle;\r
\r
+ //\r
+ // Establish the parent-child relationship between the new created\r
+ // child handle and the ControllerHandle.\r
+ //\r
+ Status = gBS->OpenProtocol (\r
+ PrivateData->ControllerHandle,\r
+ &gEfiVlanConfigProtocolGuid,\r
+ (VOID **)&VlanConfig,\r
+ PrivateData->ImageHandle,\r
+ PrivateData->DriverHandle,\r
+ EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
//\r
// Publish the HII package list\r
//\r
PrivateData->HiiHandle = NULL;\r
}\r
\r
+ //\r
+ // End the parent-child relationship.\r
+ //\r
+ gBS->CloseProtocol (\r
+ PrivateData->ControllerHandle,\r
+ &gEfiVlanConfigProtocolGuid,\r
+ PrivateData->ImageHandle,\r
+ PrivateData->DriverHandle\r
+ );\r
+\r
//\r
// Uninstall HII Config Access Protocol\r
//\r