+static LONG RamDiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
+{
+ //
+ // Only accept absolute mode now
+ //
+ if (SeekMode != SeekAbsolute)
+ return EINVAL;
+
+ //
+ // Check if we're in the ramdisk
+ //
+ if (Position->HighPart != 0)
+ return EINVAL;
+ if (Position->LowPart >= gRamDiskSize)
+ return EINVAL;
+
+ //
+ // OK, remember seek position
+ //
+ gRamDiskOffset = Position->LowPart;
+
+ return ESUCCESS;
+}
+
+static const DEVVTBL RamDiskVtbl = {
+ RamDiskClose,
+ RamDiskGetFileInformation,
+ RamDiskOpen,
+ RamDiskRead,
+ RamDiskSeek,
+};
+