- DPRINT (" long name entry found at %d\n", *pDirectoryIndex);
- longNameEntry = (slot *) currentPage;
-
- DPRINT (" name chunk1:[%.*S] chunk2:[%.*S] chunk3:[%.*S]\n",
- 5, longNameEntry [indexInPage].name0_4,
- 6, longNameEntry [indexInPage].name5_10,
- 2, longNameEntry [indexInPage].name11_12);
-
- vfat_initstr (pLongFileName, 256);
- vfat_wcsncpy (pLongFileName, longNameEntry [indexInPage].name0_4, 5);
- vfat_wcsncat (pLongFileName, longNameEntry [indexInPage].name5_10, 5, 6);
- vfat_wcsncat (pLongFileName, longNameEntry [indexInPage].name11_12, 11, 2);
-
- DPRINT (" longName: [%S]\n", pLongFileName);
-
- cpos = 0;
- while ((longNameEntry [indexInPage].id != 0x41) &&
- (longNameEntry [indexInPage].id != 0x01) &&
- (longNameEntry [indexInPage].attr > 0))
- {
- (*pDirectoryIndex)++;
- indexInPage++;
- if (indexInPage == ENTRIES_PER_CACHEPAGE(pDeviceExt))
- {
- indexInPage = 0;
- pageNumber++;
-
- CcUnpinData(Context);
- FileOffset.QuadPart = pageNumber * CACHEPAGESIZE(pDeviceExt);
- if (!CcMapData(pDirectoryFCB->FileObject, &FileOffset,
- CACHEPAGESIZE(pDeviceExt), TRUE, &Context, ¤tPage))
- {
- return STATUS_UNSUCCESSFUL;
- }
- longNameEntry = (slot *) currentPage;
- }
- DPRINT (" index %d\n", *pDirectoryIndex);
-
- DPRINT (" name chunk1:[%.*S] chunk2:[%.*S] chunk3:[%.*S]\n",
- 5, longNameEntry [indexInPage].name0_4,
- 6, longNameEntry [indexInPage].name5_10,
- 2, longNameEntry [indexInPage].name11_12);
-
- cpos++;
- vfat_movstr (pLongFileName, 13, 0, cpos * 13);
- vfat_wcsncpy (pLongFileName, longNameEntry [indexInPage].name0_4, 5);
- vfat_wcsncat (pLongFileName, longNameEntry [indexInPage].name5_10, 5, 6);
- vfat_wcsncat (pLongFileName, longNameEntry [indexInPage].name11_12, 11, 2);
-
- DPRINT (" longName: [%S]\n", pLongFileName);
-
- }
- (*pDirectoryIndex)++;
- indexInPage++;
- if (indexInPage == ENTRIES_PER_CACHEPAGE(pDeviceExt))
- {
- indexInPage = 0;
- pageNumber++;
-
- CcUnpinData(Context);
- FileOffset.QuadPart = pageNumber * CACHEPAGESIZE(pDeviceExt);
- if (!CcMapData(pDirectoryFCB->FileObject, &FileOffset,
- CACHEPAGESIZE(pDeviceExt), TRUE, &Context, ¤tPage))
- {
- return STATUS_UNSUCCESSFUL;
- }
- }