41 &gVlanConfigDriverBinding,
43 &gVlanConfigComponentName,
44 &gVlanConfigComponentName2
72 Status =
gBS->OpenProtocol (
74 &gEfiVlanConfigProtocolGuid,
76 This->DriverBindingHandle,
78 EFI_OPEN_PROTOCOL_BY_DRIVER
80 if (EFI_ERROR (Status)) {
89 &gEfiVlanConfigProtocolGuid,
90 This->DriverBindingHandle,
126 Status =
gBS->OpenProtocol (
129 (VOID **)&PrivateData,
130 This->DriverBindingHandle,
132 EFI_OPEN_PROTOCOL_GET_PROTOCOL
134 if (!EFI_ERROR (Status)) {
135 return EFI_ALREADY_STARTED;
141 Status =
gBS->OpenProtocol (
143 &gEfiVlanConfigProtocolGuid,
144 (VOID **)&VlanConfig,
145 This->DriverBindingHandle,
147 EFI_OPEN_PROTOCOL_BY_DRIVER
149 if (EFI_ERROR (Status)) {
156 Status =
gBS->OpenProtocol (
158 &gEfiDevicePathProtocolGuid,
159 (VOID **)&DevicePath,
160 This->DriverBindingHandle,
162 EFI_OPEN_PROTOCOL_GET_PROTOCOL
164 if (EFI_ERROR (Status)) {
172 if (PrivateData ==
NULL) {
173 Status = EFI_OUT_OF_RESOURCES;
177 PrivateData->ImageHandle = This->DriverBindingHandle;
178 PrivateData->ControllerHandle = ControllerHandle;
179 PrivateData->VlanConfig = VlanConfig;
180 PrivateData->ParentDevicePath = DevicePath;
186 if (EFI_ERROR (Status)) {
193 Status =
gBS->InstallMultipleProtocolInterfaces (
199 if (EFI_ERROR (Status)) {
208 &gEfiVlanConfigProtocolGuid,
209 This->DriverBindingHandle,
215 &gEfiDevicePathProtocolGuid,
216 This->DriverBindingHandle,
220 if (PrivateData !=
NULL) {
256 Status =
gBS->OpenProtocol (
259 (VOID **)&PrivateData,
260 This->DriverBindingHandle,
262 EFI_OPEN_PROTOCOL_GET_PROTOCOL
264 if (EFI_ERROR (Status)) {
268 ASSERT (PrivateData->Signature == VLAN_CONFIG_PRIVATE_DATA_SIGNATURE);
270 if (NumberOfChildren != 0) {
271 if ((NumberOfChildren != 1) || (ChildHandleBuffer[0] != PrivateData->DriverHandle)) {
272 return EFI_DEVICE_ERROR;
281 Status =
gBS->UninstallMultipleProtocolInterfaces (
287 if (EFI_ERROR (Status)) {
291 Status =
gBS->CloseProtocol (
293 &gEfiVlanConfigProtocolGuid,
294 This->DriverBindingHandle,
VOID EFIAPI FreePool(IN VOID *Buffer)
VOID *EFIAPI AllocateCopyPool(IN UINTN AllocationSize, IN CONST VOID *Buffer)
EFI_STATUS EFIAPI EfiLibInstallDriverBindingComponentName2(IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL)
EFI_STATUS EFIAPI VlanConfigDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
EFI_STATUS EFIAPI VlanConfigDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
EFI_STATUS EFIAPI VlanConfigDriverEntryPoint(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS EFIAPI VlanConfigDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
EFI_STATUS UninstallVlanConfigForm(IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
EFI_STATUS InstallVlanConfigForm(IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)