* FILE: ntoskrnl/mm/pagefile.c
* PURPOSE: Paging file functions
* PROGRAMMER: David Welch (welch@mcmail.com)
+ * Pierre Schweitzer
* UPDATE HISTORY:
* Created 22/05/98
*/
/* TYPES *********************************************************************/
-typedef struct _PAGINGFILE
+typedef struct _MMPAGING_FILE
{
PFILE_OBJECT FileObject;
HANDLE FileHandle;
PRTL_BITMAP AllocMap;
KSPIN_LOCK AllocMapLock;
}
-PAGINGFILE, *PPAGINGFILE;
+MMPAGING_FILE, *PMMPAGING_FILE;
/* GLOBALS *******************************************************************/
#define MAX_PAGING_FILES (16)
/* List of paging files, both used and free */
-static PPAGINGFILE MmPagingFile[MAX_PAGING_FILES];
+static PMMPAGING_FILE MmPagingFile[MAX_PAGING_FILES];
/* Lock for examining the list of paging files */
static KSPIN_LOCK PagingFileListLock;
KEVENT Event;
UCHAR MdlBase[sizeof(MDL) + sizeof(ULONG)];
PMDL Mdl = (PMDL)MdlBase;
- PPAGINGFILE PagingFile;
+ PMMPAGING_FILE PagingFile;
DPRINT("MiReadSwapFile\n");
}
static ULONG
-MiAllocPageFromPagingFile(PPAGINGFILE PagingFile)
+MiAllocPageFromPagingFile(PMMPAGING_FILE PagingFile)
{
KIRQL oldIrql;
ULONG off;
ULONG i;
ULONG_PTR off;
KIRQL oldIrql;
- PPAGINGFILE PagingFile;
+ PMMPAGING_FILE PagingFile;
i = FILE_FROM_ENTRY(Entry);
off = OFFSET_FROM_ENTRY(Entry) - 1;
HANDLE FileHandle;
IO_STATUS_BLOCK IoStatus;
PFILE_OBJECT FileObject;
- PPAGINGFILE PagingFile;
+ PMMPAGING_FILE PagingFile;
KIRQL oldIrql;
ULONG AllocMapSize;
ULONG Count;
RtlClearAllBits(PagingFile->AllocMap);
KeAcquireSpinLock(&PagingFileListLock, &oldIrql);
- MmNumberOfPagingFiles++;
+ ASSERT(MmPagingFile[MmNumberOfPagingFiles] == NULL);
MmPagingFile[MmNumberOfPagingFiles] = PagingFile;
+ MmNumberOfPagingFiles++;
MiFreeSwapPages = MiFreeSwapPages + PagingFile->FreePages;
KeReleaseSpinLock(&PagingFileListLock, oldIrql);