#ifndef _NTBCD_H
/**
* BCD configuration elements for the Boot Manager types.
*/
typedef enum _BcdBootMgrElementTypes
{
/// <summary>
/// The order in which BCD objects should be displayed.
/// Objects are displayed using the string specified by the BcdLibraryString_Description element.
/// </summary>
/// <remarks>0x24000001 - BCDE_BOOTMGR_TYPE_DISPLAY_ORDER</remarks>
BcdBootMgrObjectList_DisplayOrder = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECTLIST, 1),
/// <summary>
/// List of boot environment applications the boot manager should execute.
/// The applications are executed in the order they appear in this list.
/// If the firmware boot manager does not support loading multiple applications, this list cannot contain more than one entry.
/// </summary>
/// <remarks>0x24000002 - BCDE_BOOTMGR_TYPE_BOOT_SEQUENCE</remarks>
BcdBootMgrObjectList_BootSequence = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECTLIST, 2),
/// <summary>
/// The default boot environment application to load if the user does not select one.
/// </summary>
/// <remarks>0x23000003 - BCDE_BOOTMGR_TYPE_DEFAULT_OBJECT</remarks>
BcdBootMgrObject_DefaultObject = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECT, 3),
/// <summary>
/// The maximum number of seconds a boot selection menu is to be displayed to the user.
/// The menu is displayed until the user selects an option or the time-out expires.
/// If this value is not specified, the boot manager waits for the user to make a selection.
/// </summary>
/// <remarks>0x25000004 - BCDE_BOOTMGR_TYPE_TIMEOUT</remarks>
BcdBootMgrInteger_Timeout = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 4),
/// <summary>
/// Indicates that a resume operation should be attempted during a system restart.
/// </summary>
/// <remarks>0x26000005 - BCDE_BOOTMGR_TYPE_ATTEMPT_RESUME</remarks>
BcdBootMgrBoolean_AttemptResume = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 5),
/// <summary>
/// The resume application object.
/// </summary>
/// <remarks>0x23000006 - BCDE_BOOTMGR_TYPE_RESUME_OBJECT</remarks>
BcdBootMgrObject_ResumeObject = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECT, 6),
/// <summary>
/// The startup sequence.
/// </summary>
/// <remarks>0x24000007 - BCDE_BOOTMGR_TYPE_STARTUP_SEQUENCE</remarks>
BcdBootMgrObjectList_StartupSequence = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECTLIST, 7),
/// <summary>
/// The boot manager tools display order list.
/// </summary>
/// <remarks>0x24000010 - BCDE_BOOTMGR_TYPE_TOOLS_DISPLAY_ORDER</remarks>
BcdBootMgrObjectList_ToolsDisplayOrder = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECTLIST, 16),
/// <summary>
/// Forces the display of the legacy boot menu, regardless of the number of OS entries in the BCD store and their BcdOSLoaderInteger_BootMenuPolicy.
/// </summary>
/// <remarks>0x26000020 - BCDE_BOOTMGR_TYPE_DISPLAY_BOOT_MENU</remarks>
BcdBootMgrBoolean_DisplayBootMenu = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 32),
/// <summary>
/// Indicates whether the display of errors should be suppressed. If this setting is enabled, the boot manager exits to the multi-OS menu on OS launch error.
/// </summary>
/// <remarks>0x26000021 - BCDE_BOOTMGR_TYPE_NO_ERROR_DISPLAY</remarks>
BcdBootMgrBoolean_NoErrorDisplay = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 33),
/// <summary>
/// The device on which the boot application resides.
/// </summary>
/// <remarks>0x21000022 - BCDE_BOOTMGR_TYPE_BCD_DEVICE</remarks>
BcdBootMgrDevice_BcdDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 34),
/// <summary>
/// The boot application.
/// </summary>
/// <remarks>0x22000023 - BCDE_BOOTMGR_TYPE_BCD_FILEPATH</remarks>
BcdBootMgrString_BcdFilePath = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 35),
/// <summary>
/// Indicates whether HORM (Hibernate Once/Resume Many) is enabled.
/// </summary>
/// <remarks>0x26000024 - BCDE_BOOTMGR_TYPE_HIBERBOOT</remarks>
BcdBootMgrBoolean_HormEnabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 36),
/// <summary>
/// Indicates whether the system is in hibernation root mode.
/// </summary>
/// <remarks>0x26000025 - BCDE_BOOTMGR_TYPE_NEXT_ENTRY_ON_FAILURE</remarks>
BcdBootMgrBoolean_HiberRoot = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 37),
/// <summary>
/// The password override string.
/// </summary>
/// <remarks>0x22000026 - BCDE_BOOTMGR_TYPE_FVE_RECOVERY_MESSAGE</remarks>
BcdBootMgrString_PasswordOverride = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 38),
/// <summary>
/// The PIN/passphrase override string.
/// </summary>
/// <remarks>0x22000027 - BCDE_BOOTMGR_TYPE_FVE_RECOVERY_URL</remarks>
BcdBootMgrString_PinpassPhraseOverride = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 39),
/// <summary>
/// Controls whether custom actions are processed before a boot sequence. Note This value is supported starting in Windows 8 and Windows Server 2012.
/// </summary>
/// <remarks>0x26000028 - BCDE_BOOTMGR_TYPE_PROCESS_CUSTOM_ACTIONS_FIRST</remarks>
BcdBootMgrBoolean_ProcessCustomActionsFirst = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 40),
/// <summary>
/// Custom Bootstrap Actions.
/// </summary>
/// <remarks>0x27000030 - BCDE_BOOTMGR_TYPE_CUSTOM_ACTIONS_LIST</remarks>
BcdBootMgrIntegerList_CustomActionsList = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGERLIST, 48),
/// <summary>
/// Controls whether a boot sequence persists across multiple boots. Note This value is supported starting in Windows 8 and Windows Server 2012.
/// </summary>
/// <remarks>0x26000031 - BCDE_BOOTMGR_TYPE_PERSIST_BOOT_SEQUENCE</remarks>
BcdBootMgrBoolean_PersistBootSequence = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 49),
/// <summary>
/// Indicates whether to skip the startup sequence.
/// </summary>
/// <remarks>0x26000032 - BCDE_BOOTMGR_TYPE_SKIP_STARTUP_SEQUENCE</remarks>
BcdBootMgrBoolean_SkipStartupSequence = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 50),
} BcdBootMgrElementTypes;
View code on GitHubNo description available.