58 #ifdef INBV_HEADLESS_COLORS 61 static const UCHAR CGA_TO_ANSI_COLOR_TABLE[16] =
82 #define CGA_TO_ANSI_COLOR(CgaColor) \ 83 CGA_TO_ANSI_COLOR_TABLE[CgaColor & 0x0F] 111 ListHead = &LoaderBlock->LoadOrderListHead;
112 NextEntry = ListHead->
Flink;
113 while (NextEntry != ListHead)
130 if (NextEntry != ListHead)
133 ResourceInfo.
Type = 2;
134 ResourceInfo.
Name = ResourceId;
148 if ((
Data) && (ResourceId < 3))
191 CommandLine = (LoaderBlock->LoadOptions ?
_strupr(LoaderBlock->LoadOptions) :
NULL);
192 ResetMode = (CommandLine ==
NULL) || (
strstr(CommandLine,
"BOOTLOGO") ==
NULL);
465 #ifdef INBV_HEADLESS_COLORS 474 sizeof(HeadlessSetColor),
507 #ifdef INBV_HEADLESS_COLORS 516 sizeof(HeadlessSetColor),
635 Percentage =
min(Percentage, 99);
static __inline NTSTATUS ProbeAndCaptureUnicodeString(OUT PUNICODE_STRING Dest, IN KPROCESSOR_MODE CurrentMode, IN const UNICODE_STRING *UnsafeSrc)
#define KeGetCurrentIrql()
*BytesInOemString PCHAR OemString
static ULONG InbvTerminalTextColor
static BT_PROGRESS_INDICATOR InbvProgressIndicator
#define STATUS_PRIVILEGE_NOT_HELD
INBV_DISPLAY_STATE NTAPI InbvGetDisplayState(VOID)
VOID NTAPI InbvIndicateProgress(VOID)
Gives some progress feedback, without specifying any explicit number of progress steps or percentage....
VOID NTAPI InbvSetScrollRegion(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom)
struct _BT_PROGRESS_INDICATOR * PBT_PROGRESS_INDICATOR
ACPI_SIZE strlen(const char *String)
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
char * strstr(char *String1, char *String2)
static INBV_RESET_DISPLAY_PARAMETERS InbvResetDisplayParameters
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
VOID NTAPI InbvBufferToScreenBlt(_In_ PUCHAR Buffer, _In_ ULONG X, _In_ ULONG Y, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Delta)
VOID NTAPI VidDisplayString(_In_z_ PUCHAR String)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
ULONG_PTR KiBugCheckData[5]
IN PVOID IN PVOID IN USHORT IN USHORT Size
KPROCESSOR_MODE NTAPI ExGetPreviousMode(VOID)
_In_ HFONT _Out_ PUINT Height
enum _INBV_DISPLAY_STATE INBV_DISPLAY_STATE
static VOID NTAPI DisplayFilter(_Inout_ PCHAR *String)
VOID NTAPI InbvNotifyDisplayOwnershipLost(_In_ INBV_RESET_DISPLAY_PARAMETERS Callback)
struct _BT_PROGRESS_INDICATOR BT_PROGRESS_INDICATOR
VOID NTAPI VidResetDisplay(_In_ BOOLEAN HalReset)
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
NTSTATUS NTAPI HeadlessDispatch(IN HEADLESS_CMD Command, IN PVOID InputBuffer, IN SIZE_T InputBufferSize, OUT PVOID OutputBuffer, OUT PSIZE_T OutputBufferSize)
VOID NTAPI InbvReleaseLock(VOID)
NTSTATUS NTAPI NtDisplayString(IN PUNICODE_STRING DisplayString)
VOID NTAPI InbvUpdateProgressBar(_In_ ULONG Percentage)
Updates the progress bar percentage, relative to the current percentage sub-range previously set by I...
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
static PVOID FindBitmapResource(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock, _In_ ULONG ResourceId)
BOOLEAN(NTAPI * INBV_RESET_DISPLAY_PARAMETERS)(_In_ ULONG Cols, _In_ ULONG Rows)
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
VOID NTAPI InbvInstallDisplayStringFilter(_In_ INBV_DISPLAY_STRING_FILTER DisplayFilter)
static BOOLEAN InbvDisplayDebugStrings
VOID NTAPI VidCleanUp(VOID)
VOID NTAPI InbvAcquireLock(VOID)
NTSTATUS NTAPI LdrFindResource_U(_In_ PVOID BaseAddress, _In_ PLDR_RESOURCE_INFO ResourceInfo, _In_ ULONG Level, _Out_ PIMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntry)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
NTSTATUS NTAPI LdrAccessResource(_In_ PVOID BaseAddress, _In_ PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry, _Out_opt_ PVOID *Resource, _Out_opt_ PULONG Size)
BOOLEAN FASTCALL KeTestSpinLock(IN PKSPIN_LOCK SpinLock)
VOID NTAPI InbvSetDisplayOwnership(_In_ BOOLEAN DisplayOwned)
struct _LIST_ENTRY * Flink
static __inline VOID ReleaseCapturedUnicodeString(IN PUNICODE_STRING CapturedString, IN KPROCESSOR_MODE CurrentMode)
_In_ KPROCESSOR_MODE PreviousMode
static INBV_PROGRESS_STATE InbvProgressState
VOID NTAPI VidBitBlt(_In_ PUCHAR Buffer, _In_ ULONG Left, _In_ ULONG Top)
#define NT_SUCCESS(StatCode)
PUCHAR NTAPI InbvGetResourceAddress(_In_ ULONG ResourceNumber)
ULONG NTAPI VidSetTextColor(_In_ ULONG Color)
BOOLEAN NTAPI InbvDisplayString(_In_ PCHAR String)
VOID NTAPI VidSolidColorFill(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ UCHAR Color)
VOID NTAPI BootAnimTickProgressBar(_In_ ULONG SubPercentTimes100)
Ticks the progress bar. Used by InbvUpdateProgressBar() and related.
VOID NTAPI InbvSetProgressBarSubset(_In_ ULONG Floor, _In_ ULONG Ceiling)
Specifies a progress percentage sub-range. Further calls to InbvIndicateProgress() or InbvUpdateProgr...
BOOLEAN NTAPI InbvEnableDisplayString(_In_ BOOLEAN Enable)
#define ExAllocatePoolWithTag(hernya, size, tag)
VOID NTAPI InbvAcquireDisplayOwnership(VOID)
static ULONG ResourceCount
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)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
VOID NTAPI InbvBitBlt(_In_ PUCHAR Buffer, _In_ ULONG X, _In_ ULONG Y)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
static INBV_DISPLAY_STRING_FILTER InbvDisplayFilter
VOID NTAPI InbvSolidColorFill(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ ULONG Color)
VOID DisplayString(LPWSTR Msg)
BOOLEAN NTAPI InbvDriverInitialize(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock, _In_ ULONG Count)
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
const LUID SeTcbPrivilege
BOOLEAN NTAPI InbvIsBootDriverInstalled(VOID)
VOID FASTCALL KiReleaseSpinLock(IN PKSPIN_LOCK SpinLock)
#define RESOURCE_DATA_LEVEL
BOOLEAN NTAPI InbvResetDisplay(VOID)
_CRTIMP char *__cdecl _strupr(_Inout_z_ char *_String)
static LPHIST_ENTRY Bottom
VOID NTAPI VidSetScrollRegion(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom)
#define STATUS_BUFFER_OVERFLOW
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
BOOLEAN NTAPI VidInitialize(_In_ BOOLEAN SetMode)
struct _INBV_PROGRESS_STATE INBV_PROGRESS_STATE
UNICODE_STRING BaseDllName
NTSYSAPI DWORD WINAPI RtlUnicodeStringToOemSize(const UNICODE_STRING *)
VOID FASTCALL KiAcquireSpinLock(IN PKSPIN_LOCK SpinLock)
VOID NTAPI KeRaiseIrql(KIRQL NewIrql, PKIRQL OldIrql)
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 INBV_DISPLAY_STATE InbvDisplayState
VOID NTAPI InbvEnableBootDriver(_In_ BOOLEAN Enable)
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)
static ULONG InbvTerminalBkgdColor
VOID(NTAPI * INBV_DISPLAY_STRING_FILTER)(_Inout_ PCHAR *String)
static KSPIN_LOCK BootDriverLock
BOOLEAN InbvBootDriverInstalled
BOOLEAN NTAPI InbvCheckDisplayOwnership(VOID)
VOID NTAPI KeLowerIrql(KIRQL NewIrql)
VOID NTAPI InbvScreenToBufferBlt(_Out_ PUCHAR Buffer, _In_ ULONG X, _In_ ULONG Y, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Delta)
#define ExFreePoolWithTag(_P, _T)
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
VOID NTAPI InbvSetTextColor(_In_ ULONG Color)
#define RTL_CONSTANT_STRING(s)
VOID NTAPI InbvSetProgressBarCoordinates(_In_ ULONG Left, _In_ ULONG Top)
Sets the screen coordinates of the loading progress bar and enable it.