VOID CcInitializeCacheMap(IN PFILE_OBJECT FileObject,
IN PCC_FILE_SIZES FileSizes,IN BOOLEAN PinAccess,IN PCACHE_MANAGER_CALLBACKS CallBacks,IN PVOID LazyWriterContext)
{
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcInitializeCacheMap: FileObject=0x%lX,"
+ "FileSizes,->AllocationSize=0x%lX,->FileSize=0x%lX,->ValidDataLength=0x%lX,"
+ "PinAccess=%d,Callbacks,LazyWriteContext",
+ (long)FileObject,
+ (!FileSizes ? -1 : (long)FileSizes->AllocationSize.QuadPart),
+ (!FileSizes ? -1 : (long)FileSizes->FileSize.QuadPart),
+ (!FileSizes ? -1 : (long)FileSizes->ValidDataLength.QuadPart),
+ PinAccess);
+
g_return_if_fail(FileObject!=NULL);
g_return_if_fail(FileSizes!=NULL);
g_return_if_fail(CallBacks!=NULL);
- g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,"
- "FileSizes->AllocationSize=0x%llX,FileSizes->FileSize=0x%llX,FileSizes->ValidDataLength=0x%llX,"
- "PinAccess=%d,CallBacks=%p,LazyWriterContext=%p",G_STRLOC,
- FileObject,(guint64)FileSizes->AllocationSize.QuadPart,(guint64)FileSizes->FileSize.QuadPart,
- (guint64)FileSizes->ValidDataLength.QuadPart,(gint)PinAccess,CallBacks,LazyWriterContext);
-
/* VERIFIED: CcInitializeCacheMap() has already 'SectionObjectPointers' allocated. */
g_return_if_fail(FileObject->SectionObjectPointers!=NULL);
captive_shared_cache_map_get_ref(FileObject,FileSizes,PinAccess,CallBacks,LazyWriterContext);
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcInitializeCacheMap");
}
IN PLARGE_INTEGER TruncateSize OPTIONAL,IN PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent OPTIONAL)
{
CaptiveSharedCacheMapObject *SharedCacheMap;
+BOOLEAN r;
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcUninitializeCacheMap: FileObject=0x%lX,TruncateSize=0x%lX,UninitializeCompleteEvent=0x%lX",
+ (long)FileObject,(!TruncateSize ? -1 : (long)TruncateSize->QuadPart),(long)UninitializeCompleteEvent);
g_return_val_if_fail(FileObject!=NULL,FALSE);
/* assert current size ==*TruncateSize if TruncateSize */
- g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,TruncateSize=0x%llX,UninitializeCompleteEvent=%p",
- G_STRLOC,FileObject,(guint64)(!TruncateSize ? -1 : TruncateSize->QuadPart),UninitializeCompleteEvent);
-
if (FileObject->SectionObjectPointers && !FileObject->SectionObjectPointers->SharedCacheMap)
- return FALSE;
+ r=FALSE;
+ else {
+ SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
- SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
+ captive_shared_cache_map_w32_unref(SharedCacheMap);
+
+ /* FIXME: should we do KePulseEvent? Are we allowed to signal from inside CcUninitializeCacheMap() ? */
+ if (UninitializeCompleteEvent)
+ KeSetEvent(
+ &UninitializeCompleteEvent->Event, /* Event */
+ IO_NO_INCREMENT, /* Increment */
+ FALSE); /* Wait */
- captive_shared_cache_map_w32_unref(SharedCacheMap);
+ r=(FileObject->SectionObjectPointers->SharedCacheMap==NULL);
+ }
- /* FIXME: should we do KePulseEvent? Are we allowed to signal from inside CcUninitializeCacheMap() ? */
- if (UninitializeCompleteEvent)
- KeSetEvent(
- &UninitializeCompleteEvent->Event, /* Event */
- IO_NO_INCREMENT, /* Increment */
- FALSE); /* Wait */
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcUninitializeCacheMap: r=%d",r);
- return (FileObject->SectionObjectPointers->SharedCacheMap==NULL);
+ return r;
}
{
CaptiveSharedCacheMapObject *SharedCacheMap;
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcSetFileSizes: FileObject=0x%lX,"
+ "FileSizes,->AllocationSize=0x%lX,->FileSize=0x%lX,->ValidDataLength=0x%lX",
+ (long)FileObject,
+ (!FileSizes ? -1 : (long)FileSizes->AllocationSize.QuadPart),
+ (!FileSizes ? -1 : (long)FileSizes->FileSize.QuadPart),
+ (!FileSizes ? -1 : (long)FileSizes->ValidDataLength.QuadPart));
+
g_return_if_fail(FileObject!=NULL);
g_return_if_fail(FileSizes!=NULL);
- g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,"
- "FileSizes->AllocationSize=0x%llX,FileSizes->FileSize=0x%llX,FileSizes->ValidDataLength=0x%llX",G_STRLOC,
- FileObject,(guint64)FileSizes->AllocationSize.QuadPart,(guint64)FileSizes->FileSize.QuadPart,
- (guint64)FileSizes->ValidDataLength.QuadPart);
-
SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
captive_shared_cache_map_FileSizes_set(SharedCacheMap,FileSizes);
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcSetFileSizes");
}