# DevicePathDxe

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 301 | DevicePathDxe.efi | 49,796 bytes (C284h) | DXE |

## Overview

DevicePathDxe implements three UEFI device path protocol libraries: DevicePathUtilities (core device path node manipulation), DevicePathToText (converts device paths to human-readable strings), and DevicePathFromText (parses text representations back to device path structures). The entry point installs these three protocol interfaces via `gBS->InstallMultipleProtocolInterfaces()`.

## Key Functions

- `GetDevicePathType` -- Reads the Type byte from a device path node
- `GetDevicePathSubType` -- Reads the SubType byte from a device path node
- `GetDevicePathNodeLength` -- Returns the length of a device path node
- `SetDevicePathNodeLength` -- Sets the length field of a device path node
- `IsDevicePathEnd` -- Checks if a node is the end-of-device-path marker
- `DevicePathToTextConvert` -- Converts a device path to a human-readable string
- `DevicePathFromTextConvert` -- Parses a text string into a device path structure
- `DuplicateDevicePath` -- Creates a copy of a device path
- `AppendDevicePath` -- Appends two device path instances

## Dependencies

- `EFI_DEVICE_PATH_UTILITIES_PROTOCOL` -- Core manipulation interface
- `EFI_DEVICE_PATH_TO_TEXT_PROTOCOL` -- Text conversion interface (produced)
- `EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL` -- Text parsing interface (produced)

## Platform

- **Source:** AmiModulePkg/TCG2/Common/TcgDxe/
- **Architecture:** X64 (PE32+)
- **Formats:** PE32+, 6 sections (.text, .rdata, .data, section_3, .xdata, .reloc)
- **SHA256:** 9139a18c6d78dc89a880b0944c1833e2ae37cda701ca74670f086e65d28ad5bd