196 slot * longNameEntry;
220 if (*pContext !=
NULL)
244 longNameEntry = (
slot*) fatDirEntry;
284 longNameEntry = (
slot*) fatDirEntry;
321 longNameEntry = (
slot*) *pPage;
361 DPRINT(
" name chunk1:[%.*S] chunk2:[%.*S] chunk3:[%.*S]\n",
366 index = longNameEntry->
id & 0x3f;
374 dirMap |= 1 <<
index;
381 if (longNameEntry->
id & 0x40)
388 DPRINT1(
"Long name entry has invalid index: %x!\n", longNameEntry->
id);
394 DPRINT1(
"Found wrong alias checksum in long name entry (first %x, current %x, %S)\n",
402 for (
i = 0;
i < 11;
i++)
404 shortCheckSum = (((shortCheckSum & 1) << 7)
405 | ((shortCheckSum & 0xfe) >> 1))
411 DPRINT1(
"Checksum from long and short name is not equal (short: %x, long: %x, %S)\n",
451 longNameEntry = (
slot*) *pPage;
struct _LARGE_INTEGER::@2253 u
#define FAT_ENTRY_END(DirEntry)
#define STATUS_NO_MORE_ENTRIES
unsigned char alias_checksum
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
VOID NTAPI CcUnpinData(IN PVOID Bcb)
#define FAT_ENTRIES_PER_PAGE
#define FAT_ENTRY_LONG(DirEntry)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
unsigned char ShortName[11]
#define FAT_ENTRY_DELETED(DirEntry)
FSRTL_COMMON_FCB_HEADER RFCB
BOOLEAN NTAPI CcMapData(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG Flags, OUT PVOID *BcbResult, OUT PVOID *Buffer)
NTSTATUS vfatFCBInitializeCacheFromVolume(PVCB vcb, PVFATFCB fcb)
#define NT_SUCCESS(StatCode)
#define EXCEPTION_EXECUTE_HANDLER
_In_ PFCB _In_ PDIRENT_ENUM_CONTEXT DirContext
UCHAR CheckSum(LPSTR p, ULONG Len)
VOID vfat8Dot3ToString(PFAT_DIR_ENTRY pEntry, PUNICODE_STRING NameU)
#define ROUND_DOWN(n, align)
struct _FATDirEntry * PFAT_DIR_ENTRY
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_ PFCB _In_ LONGLONG FileOffset
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)