# DataHubDxe

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 290 | DataHubDxe | 7,232 bytes (7.1 KB) | DXE |

## Overview

UEFI Data Hub Protocol DXE driver from IntelFrameworkModulePkg. This small driver registers the EFI_DATA_HUB_PROTOCOL on the system's boot services protocol database, enabling callers to log data records keyed by GUID, iterate over records with class-based filters, and register/unregister for data class notifications. It maintains an internal linked list of data entries and uses UEFI events to signal registered consumers when new data arrives.

## Key Functions

- **ModuleEntryPoint** -- UEFI DXE entry point; initializes private data structure and installs Data Hub protocol
- **DataHubDriverEntryPoint** -- Allocates and initializes the Data Hub private instance
- **DataHubLogData** -- Logs a data record identified by GUID and data class into the hub
- **DataHubGetNextDataRecord** -- Iterates over logged data records with optional filter by GUID and/or data class
- **DataHubRegisterDataClass** -- Registers a callback event for notification when data of a given class is logged
- **DataHubUnregisterDataClass** -- Unregisters a previously registered data class notification
- **DataHubFindClassByGuid** -- Searches for data class entries matching a specific GUID
- **DataHubFindDataRecordByFilter** -- Finds data records matching provided filter criteria

## Dependencies

UEFI Boot Services, UEFI Runtime Services, EFI_DATA_HUB_PROTOCOL

## Platform

Lenovo HR650X (Purley/LBG-PCH), X64