MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ServiceBinding.h File Reference

Data Structures

struct  _EFI_SERVICE_BINDING_PROTOCOL
 

Typedefs

typedef struct
_EFI_SERVICE_BINDING_PROTOCOL 
EFI_SERVICE_BINDING_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_SERVICE_BINDING_CREATE_CHILD )(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN OUT EFI_HANDLE *ChildHandle)
 
typedef EFI_STATUS(EFIAPIEFI_SERVICE_BINDING_DESTROY_CHILD )(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle)
 

Detailed Description

UEFI Service Binding Protocol is defined in UEFI specification.

The file defines the generic Service Binding Protocol functions. It provides services that are required to create and destroy child handles that support a given set of protocols.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_SERVICE_BINDING_CREATE_CHILD)(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN OUT EFI_HANDLE *ChildHandle)

Creates a child handle and installs a protocol.

The CreateChild() function installs a protocol on ChildHandle. If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle. If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.

Parameters
ThisPointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
ChildHandlePointer to the handle of the child to create. If it is NULL, then a new handle is created. If it is a pointer to an existing UEFI handle, then the protocol is added to the existing UEFI handle.
Return values
EFI_SUCCESThe protocol was added to ChildHandle.
EFI_INVALID_PARAMETERChildHandle is NULL.
EFI_OUT_OF_RESOURCESThere are not enough resources available to create the child
otherThe child handle was not created
typedef EFI_STATUS(EFIAPI * EFI_SERVICE_BINDING_DESTROY_CHILD)(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle)

Destroys a child handle with a protocol installed on it.

The DestroyChild() function does the opposite of CreateChild(). It removes a protocol that was installed by CreateChild() from ChildHandle. If the removed protocol is the last protocol on ChildHandle, then ChildHandle is destroyed.

Parameters
ThisPointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
ChildHandleHandle of the child to destroy
Return values
EFI_SUCCESThe protocol was removed from ChildHandle.
EFI_UNSUPPORTEDChildHandle does not support the protocol that is being removed.
EFI_INVALID_PARAMETERChild handle is NULL.
EFI_ACCESS_DENIEDThe protocol could not be removed from the ChildHandle because its services are being used.
otherThe child handle was not destroyed

Forward reference for pure ANSI compatability