16#define BCD_CLASS_LIBRARY 0x01
17#define BCD_CLASS_APPLICATION 0x02
18#define BCD_CLASS_DEVICE 0x03
19#define BCD_CLASS_OEM 0x05
21#define BCD_TYPE_DEVICE 0x01
22#define BCD_TYPE_STRING 0x02
23#define BCD_TYPE_OBJECT 0x03
24#define BCD_TYPE_OBJECT_LIST 0x04
25#define BCD_TYPE_INTEGER 0x05
26#define BCD_TYPE_BOOLEAN 0x06
27#define BCD_TYPE_INTEGER_LIST 0x07
29#define BCD_IMAGE_TYPE_FIRMWARE 0x01
30#define BCD_IMAGE_TYPE_BOOT_APP 0x02
31#define BCD_IMAGE_TYPE_NTLDR 0x03
32#define BCD_IMAGE_TYPE_REAL_MODE 0x04
34#define BCD_APPLICATION_TYPE_FWBOOTMGR 0x01
35#define BCD_APPLICATION_TYPE_BOOTMGR 0x02
36#define BCD_APPLICATION_TYPE_OSLOADER 0x03
37#define BCD_APPLICATION_TYPE_RESUME 0x04
38#define BCD_APPLICATION_TYPE_MEMDIAG 0x05
39#define BCD_APPLICATION_TYPE_NTLDR 0x06
40#define BCD_APPLICATION_TYPE_SETUPLDR 0x07
41#define BCD_APPLICATION_TYPE_BOOTSECTOR 0x08
42#define BCD_APPLICATION_TYPE_STARTUPCOM 0x09
44#define BCD_OBJECT_TYPE_APPLICATION 0x01
45#define BCD_OBJECT_TYPE_INHERIT 0x02
46#define BCD_OBJECT_TYPE_DEVICE 0x03
263 ULONG ObjectCode : 4;
268 ULONG ObjectCode : 4;
315#define BCD_ENUMERATE_FLAG_DEEP 0x04
316#define BCD_ENUMERATE_FLAG_DEVICES 0x08
317#define BCD_ENUMERATE_FLAG_IN_ORDER 0x10
NTSTATUS BcdDeleteElement(_In_ HANDLE ObjectHandle, _In_ ULONG Type)
enum _BcdResumeElementTypes BcdResumeElementTypes
@ BcdOSLoaderString_HalPath
@ BcdOSLoaderObject_AssociatedResumeObject
@ BcdOSLoaderInteger_UseFirmwarePciSettings
@ BcdOSLoaderBoolean_HypervisorUseLargeVTlb
@ BcdOSLoaderInteger_GroupSize
@ BcdOSLoaderBoolean_DisableVesaBios
@ BcdOSLoaderBoolean_UsePlatformClock
@ BcdOSLoaderBoolean_HypervisorDebuggerNetDhcp
@ BcdOSLoaderBoolean_UseVgaDriver
@ BcdOSLoaderInteger_HypervisorDebuggerNetHostIp
@ BcdOSLoaderInteger_RestrictApicCluster
@ BcdOSLoaderDevice_OSDevice
@ BcdOSLoaderBoolean_DebuggerHalBreakpoint
@ BcdOSLoaderInteger_HypervisorLaunchType
@ BcdOSLoaderString_KernelPath
@ BcdOSLoaderBoolean_BootLogInitialization
@ BcdOSLoaderInteger_X2ApicPolicy
@ BcdOSLoaderBoolean_UseLegacyApicMode
@ BcdOSLoaderBoolean_DisableBootDisplay
@ BcdOSLoaderInteger_HypervisorNumProc
@ BcdOSLoaderInteger_NxPolicy
@ BcdOSLoaderBoolean_DetectKernelAndHal
@ BcdOSLoaderInteger_IncreaseUserVa
@ BcdOSLoaderInteger_DriverLoadFailurePolicy
@ BcdOSLoaderBoolean_WinPEMode
@ BcdOSLoaderBoolean_ForceGroupAwareness
@ BcdOSLoaderInteger_BootStatusPolicy
@ BcdOSLoaderBoolean_VerboseObjectLoadMode
@ BcdOSLoaderInteger_MsiPolicy
@ BcdOSLoaderInteger_HypervisorDebuggerPortNumber
@ BcdOSLoaderInteger_NumberOfProcessors
@ BcdOSLoaderBoolean_ProcessorConfigurationFlags
@ BcdOSLoaderString_HypervisorDebuggerNetKey
@ BcdOSLoaderBoolean_UseLastGoodSettings
@ BcdOSLoaderBoolean_DisableElamDrivers
@ BcdOSLoaderInteger_BootMenuPolicy
@ BcdOSLoaderBoolean_UseBootProcessorOnly
@ BcdOSLoaderBoolean_ForceMaximumProcessors
@ BcdOSLoaderBoolean_DisableCrashAutoReboot
@ BcdOSLoaderInteger_XSaveDisable
@ BcdOSLoaderInteger_ClusterModeAddressing
@ BcdOSLoaderInteger_HypervisorDebuggerNetHostPort
@ BcdOSLoaderBoolean_SafeBootAlternateShell
@ BcdOSLoaderBoolean_OptionsEditOneTime
@ BcdOSLoaderInteger_HypervisorDebuggerBaudrate
@ BcdOSLoaderInteger_BootUxPolicy
@ BcdOSLoaderBoolean_AllowPrereleaseSignatures
@ BcdOSLoaderBoolean_UsePhysicalDestination
@ BcdOSLoaderInteger_HypervisorDebuggerType
@ BcdOSLoaderInteger_HypervisorDebugger1394Channel
@ BcdOSLoaderBoolean_EmsEnabled
@ BcdOSLoaderInteger_RemoveMemory
@ BcdOSLoaderInteger_TscSyncPolicy
@ BcdOSLoaderInteger_SafeBoot
@ BcdOSLoaderInteger_TpmBootEntropyPolicy
@ BcdOSLoaderBoolean_HypervisorDebuggerEnabled
@ BcdOSLoaderBoolean_NoLowMemory
@ BcdOSLoaderInteger_HypervisorRootProcPerNode
@ BcdOSLoaderString_HypervisorDebuggerBusParams
@ BcdOSLoaderBoolean_ForceLegacyPlatform
@ BcdOSLoaderInteger_HypervisorIommuPolicy
@ BcdOSLoaderString_SystemRoot
@ BcdOSLoaderBoolean_MaximizeGroupsCreated
@ BcdOSLoaderBoolean_AdvancedOptionsOneTime
@ BcdOSLoaderBoolean_KernelDebuggerEnabled
@ BcdOSLoaderString_DbgTransportPath
@ BcdOSLoaderBoolean_DisableVgaMode
@ BcdOSLoaderInteger_ForceFailure
@ BcdOSLoaderInteger_PAEPolicy
struct _BCD_OBJECT_DESCRIPTION BCD_OBJECT_DESCRIPTION
struct _BCD_ELEMENT_HEADER * PBCD_ELEMENT_HEADER
NTSTATUS BiEnumerateElements(_In_ HANDLE BcdHandle, _In_ HANDLE ObjectHandle, _In_ ULONG RootElementType, _In_ ULONG Flags, _Out_opt_ PBCD_PACKED_ELEMENT Elements, _Inout_ PULONG ElementSize, _Out_ PULONG ElementCountNe)
_BCDE_OSLOADER_TYPE_BOOT_STATUS_POLICY
@ DisplayShutdownFailures
@ IgnoreCheckpointFailures
@ DisplayCheckpointFailures
struct _BCD_ELEMENT_HEADER BCD_ELEMENT_HEADER
@ BcdBootMgrBoolean_ProcessCustomActionsFirst
@ BcdBootMgrBoolean_NoErrorDisplay
@ BcdBootMgrBoolean_AttemptResume
@ BcdBootMgrObjectList_DisplayOrder
@ BcdBootMgrObject_ResumeObject
@ BcdBootMgrBoolean_PersistBootSequence
@ BcdBootMgrString_BcdFilePath
@ BcdBootMgrBoolean_DisplayBootMenu
@ BcdBootMgrObject_DefaultObject
@ BcdBootMgrObjectList_ToolsDisplayOrder
@ BcdBootMgrIntegerList_CustomActionsList
@ BcdBootMgrInteger_Timeout
@ BcdBootMgrObjectList_BootSequence
@ BcdBootMgrDevice_BcdDevice
struct _BCD_DEVICE_OPTION * PBCD_DEVICE_OPTION
@ BcdResumeDevice_AssociatedOsDevice
@ BcdResumeBoolean_DebugOptionEnabled
@ BcdResumeInteger_BootMenuPolicy
@ BcdResumeBoolean_UseCustomSettings
struct _BCD_PACKED_ELEMENT BCD_PACKED_ELEMENT
struct _BCD_ELEMENT * PBCD_ELEMENT
struct _BCD_ELEMENT BCD_ELEMENT
struct _BCD_OBJECT_DESCRIPTION * PBCD_OBJECT_DESCRIPTION
NTSTATUS BcdOpenObject(_In_ HANDLE BcdHandle, _In_ PGUID ObjectId, _Out_ PHANDLE ObjectHandle)
enum _BCDE_OSLOADER_TYPE_BOOT_STATUS_POLICY BCDE_OSLOADER_TYPE_BOOT_STATUS_POLICY
NTSTATUS BcdOpenStoreFromFile(_In_ PUNICODE_STRING FileName, _In_ PHANDLE StoreHandle)
NTSTATUS BiGetObjectDescription(_In_ HANDLE ObjectHandle, _Out_ PBCD_OBJECT_DESCRIPTION Description)
@ BcdLibraryString_FontPath
@ BcdLibraryInteger_SiPolicy
@ BcdLibraryBoolean_GraphicsModeDisabled
@ BcdLibraryBoolean_AutoRecoveryEnabled
@ BcdLibraryInteger_GraphicsResolution
@ BcdLibraryBoolean_PreserveBsdLog
@ BcdLibraryBoolean_GraphicsForceHighestMode
@ BcdLibraryBoolean_EmsEnabled
@ BcdLibraryString_Description
@ BcdLibraryInteger_EmsBaudRate
@ BcdLibraryString_PreferredLocale
@ BcdLibraryString_DebuggerNetKey
@ BcdLibraryInteger_UndocumentedMagic
@ BcdLibraryDevice_ApplicationDevice
@ BcdLibraryInteger_DebuggerNetHostIP
@ BcdLibraryBoolean_IsolatedExecutionContext
@ BcdLibraryBoolean_DisplayOptionsEdit
@ BcdLibraryObjectList_RecoverySequence
@ BcdLibraryBoolean_MobileGraphics
@ BcdLibraryInteger_FirstMegabytePolicy
@ BcdLibraryDevice_BsdLogDevice
@ BcdLibraryInteger_DebuggerNetPort
@ BcdLibraryObjectList_InheritedObjects
@ BcdLibraryString_DebuggerBusParameters
@ BcdLibraryBoolean_BootShutdownDisabled
@ BcdLibraryInteger_DebuggerType
@ BcdLibraryBoolean_DebuggerEnabled
@ BcdLibraryString_LoadOptionsString
@ BcdLibraryBoolean_DebuggerNetDhcp
@ BcdLibraryString_BsdLogPath
@ BcdLibraryBoolean_DisableIntegrityChecks
@ BcdLibraryIntegerList_BadMemoryList
@ BcdLibraryBoolean_AllowPrereleaseSignatures
@ BcdLibraryInteger_SerialDebuggerPort
@ BcdLibraryBoolean_ConsoleExtendedInput
@ BcdLibraryInteger_DebuggerStartPolicy
@ BcdLibraryIntegerList_AllowedInMemorySettings
@ BcdLibraryInteger_1394DebuggerChannel
@ BcdLibraryBoolean_DisplayAdvancedOptions
@ BcdLibraryInteger_ConfigAccessPolicy
@ BcdLibraryInteger_AvoidLowPhysicalMemory
@ BcdLibraryInteger_DisplayMessageOverride
@ BcdLibraryBoolean_ForceFipsCrypto
@ BcdLibraryInteger_RelocatePhysicalMemory
@ BcdLibraryInteger_TruncatePhysicalMemory
@ BcdLibraryBoolean_DebuggerIgnoreUsermodeExceptions
@ BcdLibraryInteger_EmsPort
@ BcdLibraryString_UsbDebuggerTargetName
@ BcdLibraryInteger_SerialDebuggerPortAddress
@ BcdLibraryInteger_DisplayMessage
@ BcdLibraryString_ApplicationPath
@ BcdLibraryBoolean_AllowBadMemoryAccess
@ BcdLibraryInteger_SerialDebuggerBaudRate
@ BcdLibraryInteger_FveBandId
@ BcdLibraryBoolean_RestartOnFailure
@ BcdLibraryBoolean_BootUxDisable
@ BcdStartupString_PxeApplicationName
@ BcdStartupBoolean_PxeSoftReboot
NTSTATUS BcdEnumerateAndUnpackElements(_In_ HANDLE BcdHandle, _In_ HANDLE ObjectHandle, _Out_opt_ PBCD_ELEMENT Elements, _Inout_ PULONG ElementSize, _Out_ PULONG ElementCount)
struct _BCD_PACKED_ELEMENT * PBCD_PACKED_ELEMENT
struct _BCD_DEVICE_OPTION BCD_DEVICE_OPTION
static const WCHAR Description[]
BL_DEVICE_DESCRIPTOR DeviceDescriptor
PBCD_ELEMENT_HEADER Header
struct _BCD_PACKED_ELEMENT * NextEntry
_Must_inspect_result_ _In_ WDFDEVICE Device
_Reserved_ PVOID Reserved
_Must_inspect_result_ _In_ ULONG Flags