IN PLARGE_INTEGER FileOffset,IN ULONG Length,IN BOOLEAN Wait,OUT PVOID Buffer,OUT PIO_STATUS_BLOCK IoStatus)
{
CaptiveSharedCacheMapObject *SharedCacheMap;
+BOOLEAN r;
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcCopyRead: FileObject=0x%lX,FileOffset=0x%lX,Length=0x%lX,Wait=%d,Buffer=0x%lX",
+ (long)FileObject,(!FileOffset ? -1 : (long)FileOffset->QuadPart),Length,Wait,(long)Buffer);
g_return_val_if_fail(FileObject!=NULL,FALSE);
g_return_val_if_fail(FileOffset!=NULL,FALSE);
g_return_val_if_fail(Buffer!=NULL,FALSE);
g_return_val_if_fail(IoStatus!=NULL,FALSE);
- g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,FileOffset=0x%llX,Length=0x%lX,Wait=%d",G_STRLOC,
- FileObject,(guint64)FileOffset->QuadPart,(gulong)Length,(gint)Wait);
-
SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
captive_shared_cache_map_data_validate_read(SharedCacheMap,FileObject,FileOffset->QuadPart,FileOffset->QuadPart+Length);
IoStatus->Status=STATUS_SUCCESS;
IoStatus->Information=Length;
+ r=TRUE;
- return TRUE;
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcCopyRead: r=%d,IoStatus->Status=0x%lX,IoStatus->Information=0x%lX",
+ r,(!IoStatus ? -1 : (long)IoStatus->Status),(!IoStatus ? -1 : (long)IoStatus->Information));
+
+ return r;
}
IN PLARGE_INTEGER FileOffset,IN ULONG Length,IN BOOLEAN Wait,IN PVOID Buffer)
{
CaptiveSharedCacheMapObject *SharedCacheMap;
+BOOLEAN r;
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcCopyWrite: FileObject=0x%lX,FileOffset=0x%lX,Length=0x%lX,Wait=%d,Buffer=0x%lX",
+ (long)FileObject,(!FileOffset ? -1 : (long)FileOffset->QuadPart),Length,Wait,(long)Buffer);
g_return_val_if_fail(FileObject!=NULL,FALSE);
g_return_val_if_fail(FileOffset!=NULL,FALSE);
g_return_val_if_fail(Wait==TRUE,FALSE);
g_return_val_if_fail(Buffer!=NULL,FALSE);
- g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,FileOffset=0x%llX,Length=0x%lX,Wait=%d",G_STRLOC,
- FileObject,(guint64)FileOffset->QuadPart,(gulong)Length,(gint)Wait);
-
g_assert(0==CAPTIVE_ROUND_DOWN_EXCEEDING64(FileOffset->QuadPart,PAGE_SIZE)); /* NOT YET IMPLEMENTED */
- g_assert(0==CAPTIVE_ROUND_DOWN_EXCEEDING(Length,PAGE_SIZE)); /* NOT YET IMPLEMENTED */
+ /* 'Length' may not be PAGE_SIZE aligned */
SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
captive_shared_cache_map_set_data_valid(SharedCacheMap,FileOffset->QuadPart,FileOffset->QuadPart+Length);
memcpy(captive_shared_cache_map_get_buffer(SharedCacheMap)+FileOffset->QuadPart,Buffer,Length);
captive_shared_cache_map_set_dirty(SharedCacheMap,FileOffset->QuadPart,FileOffset->QuadPart+Length);
+ r=TRUE;
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcCopyWrite: r=%d",r);
- return TRUE;
+ return r;
}
BOOLEAN CcZeroData(IN PFILE_OBJECT FileObject,IN PLARGE_INTEGER StartOffset,IN PLARGE_INTEGER EndOffset,IN BOOLEAN Wait)
{
CaptiveSharedCacheMapObject *SharedCacheMap;
+BOOLEAN r;
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcZeroData: FileObject=0x%lX,StartOffset=0x%lX,EndOffset=0x%lX,Wait=%d",
+ (long)FileObject,
+ (!StartOffset ? -1 : (long)StartOffset->QuadPart),
+ (!EndOffset ? -1 : (long)EndOffset->QuadPart),
+ Wait);
g_return_val_if_fail(FileObject!=NULL,FALSE);
g_return_val_if_fail(StartOffset!=NULL,FALSE);
captive_shared_cache_map_set_data_valid(SharedCacheMap,StartOffset->QuadPart,EndOffset->QuadPart);
memset(captive_shared_cache_map_get_buffer(SharedCacheMap)+StartOffset->QuadPart,0,EndOffset->QuadPart-StartOffset->QuadPart);
captive_shared_cache_map_set_dirty(SharedCacheMap,StartOffset->QuadPart,EndOffset->QuadPart);
+ r=TRUE;
+
+ g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcZeroData: r=%d",r);
- return TRUE;
+ return r;
}