Index: /trunk/include/iprt/vfslowlevel.h
===================================================================
--- /trunk/include/iprt/vfslowlevel.h	(revision 73107)
+++ /trunk/include/iprt/vfslowlevel.h	(revision 73108)
@@ -316,6 +316,6 @@
     /** The structure version (RTVFSOBJSETOPS_VERSION). */
     uint32_t                uVersion;
-    /** The offset to the RTVFSOBJOPS structure. */
-    int32_t                 offObjOps;
+    /** The offset back to the RTVFSOBJOPS structure. */
+    uint32_t                offObjOps;
 
     /**
Index: /trunk/src/VBox/Runtime/common/vfs/vfsbase.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/vfs/vfsbase.cpp	(revision 73107)
+++ /trunk/src/VBox/Runtime/common/vfs/vfsbase.cpp	(revision 73108)
@@ -120,4 +120,17 @@
         AssertPtrNull((pIoStreamOps)->pfnZeroFill); \
         Assert((pIoStreamOps)->uEndMarker == RTVFSIOSTREAMOPS_VERSION); \
+    } while (0)
+
+/** Asserts that the VFS I/O stream vtable is valid. */
+#define RTVFSFILE_ASSERT_OPS(pFileOps, a_enmType) \
+    do { \
+        RTVFSIOSTREAM_ASSERT_OPS(&(pFileOps)->Stream, a_enmType); \
+        Assert((pFileOps)->uVersion == RTVFSFILEOPS_VERSION); \
+        Assert((pFileOps)->fReserved == 0); \
+        AssertPtr((pFileOps)->pfnSeek); \
+        AssertPtrNull((pFileOps)->pfnQuerySize); \
+        AssertPtrNull((pFileOps)->pfnSetSize); \
+        AssertPtrNull((pFileOps)->pfnQueryMaxSize); \
+        Assert((pFileOps)->uEndMarker == RTVFSFILEOPS_VERSION); \
     } while (0)
 
@@ -3848,9 +3861,5 @@
      * Validate the input, be extra strict in strict builds.
      */
-    AssertPtr(pFileOps);
-    AssertReturn(pFileOps->uVersion   == RTVFSFILEOPS_VERSION, VERR_VERSION_MISMATCH);
-    AssertReturn(pFileOps->uEndMarker == RTVFSFILEOPS_VERSION, VERR_VERSION_MISMATCH);
-    Assert(!pFileOps->fReserved);
-    RTVFSIOSTREAM_ASSERT_OPS(&pFileOps->Stream, RTVFSOBJTYPE_FILE);
+    RTVFSFILE_ASSERT_OPS(pFileOps, RTVFSOBJTYPE_FILE);
     Assert(cbInstance > 0);
     Assert(fOpen & (RTFILE_O_ACCESS_MASK | RTFILE_O_ACCESS_ATTR_MASK));
