471{
473
474
482
484 {
485 DPRINT1(
"File object was not mapped\n");
487 }
488
489 DPRINT(
"CcMapData(F->%x, %I64x:%d)\n",
493
495
498
500
501
502
504
506 {
511
512 DPRINT(
"Bcb #%x Buffer maps (%I64x) At %x Length %x (Getting %p:%x) %wZ\n",
514 Bcb->FileOffset.QuadPart,
520
523 }
524
525 DPRINT(
"File size %I64x\n",
527
528
529
530
531
532
534 {
537 }
538 else
539 {
541 }
542
543 DPRINT(
"Allocating a cache stripe at %x:%d\n",
544 Target.LowPart, SectionSize);
545
546
547
549
550
552 SectionSize,
553#ifdef PIN_WRITE_ONLY
555#else
557#endif
560
562 {
567 }
568
569retry:
570
573
575 {
579 {
583 }
585
591
592 goto retry;
593 }
594
595 DPRINT(
"BcbHead #%x (final)\n", BcbHead);
596
598 {
603 }
604
605 DPRINT(
"Selected BCB #%x\n", BcbHead);
607
609
610
611
612
617
618
620 {
629 }
630
631
632
633
635
638
643
647
648 DPRINT(
"Bcb #%x Buffer maps (%I64x) At %x Length %x (Getting %p:%lx) %wZ\n",
650 Bcb->FileOffset.QuadPart,
656
657 EndInterval.
QuadPart =
Bcb->FileOffset.QuadPart +
Bcb->Length - 1;
660
664 {
665 if (FaultIn)
666 {
667
670
671 DPRINT(
"Faulting in pages at this point: file %wZ %I64x:%x\n",
673 Bcb->FileOffset.QuadPart,
675
677 {
679 }
680 }
683 }
684 else
685 {
687 }
688
690}
static void cleanup(void)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
#define InsertTailList(ListHead, Entry)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeGetCurrentIrql()
_Must_inspect_result_ _Outptr_ PVOID * SectionObject
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
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T _Inout_opt_ PLARGE_INTEGER _Inout_ PSIZE_T ViewSize
#define CACHE_ROUND_DOWN(x)
#define CACHE_NUM_SECTIONS
NTSTATUS NTAPI MmMapCacheViewInSystemSpaceAtOffset(IN PMM_SECTION_SEGMENT Segment, OUT PVOID *MappedBase, IN PLARGE_INTEGER ViewOffset, IN OUT PULONG ViewSize)
NTSTATUS CcpAllocateSection(PFILE_OBJECT FileObject, ULONG Length, ULONG Protect, PROS_SECTION_OBJECT *Result)
ULONG CcpAllocateCacheSections(PFILE_OBJECT FileObject, PROS_SECTION_OBJECT SectionObject)
PRTL_BITMAP CcCacheBitmap
ULONG CcpFindMatchingMap(PLIST_ENTRY Head, PLARGE_INTEGER FileOffset, ULONG Length)
LARGE_INTEGER ValidDataLength
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject