/* void * alloca(size_t size); */
#elif defined(_MSC_VER)
void* _alloca(size_t size);
+#define alloca _alloca
#else
#error Unknown compiler for alloca intrinsic stack allocation "function"
#endif
{
Size = CacheSeg->Bcb->CacheSegmentSize;
}
+ //
+ // Nonpaged pool PDEs in ReactOS must actually be synchronized between the
+ // MmGlobalPageDirectory and the real system PDE directory. What a mess...
+ //
+ {
+ int i = 0;
+ do
+ {
+ MmGetPfnForProcess(NULL, (PVOID)((ULONG_PTR)CacheSeg->BaseAddress + (i << PAGE_SHIFT)));
+ } while (++i < (Size >> PAGE_SHIFT));
+ }
Mdl = alloca(MmSizeOfMdl(CacheSeg->BaseAddress, Size));
MmInitializeMdl(Mdl, CacheSeg->BaseAddress, Size);
MmBuildMdlForNonPagedPool(Mdl);
/*
* @unimplemented
*/
-BOOLEAN STDCALL
+BOOLEAN NTAPI
CcCanIWrite (
IN PFILE_OBJECT FileObject,
IN ULONG BytesToWrite,
/*
* @implemented
*/
-BOOLEAN STDCALL
+BOOLEAN NTAPI
CcCopyRead (IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
IN ULONG Length,
/*
* @implemented
*/
-BOOLEAN STDCALL
+BOOLEAN NTAPI
CcCopyWrite (IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
IN ULONG Length,
* @unimplemented
*/
VOID
-STDCALL
+NTAPI
CcDeferWrite (
IN PFILE_OBJECT FileObject,
IN PCC_POST_DEFERRED_WRITE PostRoutine,
* @unimplemented
*/
VOID
-STDCALL
+NTAPI
CcFastCopyRead (
IN PFILE_OBJECT FileObject,
IN ULONG FileOffset,
* @unimplemented
*/
VOID
-STDCALL
+NTAPI
CcFastCopyWrite(
IN PFILE_OBJECT FileObject,
IN ULONG FileOffset,
* @unimplemented
*/
NTSTATUS
-STDCALL
+NTAPI
CcWaitForCurrentLazyWriterActivity (
VOID
)
/*
* @implemented
*/
-BOOLEAN STDCALL
+BOOLEAN NTAPI
CcZeroData (IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER StartOffset,
IN PLARGE_INTEGER EndOffset,
{
CurrentLength = Length;
}
- MmInitializeMdl(Mdl, (PVOID)(ULONG_PTR)WriteOffset.QuadPart, CurrentLength);
+ MmInitializeMdl(Mdl, (PVOID)WriteOffset.u.LowPart, CurrentLength);
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
for (i = 0; i < ((Mdl->Size - sizeof(MDL)) / sizeof(ULONG)); i++)
{