Go to the source code of this file.
◆ BlpResourceInitialize()
Definition at line 478 of file resource.c.
481{
485 ULONG ImageSize, VRes, HRes;
487
488
490
491
507
508
510 {
511
514 }
515
516
519 {
521 }
522
523
525 if (ResourceSection)
526 {
527
533 }
534
535
538 {
539
542 {
543
545 }
546 }
547
548
550}
NTSTATUS BlDisplayGetScreenResolution(_Out_ PULONG HRes, _Out_ PULONG Vres)
PIMAGE_SECTION_HEADER BlImgFindSection(_In_ PVOID ImageBase, _In_ ULONG ImageSize)
NTSTATUS BlGetApplicationBaseAndSize(_Out_ PVOID *ImageBase, _Out_ PULONG ImageSize)
NTSTATUS BlMmFreeHeap(_In_ PVOID Buffer)
ULONG_PTR ResRootDirectoryFallbackOffset
ULONG_PTR ResRootDirectoryOffset
NTSTATUS ResSelectLocale(_In_ BOOLEAN Primary)
PVOID ResRootDirectoryFallback
ULONG_PTR ResRootDirectoryPrimaryOffset
PVOID ResPeImageEndFallback
BOOLEAN ResLoadedFontFiles
PVOID ResPeImageBasePrimary
PVOID ResPeImageBaseFallback
ULONG_PTR ResMuiImageSize
PVOID ResRootDirectoryPrimary
PVOID ResPeImageEndPrimary
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
struct _IMAGE_RESOURCE_DIRECTORY * PIMAGE_RESOURCE_DIRECTORY
Referenced by BlInitializeLibrary(), and InitializeLibrary().
◆ BlResourceFindHtml()
Definition at line 305 of file resource.c.
308{
312
313
315
316
318 0,
319 23,
322 &HtmlDataEntry,
323 (
PVOID*)&Stylesheet);
325 {
326 return Stylesheet;
327 }
328
329
330 if (*Stylesheet == 0xFEFF)
331 {
332
334 Stylesheet + 1,
337 }
339 {
340
342 }
343
344
345 return Stylesheet;
346}
NTSTATUS ResFindDataEntryFromImage(_In_opt_ PVOID ImageBase, _In_opt_ ULONG ImageSize, _In_ USHORT DirectoryId, _In_ PUSHORT EntryId, _In_ PWCHAR Name, _Out_ PIMAGE_RESOURCE_DATA_ENTRY *DataEntryOut, _Out_ PVOID *ResourceOut)
#define RtlMoveMemory(Destination, Source, Length)
Referenced by BmMain().
◆ BlResourceFindMessage()
Definition at line 349 of file resource.c.
352{
362
363
366 {
368 }
369
370
372 {
373
376 {
377
380 {
381
384 {
385
386 EfiPrintf(
L"Font loading failed, falling back to text mode\r\n");
389 {
390
392 }
393 }
394 }
395 }
396
397
400 }
401
402
408 if (!ResourceDir)
409 {
411 }
412
413
419 if (!ResourceDir)
420 {
422 }
423
424
430 if (!DataEntry)
431 {
433 }
434
435
439
440
442 {
443
446 {
447
450
451
453 {
456 }
457
458
460
461
462 if ((MsgEnd >= (
PVOID)MsgEntry) &&
465 {
466
468 break;
469 }
470 }
471 }
472
473
475}
VOID EfiPrintf(_In_ PWCHAR Format,...)
NTSTATUS BfLoadDeferredFontFiles(VOID)
NTSTATUS BlDisplaySetScreenResolution(VOID)
PIMAGE_RESOURCE_DIRECTORY_ENTRY ResFindDirectoryEntry(_In_ PIMAGE_RESOURCE_DIRECTORY Directory, _In_opt_ PUSHORT Id, _In_opt_ PWCHAR Name, _In_ ULONG_PTR SectionStart)
static const WCHAR Message[]
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
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 GLint GLint j
struct _MESSAGE_RESOURCE_DATA * PMESSAGE_RESOURCE_DATA
struct _MESSAGE_RESOURCE_ENTRY * PMESSAGE_RESOURCE_ENTRY
struct _IMAGE_RESOURCE_DATA_ENTRY * PIMAGE_RESOURCE_DATA_ENTRY
MESSAGE_RESOURCE_BLOCK Blocks[ANYSIZE_ARRAY]
UCHAR Text[ANYSIZE_ARRAY]
Referenced by BmpErrorLog().
◆ ResFindDataEntryFromImage()
Definition at line 154 of file resource.c.
163{
171
172
173 UseFallbackDirectory =
TRUE;
175
176
177 if (ImageBase)
178 {
179
180 if (!ImageSize)
181 {
183 }
184
185
187 if (!ResourceSection)
188 {
190 }
191
192
196 if ((
PVOID)RootDir < ImageBase)
197 {
198
200 }
201
202
203 UseFallbackDirectory =
FALSE;
204 }
205 else
206 {
207
211 }
212
213
214 if (!RootDir)
215 {
217 }
218
219
220 while (1)
221 {
222
224 &DirectoryId,
227 if (ResourceDir)
228 {
229 break;
230 }
231
232
233 if (UseFallbackDirectory)
234 {
235
237 {
238
242
243
244 if (RootDir)
245 {
246 continue;
247 }
248 }
249 }
250
251
253 }
254
255
257 EntryId,
260 if (!ResourceDir)
261 {
263 }
264
265
268 {
270 }
271
272
275
276
277 if (((
PVOID)DataEntry < ImageBase) || ((
PVOID)DataEntry > ImageEnd))
278 {
280 }
281
282
284
285
287 {
289 }
290
291
293 if (((
PVOID)DataEnd < ImageBase) || ((
PVOID)DataEnd > ImageEnd))
294 {
296 }
297
298
299 *DataEntryOut = DataEntry;
302}
#define STATUS_INVALID_IMAGE_FORMAT
struct _IMAGE_RESOURCE_DIRECTORY_ENTRY * PIMAGE_RESOURCE_DIRECTORY_ENTRY
#define STATUS_INVALID_PARAMETER
Referenced by BlResourceFindHtml().
◆ ResFindDirectoryEntry()
Definition at line 81 of file resource.c.
87{
92
93
95 {
96
98 {
99
101 }
102 }
104 {
105
107 }
108
109
111
112
114 {
115
116 IdEntryTable = &EntryTable[
Directory->NumberOfNamedEntries];
117
118
120 {
121
122 if ((IdEntryTable[
i].
Id == *
Id) || (*
Id == 0xFFFF))
123 {
124
126 }
127 }
128
129
131 }
132
133
135 {
136
139
140
141 if ((NameLength == NameString->
Length) &&
143 {
144
146 }
147 }
148
149
151}
#define RtlCompareMemory(s1, s2, l)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
struct _IMAGE_RESOURCE_DIRECTORY_STRING * PIMAGE_RESOURCE_DIRECTORY_STRING
base for all directory entries
Referenced by BlResourceFindMessage(), and ResFindDataEntryFromImage().
◆ ResSelectLocale()
◆ ResLoadedFontFiles
◆ ResLocale
◆ ResMuiImageBase
◆ ResMuiImageSize
◆ ResPeImageBase
◆ ResPeImageBaseFallback
PVOID ResPeImageBaseFallback |
◆ ResPeImageBasePrimary
PVOID ResPeImageBasePrimary |
◆ ResPeImageEnd
◆ ResPeImageEndFallback
PVOID ResPeImageEndFallback |
◆ ResPeImageEndPrimary
PVOID ResPeImageEndPrimary |
◆ ResRootDirectory
◆ ResRootDirectoryFallback
PVOID ResRootDirectoryFallback |
◆ ResRootDirectoryFallbackOffset
◆ ResRootDirectoryOffset
◆ ResRootDirectoryPrimary
PVOID ResRootDirectoryPrimary |
◆ ResRootDirectoryPrimaryOffset