|
TianoCore EDK2 master
|
#include "PiSmmCore.h"Go to the source code of this file.
Data Structures | |
| struct | LOCATE_POSITION |
Typedefs | |
| typedef IHANDLE *(* | CORE_GET_NEXT) (IN OUT LOCATE_POSITION *Position, OUT VOID **Interface) |
Functions | |
| IHANDLE * | SmmGetNextLocateAllHandles (IN OUT LOCATE_POSITION *Position, OUT VOID **Interface) |
| IHANDLE * | SmmGetNextLocateByRegisterNotify (IN OUT LOCATE_POSITION *Position, OUT VOID **Interface) |
| IHANDLE * | SmmGetNextLocateByProtocol (IN OUT LOCATE_POSITION *Position, OUT VOID **Interface) |
| EFI_STATUS EFIAPI | SmmLocateProtocol (IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface) |
| EFI_STATUS EFIAPI | SmmLocateHandle (IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, IN OUT UINTN *BufferSize, OUT EFI_HANDLE *Buffer) |
| EFI_STATUS EFIAPI | SmmLocateHandleBuffer (IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, IN OUT UINTN *NumberHandles, OUT EFI_HANDLE **Buffer) |
Variables | |
| UINTN | mEfiLocateHandleRequest = 0 |
Locate handle functions
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Locate.c.
Routine to get the next Handle, when you are searching for all handles.
| Position | Information about which Handle to search for. |
| Interface | Return the interface structure for the matching protocol. |
Routine to get the next Handle, when you are searching for a given protocol.
| Position | Information about which Handle to search for. |
| Interface | Return the interface structure for the matching protocol. |
| IHANDLE * SmmGetNextLocateByRegisterNotify | ( | IN OUT LOCATE_POSITION * | Position, |
| OUT VOID ** | Interface | ||
| ) |
Routine to get the next Handle, when you are searching for register protocol notifies.
| Position | Information about which Handle to search for. |
| Interface | Return the interface structure for the matching protocol. |
| EFI_STATUS EFIAPI SmmLocateHandle | ( | IN EFI_LOCATE_SEARCH_TYPE | SearchType, |
| IN EFI_GUID *Protocol | OPTIONAL, | ||
| IN VOID *SearchKey | OPTIONAL, | ||
| IN OUT UINTN * | BufferSize, | ||
| OUT EFI_HANDLE * | Buffer | ||
| ) |
Locates the requested handle(s) and returns them in Buffer.
| SearchType | The type of search to perform to locate the handles |
| Protocol | The protocol to search for |
| SearchKey | Dependant on SearchType |
| BufferSize | On input the size of Buffer. On output the size of data returned. |
| Buffer | The buffer to return the results in |
| EFI_BUFFER_TOO_SMALL | Buffer too small, required buffer size is returned in BufferSize. |
| EFI_INVALID_PARAMETER | Invalid parameter |
| EFI_SUCCESS | Successfully found the requested handle(s) and returns them in Buffer. |
| EFI_STATUS EFIAPI SmmLocateHandleBuffer | ( | IN EFI_LOCATE_SEARCH_TYPE | SearchType, |
| IN EFI_GUID *Protocol | OPTIONAL, | ||
| IN VOID *SearchKey | OPTIONAL, | ||
| IN OUT UINTN * | NumberHandles, | ||
| OUT EFI_HANDLE ** | Buffer | ||
| ) |
Function returns an array of handles that support the requested protocol in a buffer allocated from pool. This is a version of SmmLocateHandle() that allocates a buffer for the caller.
| SearchType | Specifies which handle(s) are to be returned. |
| Protocol | Provides the protocol to search by. This parameter is only valid for SearchType ByProtocol. |
| SearchKey | Supplies the search key depending on the SearchType. |
| NumberHandles | The number of handles returned in Buffer. |
| Buffer | A pointer to the buffer to return the requested array of handles that support Protocol. |
| EFI_SUCCESS | The result array of handles was returned. |
| EFI_NOT_FOUND | No handles match the search. |
| EFI_OUT_OF_RESOURCES | There is not enough pool memory to store the matching results. |
| EFI_INVALID_PARAMETER | One or more parameters are not valid. |
| EFI_STATUS EFIAPI SmmLocateProtocol | ( | IN EFI_GUID * | Protocol, |
| IN VOID *Registration | OPTIONAL, | ||
| OUT VOID ** | Interface | ||
| ) |
Return the first Protocol Interface that matches the Protocol GUID. If Registration is pasased in return a Protocol Instance that was just add to the system. If Registration is NULL return the first Protocol Interface you find.
| Protocol | The protocol to search for |
| Registration | Optional Registration Key returned from RegisterProtocolNotify() |
| Interface | Return the Protocol interface (instance). |
| EFI_SUCCESS | If a valid Interface is returned |
| EFI_INVALID_PARAMETER | Invalid parameter |
| EFI_NOT_FOUND | Protocol interface not found |