​Example 1-EFI_GUID data structure in EDK II​
​Example 2-Protocol structure in EDK II​
​Example 3-Device Path Header​
​Example 4-PCI Device Path​
​Example 5-Device Path Examples​
​Example 6-ConnectController() UEFI Boot Service​
​Example 7-Stronger type checking​
​Example 8-Assignment operation warnings​
​Example 9-Comparison operation warnings​
​Example 10-Examples of casting pointers​
​Example 11-Negative number example​
​Example 12-Casting OUT function parameters​
​Example 13-Array subscripts example​
​Example 14-Incorrect and correct piecemeal structure allocation​
​Example 15-CopyMem() and SetMem() Speed Optimizations​
​Example 16-Allocate and free pool using UEFI Boot Services Table​
​Example 17-Allocate and free pool using MemoryAllocationLib​
​Example 18-Allocate and clear pool using MemoryAllocationLib​
​Example 19-Allocate and initialize pool using MemoryAllocationLib​
​Example 20-Allocate and free pages using UEFI Boot Services Table​
​Example 21-Allocate and free pages using MemoryAllocationLib​
​Example 22-Allocate and free aligned pages using MemoryAllocationLib​
​Example 23-Allocate and clear a buffer using UEFI Boot Services​
​Example 24-Allocate and clear a buffer using BaseMemoryLib​
​Example 25-Allocate and clear a buffer using BaseMemoryLib​
​Example 26-Allocate and copy buffer​
​Example 27-Allocate and clear a buffer using BaseMemoryLib​
​Example 28-Install protocols in UEFI Driver entry point.​
​Example 29-Install protocols in UEFI Driver entry point using UefiLib.​
​Example 30-Uninstall protocols in UEFI Driver Unload() function.​
​Example 31-Add child handle to handle database​
​Example 32-Remove child handle from handle database.​
​Example 33-Add tag GUID to a controller handle.​
​Example 34-Remove tag GUID from a controller handle.​
​Example 35-Retrieve all handles in handle database​
​Example 36-Retrieve all Block I/O Protocols in handle database​
​Example 37-Locate first Decompress Protocol in handle database​
​Example 38-OpenProtocol() function prototype​
​Example 39-OpenProtocol() TEST_PROTOCOL​
​Example 40-OpenProtocol() GET_PROTOCOL​
​Example 41-OpenProtocol() EFI_OPEN_PROTOCOL_BY_DRIVER​
​Example 42-OpenProtocol() EFI_OPEN_PROTOCOL_BY_DRIVER |​
​Example 43-OpenProtocol()​
​Example 44-Count child handles using OpenProtocolInformation()​
​Example 45-Using TPL Services for a Global Lock​
​Example 46-Using UEFI Library for a Global Lock​
​Example 47-Create and close a wait event​
​Example 48-Create and Close an Exit Boot Services Event​
​Example 49-Create and Close an Exit Boot Services Event Group​
​Example 50-Create and Signal an Event Group​
​Example 51-Signal a key press event​
​Example 52-Wait for one-shot timer event to be signaled​
​Example 53-Create periodic timer event​
​Example 54-Create one-shot timer event​
​Example 55-Cancel and close one-shot timer event​
​Example 56-Fixed delay stall​
​Example 57-Poll for completion status using stalls​
​Example 58-Recursive connect in response to a hot-add operation​
​Example 59-Recursive disconnect in response to a hot-remove operation​
​Example 60-Disconnect a UEFI Driver from all handles​
​Example 61-Reinstall Block I/O Protocol for media change​
​Example 62-Reinstall Device Path Protocol for Serial I/O attributes change​
​Example 63-Locate Device Path​
​Example 64-Load and Start a UEFI Application from a PCI Option ROM​
​Example 65-Write configuration structure to a UEFI variable​
​Example 66-Read configuration structure from a UEFI variable​
​Example 67-Use UefiLib to read configuration structure from a UEFI variable​
​Example 68-Collect information about the UEFI variable store​
​Example 69-Get time and date​
​Example 70-Get real time clock capabilities​
​Example 71-Calculate and update 32-bit CRC in UEFI System Table​
​Example 72-Calculate and 32-bit CRC for a structure​
​Example 73-Verify 32-bit CRC in UEFI System Table​
​Example 74-Create a Set Virtual Address Map event​
​Example 75-Convert a global pointer from physical to virtual​
​Example 76-Using UefiRuntimeLib to convert a pointer​
​Example 77-Using UefiRuntimeLib to convert a function pointer​
​Example 78-Using UefiRuntimeLib to convert a linked list​
​Example 79-Add or update a configuration table entry​
​Example 80-Add or update a configuration table entry​
​Example 81-Wait for key press or timer event​
​Example 82-Retrieve 64-bit monotonic counter value.​
​Example 83-Print all UEFI variable store contents​
​Example 84-ResetSystem​
​Example 85-Exit from a UEFI Driver​
​Example 87-UEFI Driver INF File​
​Example 88-EDK II UefiLib driver initialization functions​
​Example 89-Single Driver Binding Protocol​
​Example 90-Single Driver Binding Protocol with optional features​
​Example 91-Multiple Driver Binding Protocols​
​Example 92-Driver Heath Protocol Feature​
​Example 93-Driver Family Override Protocol Feature​
​Example 94-Driver Supported EFI Version Protocol Feature​
​Example 95-HII Packages feature​
​Example 96-UEFI Driver INF File with HII Packages feature​
​Example 97-HII Config Access Protocol Feature​
​Example 98-Add the Unload feature​
​Example 99-UEFI Driver INF File with Unload feature​
​Example 100-UEFI Driver Model Unload Feature​
​Example 101-Adding the Exit Boot Services feature​
​Example 102-Add the Unload and Exit Boot Services event features​
​Example 103-Initializing driver entry point​
​Example 104-Service driver entry point using image handle​
​Example 105-Service driver entry point creating new handle​
​Example 106-Single PCI root bridge driver entry point​
​Example 107-Multiple PCI root bridge driver entry point​
​Example 108-UEFI Runtime Driver entry point​
​Example 109-UEFI Runtime Driver INF File​
​Example 110-UEFI Runtime Driver entry point with Unload feature​
​Example 111-Containing record macro definitions​
​Example 112-Containing record macro definitions​
​Example 113-Simple private context data structure​
​Example 114-Complex private context data structure​
​Example 115-Allocation of a private context data structure​
​Example 116-Library allocation of private context data structure​
​Example 117-Disk I/O allocation of private context data structure​
​Example 118-Free a private context data structure​
​Example 119-Disk I/O free of a private context data structure​
​Example 120-Retrieving the Disk I/O private context data structure​
​Example 121-Retrieving the disk I/O private context data structure in Stop()​
​Example 122-Driver Binding Protocol​
​Example 123-Driver Binding Protocol declaration​
​Example 124-Service Binding Protocol​
​Example 125-Service Binding Protocol for Service Driver​
​Example 126-Component Name Protocol​
​Example 127-Component Name 2 Protocol​
​Example 128-Driver Diagnostics Protocol declaration​
​Example 129-GetDriverName() for Device, Bus, or Hybrid Driver​
​Example 130-GetControllerName () Service​
​Example 131-GetControllerName() for a Device Driver​
​Example 132-Controller names in private context data structure​
​Example 133-Adding a controller name to a dynamic controller name table​
​Example 134-Freeing a dynamic controller name table​
​Example 135-Device driver with dynamic controller names​
​Example 136-GetControllerName() for a Bus Driver or Hybrid Driver​
​Example 137-Example of a Unicode string file​
​Example 138-Example of a Unicode string file​
​Example 139-ExtractConfig() Function​
​Example 140-RouteConfig() Function​
​Example 141-Callback function​
​Example 142-Unicode string file with support for multiple languages​
​Example 143-Sample VFR file, simplified​
​Example 144-Driver Diagnostics Protocol​
​Example 145-Driver Diagnostics 2 Protocol​
​Example 146-Driver Diagnostics Protocol declaration​
​Example 147-RunDiagnostics() Service​
​Example 148-RunDiagnostics() for a Device Driver​
​Example 149-RunDiagnostics() for a Bus Driver or Hybrid Driver​
​Example 150-Driver Health Protocol​
​Example 151-Install Driver Health Protocol​
​Example 152-GetHealthStatus() Function of the Driver Health Protocol​
​Example 153-GetHealthStatus() for a Device Driver​
​Example 154-GetHealthStatus() for a Bus Driver or Hybrid Driver​
​Example 155-Repair() Function for a Device Driver​
​Example 156-Repair() for a Bus Driver or Hybrid Driver​
​Example 157-Driver Family Override Protocol​
​Example 158-Install Driver Family Override Protocol​
​Example 159-GetVersion() Function of the Driver Family Override Protocol​
​Example 160-Driver Support EFI Version Protocol​
​Example 161-Driver Supported EFI Version Protocol Feature​
​Example 162-Bus Specific Driver Override Protocol​
​Example 163-Private Context Data Structure with a Bus Specific Driver Override Protocol​
​Example 164-Private Context Data Structure Initialization​
​Example 165-Install Bus Specific Driver Override Protocol​
​Example 166-Uninstall Bus Specific Driver Override Protocol​
​Example 167-GetDriver() Function of a Bus Specific Driver Override Protocol​
​Example 168-Adding Driver Image Handles​
​Example 169-Supported() Reading partial PCI Configuration Header​
​Example 170-Supported() Reading entire PCI Configuration Header​
​Example 171-Start() for a 64-bit DMA-capable PCI controller​
​Example 172-Restore PCI Attributes in Stop()​
​Example 173-Completing a memory write transaction​
​Example 174-Accessing ISA resources on a PCI controller​
​Example 175-Locate PCI handles with matching bus number​
​Example 176-Map() Function​
​Example 177-Completing a bus master write operation​
​Example 178-Bus master read operation​
​Example 179-Bus master write operation​
​Example 180-Allocate bus master common buffer​
​Example 181-Free bus master common buffer​
​Example 182-PCI I/O 8-bit fill with a loop​
​Example 183-PCI I/O 32-bit fill with a loop​
​Example 184-PCI I/O 8-bit fill without a loop​
​Example 185-PCI I/O 32-bit fill without a loop​
​Example 186-PCI I/O FIFO using a loop​
​Example 187-PCI I/O FIFO without a loop​
​Example 188-Scroll frame buffer using a loop​
​Example 189-Scroll frame buffer without a loop​
​Example 190-Read PCI configuration using a loop​
​Example 191-Read PCI configuration 32 bits at a time​
​Example 192-Read PCI configuration 32 bits at a time​
​Example 193-Write 1MB Frame Buffer using a loop​
​Example 194-Write 1MB Frame Buffer with no loop​
​Example 195-Using Mem.Read() and Stall() to poll for 1 second​
​Example 196-Using PollIo() to poll for 1 second​
​Example 197-EfiRom Utility Help​
​Example 198-EfiRom Utility Dump Feature​
​Example 199-UEFI Driver INF File for PCI Option ROM​
​Example 200-Specify name of FDF file from a DSC file​
​Example 201-Using an FDF file to Generate PCI Option ROM images​
​Example 202-USB 2 Host Controller Protocol​
​Example 203-USB I/O Protocol​
​Example 204-Supported() service for USB host controller driver​
​Example 205-Disable USB Legacy Support​
​Example 206-Supported() for a USB device driver​
​Example 207-USB mass storage driver private context data structure​
​Example 208-USB Mouse Private Context Data Structure​
​Example 209-Setup asynchronous interrupt transfer for USB mouse driver​
​Example 210-Completing an asynchronous interrupt transfer​
​Example 211-Retrieving pointer movement​
​Example 212-Extended SCSI Pass Thru Protocol​
​Example 213-SCSI Pass Thru Mode Structure for Single Channel Adapter​
​Example 214-SCSI Pass Thru Mode Structure for Multi-Channel Adapter​
​Example 215-SCSI Pass Thru Mode Structures for RAID SCSI adapter​
​Example 216-Building Device Path for ATAPI Device​
​Example 217-Non-Blocking Extended SCSI Pass Thru​
​Example 218-Blocking and non-blocking modes​
​Example 219-Supported() for a SCSI device driver​
​Example 220-ATA Pass Thru Protocol​
​Example 221-ATA Pass Thru Mode Structure​
​Example 222-SCSI Pass Thru Mode Structures for RAID SCSI adapter​
​Example 223-Simple Text Input Protocol​
​Example 224-Simple Text Input Ex Protocol​
​Example 225-Simple Text Output Protocol​
​Example 226-Light reset of terminal driver​
​Example 227-Full reset of terminal driver​
​Example 228-Query current Simple Text Output Mode​
​Example 229-Query all Simple Text Output Modes​
​Example 230-Simple Text Output Protocol​
​Example 231-Graphics Output Protocol​
​Example 232-Graphics Output Protocol Blt() Service​
​Example 233-EDID Discovered Protocol​
​Example 234-EDID Active Protocol​
​Example 235-DID Override Protocol​
​Example 236-Block I/O Protocol​
​Example 237-Block I/O 2 Protocol​
​Example 238-Storage Security Command Protocol​
​Example 239-Network Interface Identifier Protocol​
​Example 240-Simple Network Protocol​
​Example 241-User Credential Protocol​
​Example 242-Load File Protocol​
​Example 243-Pointer-cast alignment fault​
​Example 244-Corrected pointer-cast alignment fault​
​Example 245-Packed structure alignment fault​
​Example 246-Corrected packed structure alignment fault​
​Example 247-UEFI device path node alignment fault​
​Example 248-Corrected UEFI device path node alignment fault​
​Example 249-Accessing a 64-bit BAR in a PCI configuration header​
​Example 250-Size of data types with EBC​
​Example 251-Global Variable Initialization that fails for EBC​
​Example 252-Global Variable Initialization that works for EBC​
​Example 253-Case statements that fail for EBC​
​Example 254-Case statements that work for EBC​
​Example 255-EDK II Package Directory​
​Example 256-EDK II Package DEC File​
​Example 257-EDK II Package DSC File​
​Example 258-UEFI Driver Directory​
​Example 259-UEFI Driver INF File​
​Example 260-UEFI Driver C Source File​
​Example 261-Disk I/O UEFI Driver Source Files​
​Example 262-EBC driver with instruction set architecture-specific files​
​Example 263-EDK II Package DSC File​
​Example 264-Build Output Directory​
​Example 265-EDK II Package DSC File with Optimizations Disabled​
​Example 266-EDK II Package DSC File with Build Options​
​Example 268-EDK II Package DSC File with Build Options​
​Example 269-UEFI Driver Entry Point with POST_CODE() Macros​
​Example 270-Enable POST_CODE() macros from DSC file​
​Example A-1-UEFI Driver INF file template​
​Example A-2-UEFI Runtime Driver INF file template​
​Example A-3-UEFI Driver include file template​
​Example A-4-UEFI Driver implementation template​
​Example A-5-UEFI Driver protocol implementation template​
​Example A-6-Component Name Protocol implementation template​
​Example A-7-Driver Configuration Protocol implementation template​
​Example A-8-Driver Health Protocol implementation template​
​Example A-9-Driver Health Protocol implementation template​
​Example A-10-Driver Family Override Protocol implementation template​
​Example A-11-Bus Specific Driver Override Protocol implementation template​
​Example A-12-Driver Diagnostics Protocols implementation template​
​Example A-13-USB 2 Host Controller Protocol implementation template​
​Example A-14-Extended SCSI Pass Thru Protocol implementation template​
​Example A-15-ATA Pass Thru Protocol implementation template​
​Example A-16-Simple Text Input Protocols implementation template​
​Example A-17-Simple Text Output Protocol implementation template​
​Example A-18-Serial I/O Protocol implementation template​
​Example A-19-Graphics Output Protocol implementation template​
​Example A-20-Block I/O, Block I/O 2, and​
​Example A-21-Network Interface Identifier Protocol implementation template​
​Example A-22-Simple Network Protocol implementation template​
​Example A-23-User Credential Protocol implementation template​
​Example A-24-Load File Protocol implementation template​
​Example A-25-EDID Override Protocol implementation template​
​Example A-26-Add protocol to an EDK II package​
​Example A-27-Protocol include file template​
​Example A-28-Add GUID to an EDK II package​
​Example A-29-GUID include file template​
​Example A-30-Add Library Class to an EDK II package​
​Example A-31-Library Class include file template​
​Example A-32-Protocol, GUID, and Library Class include statements​
​Example A-33-Protocol and GUID INF statements​