Library functions that abstract driver model protocols\r
installation.\r
\r
- Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials are\r
licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
- \r
+\r
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
-**/ \r
+**/\r
+\r
\r
#include "UefiLibInternal.h"\r
\r
/**\r
Installs and completes the initialization of a Driver Binding Protocol instance.\r
- \r
+\r
Installs the Driver Binding Protocol specified by DriverBinding onto the handle\r
specified by DriverBindingHandle. If DriverBindingHandle is NULL, then DriverBinding\r
is installed onto a newly created handle. DriverBindingHandle is typically the same\r
as the driver's ImageHandle, but it can be different if the driver produces multiple\r
- Driver Binding Protocols. \r
- If DriverBinding is NULL, then ASSERT(). \r
+ Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
If DriverBinding can not be installed onto a handle, then ASSERT().\r
\r
@param ImageHandle The image handle of the driver.\r
@retval EFI_SUCCESS The protocol installation is completed successfully.\r
@retval EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.\r
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().\r
+\r
**/\r
EFI_STATUS\r
EFIAPI\r
\r
ASSERT (DriverBinding != NULL);\r
\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
+\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
//\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ // ASSERT if the call to InstallMultipleProtocolInterfaces() failed\r
//\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
+ ASSERT_EFI_ERROR (Status);\r
\r
return Status;\r
}\r
\r
+\r
/**\r
Installs and completes the initialization of a Driver Binding Protocol instance and\r
optionally installs the Component Name, Driver Configuration and Driver Diagnostics Protocols.\r
Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,\r
then the protocols are installed onto a newly created handle. DriverBindingHandle\r
is typically the same as the driver's ImageHandle, but it can be different if the\r
- driver produces multiple Driver Binding Protocols. \r
- If DriverBinding is NULL, then ASSERT(). \r
+ driver produces multiple Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
If the installation fails, then ASSERT().\r
- \r
+\r
@param ImageHandle The image handle of the driver.\r
@param SystemTable The EFI System Table that was passed to the driver's entry point.\r
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
{\r
EFI_STATUS Status;\r
\r
- if (DriverBinding == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
+ ASSERT (DriverBinding != NULL);\r
+\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
\r
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
if (DriverConfiguration == NULL) {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
NULL\r
} else {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
if (DriverConfiguration == NULL) {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
} else {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
\r
optional Component Name and optional Component Name 2 protocols onto the driver's\r
DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed\r
onto a newly created handle. DriverBindingHandle is typically the same as the driver's\r
- ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols. \r
- If DriverBinding is NULL, then ASSERT(). \r
+ ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
If the installation fails, then ASSERT().\r
\r
@param ImageHandle The image handle of the driver.\r
\r
ASSERT (DriverBinding != NULL);\r
\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
+\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
NULL\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
);\r
}\r
}\r
+\r
//\r
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
\r
Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.\r
\r
Initializes a driver by installing the Driver Binding Protocol together with the optional\r
- Component Name, optional Component Name 2, optional Driver Configuration, optional Driver\r
- Configuration 2, optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols\r
- onto the driver's DriverBindingHandle. DriverBindingHandle is typically the same as the\r
- driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols. \r
- If DriverBinding is NULL, then ASSERT(). \r
- If the installation fails, then ASSERT(). \r
+ Component Name, optional Component Name 2, optional Driver Configuration, optional Driver Configuration 2,\r
+ optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols onto the driver's DriverBindingHandle.\r
+ DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver\r
+ produces multiple Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
+ If the installation fails, then ASSERT().\r
+\r
\r
@param ImageHandle The image handle of the driver.\r
@param SystemTable The EFI System Table that was passed to the driver's entry point.\r
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
- @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this\r
+ @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this\r
parameter is NULL, then a new handle is created.\r
@param ComponentName A Component Name Protocol instance that this driver is producing.\r
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.\r
{\r
EFI_STATUS Status;\r
\r
- ASSERT (DriverBinding != NULL); \r
+ ASSERT (DriverBinding != NULL);\r
+\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
\r
if (DriverConfiguration2 == NULL) {\r
if (DriverConfiguration == NULL) {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
NULL\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
}\r
}\r
\r
-\r
//\r
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
-\r
-\r