58#ifdef INBV_HEADLESS_COLORS
61static const UCHAR CGA_TO_ANSI_COLOR_TABLE[16] =
82#define CGA_TO_ANSI_COLOR(CgaColor) \
83 CGA_TO_ANSI_COLOR_TABLE[CgaColor & 0x0F]
94#define RT_BITMAP MAKEINTRESOURCE(2)
113 ListHead = &LoaderBlock->LoadOrderListHead;
114 for (NextEntry = ListHead->
Flink;
115 NextEntry != ListHead;
116 NextEntry = NextEntry->
Flink)
133 if (NextEntry != ListHead)
195 CommandLine = (LoaderBlock->LoadOptions ?
_strupr(LoaderBlock->LoadOptions) :
NULL);
196 ResetMode = (CommandLine ==
NULL) || (
strstr(CommandLine,
"BOOTLOGO") ==
NULL);
469#ifdef INBV_HEADLESS_COLORS
478 sizeof(HeadlessSetColor),
511#ifdef INBV_HEADLESS_COLORS
520 sizeof(HeadlessSetColor),
639 Percentage =
min(Percentage, 99);
#define STATUS_PRIVILEGE_NOT_HELD
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG _In_ KPROCESSOR_MODE PreviousMode
char * strstr(char *String1, char *String2)
ACPI_SIZE strlen(const char *String)
VOID NTAPI VidScreenToBufferBlt(_Out_writes_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Delta)
VOID NTAPI VidSolidColorFill(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ UCHAR Color)
VOID NTAPI VidCleanUp(VOID)
VOID NTAPI VidResetDisplay(_In_ BOOLEAN HalReset)
BOOLEAN NTAPI VidInitialize(_In_ BOOLEAN SetMode)
VOID DisplayString(LPWSTR Msg)
static LPHIST_ENTRY Bottom
VOID NTAPI BootAnimTickProgressBar(_In_ ULONG SubPercentTimes100)
Ticks the progress bar. Used by InbvUpdateProgressBar() and related.
static VOID NTAPI DisplayFilter(_Inout_ PCHAR *String)
ULONG_PTR KiBugCheckData[5]
#define NT_SUCCESS(StatCode)
VOID NTAPI VidBitBlt(_In_ PUCHAR Buffer, _In_ ULONG Left, _In_ ULONG Top)
ULONG NTAPI VidSetTextColor(_In_ ULONG Color)
VOID NTAPI VidBufferToScreenBlt(_In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Delta)
VOID NTAPI VidDisplayString(_In_z_ PUCHAR String)
VOID NTAPI VidSetScrollRegion(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeRaiseIrql(irql, oldIrql)
#define KeLowerIrql(oldIrql)
#define KeGetCurrentIrql()
#define KeInitializeSpinLock(sl)
#define ExGetPreviousMode
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
@ HeadlessCmdClearDisplay
NTSTATUS NTAPI HeadlessDispatch(IN HEADLESS_CMD Command, IN PVOID InputBuffer, IN SIZE_T InputBufferSize, OUT PVOID OutputBuffer, OUT PSIZE_T OutputBufferSize)
INBV_DISPLAY_STATE NTAPI InbvGetDisplayState(VOID)
VOID NTAPI InbvSetDisplayOwnership(_In_ BOOLEAN DisplayOwned)
VOID NTAPI InbvAcquireDisplayOwnership(VOID)
VOID NTAPI InbvInstallDisplayStringFilter(_In_ INBV_DISPLAY_STRING_FILTER DisplayFilter)
VOID NTAPI InbvBufferToScreenBlt(_In_ PUCHAR Buffer, _In_ ULONG X, _In_ ULONG Y, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Delta)
VOID NTAPI InbvNotifyDisplayOwnershipLost(_In_ INBV_RESET_DISPLAY_PARAMETERS Callback)
static ULONG InbvTerminalBkgdColor
BOOLEAN InbvBootDriverInstalled
PUCHAR NTAPI InbvGetResourceAddress(_In_ ULONG ResourceNumber)
VOID NTAPI InbvAcquireLock(VOID)
static INBV_DISPLAY_STRING_FILTER InbvDisplayFilter
VOID NTAPI InbvIndicateProgress(VOID)
Gives some progress feedback, without specifying any explicit number of progress steps or percentage....
static INBV_DISPLAY_STATE InbvDisplayState
struct _BT_PROGRESS_INDICATOR BT_PROGRESS_INDICATOR
static BOOLEAN InbvDisplayDebugStrings
struct _BT_PROGRESS_INDICATOR * PBT_PROGRESS_INDICATOR
static INBV_PROGRESS_STATE InbvProgressState
BOOLEAN NTAPI InbvCheckDisplayOwnership(VOID)
VOID NTAPI InbvEnableBootDriver(_In_ BOOLEAN Enable)
VOID NTAPI InbvSetTextColor(_In_ ULONG Color)
VOID NTAPI InbvSetProgressBarCoordinates(_In_ ULONG Left, _In_ ULONG Top)
Sets the screen coordinates of the loading progress bar and enable it.
VOID NTAPI InbvScreenToBufferBlt(_Out_ PUCHAR Buffer, _In_ ULONG X, _In_ ULONG Y, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Delta)
VOID NTAPI InbvSetProgressBarSubset(_In_ ULONG Floor, _In_ ULONG Ceiling)
Specifies a progress percentage sub-range. Further calls to InbvIndicateProgress() or InbvUpdateProgr...
static ULONG ResourceCount
BOOLEAN NTAPI InbvEnableDisplayString(_In_ BOOLEAN Enable)
static INBV_RESET_DISPLAY_PARAMETERS InbvResetDisplayParameters
BOOLEAN NTAPI InbvDisplayString(_In_ PCHAR String)
BOOLEAN NTAPI InbvDriverInitialize(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock, _In_ ULONG Count)
static BT_PROGRESS_INDICATOR InbvProgressIndicator
VOID NTAPI InbvUpdateProgressBar(_In_ ULONG Percentage)
Updates the progress bar percentage, relative to the current percentage sub-range previously set by I...
VOID NTAPI InbvBitBlt(_In_ PUCHAR Buffer, _In_ ULONG X, _In_ ULONG Y)
struct _INBV_PROGRESS_STATE INBV_PROGRESS_STATE
static KSPIN_LOCK BootDriverLock
static ULONG InbvTerminalTextColor
BOOLEAN NTAPI InbvResetDisplay(VOID)
VOID NTAPI InbvSetScrollRegion(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom)
VOID NTAPI InbvReleaseLock(VOID)
VOID NTAPI InbvSolidColorFill(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ ULONG Color)
static PVOID FindBitmapResource(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock, _In_ ULONG ResourceId)
NTSTATUS NTAPI NtDisplayString(IN PUNICODE_STRING DisplayString)
BOOLEAN NTAPI InbvIsBootDriverInstalled(VOID)
@ INBV_DISPLAY_STATE_OWNED
@ INBV_DISPLAY_STATE_LOST
@ INBV_DISPLAY_STATE_DISABLED
enum _INBV_DISPLAY_STATE INBV_DISPLAY_STATE
VOID(NTAPI * INBV_DISPLAY_STRING_FILTER)(_Inout_ PCHAR *String)
BOOLEAN(NTAPI * INBV_RESET_DISPLAY_PARAMETERS)(_In_ ULONG Cols, _In_ ULONG Rows)
NTSTATUS NTAPI LdrAccessResource(_In_ PVOID BaseAddress, _In_ PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry, _Out_opt_ PVOID *Resource, _Out_opt_ PULONG Size)
NTSTATUS NTAPI LdrFindResource_U(_In_ PVOID BaseAddress, _In_ PLDR_RESOURCE_INFO ResourceInfo, _In_ ULONG Level, _Out_ PIMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntry)
#define RESOURCE_DATA_LEVEL
#define ExFreePoolWithTag(_P, _T)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
const LUID SeTcbPrivilege
#define IDB_MAX_RESOURCES
BOOLEAN FASTCALL KeTestSpinLock(IN PKSPIN_LOCK SpinLock)
VOID FASTCALL KiAcquireSpinLock(IN PKSPIN_LOCK SpinLock)
VOID FASTCALL KiReleaseSpinLock(IN PKSPIN_LOCK SpinLock)
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
static __inline NTSTATUS ProbeAndCaptureUnicodeString(OUT PUNICODE_STRING Dest, IN KPROCESSOR_MODE CurrentMode, IN const UNICODE_STRING *UnsafeSrc)
static __inline VOID ReleaseCapturedUnicodeString(IN PUNICODE_STRING CapturedString, IN KPROCESSOR_MODE CurrentMode)
#define STATUS_BUFFER_OVERFLOW
UNICODE_STRING BaseDllName
struct _LIST_ENTRY * Flink
#define RTL_CONSTANT_STRING(s)
#define CONTAINING_RECORD(address, type, field)
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define RtlUnicodeStringToOemSize(STRING)
*BytesInOemString PCHAR OemString