home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import win32file
- import win32api
- import win32transaction
- import win32con
- import winioctlcon
- import struct
- buf_fmt = 'HHLH0L'
- buf_size = struct.calcsize(buf_fmt)
- tempdir = win32api.GetTempPath()
- tempfile = win32api.GetTempFileName(tempdir, 'cft')[0]
- print tempfile
- f = open(tempfile, 'w')
- f.write('This is original file.\n')
- f.close()
- trans = win32transaction.CreateTransaction(Description = 'Test creating miniversions of a file')
- hfile = win32file.CreateFileW(tempfile, win32con.GENERIC_READ | win32con.GENERIC_WRITE, win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE, None, win32con.OPEN_EXISTING, 0, None, Transaction = trans)
- win32file.WriteFile(hfile, 'This is first miniversion.\n')
- buf = win32file.DeviceIoControl(hfile, winioctlcon.FSCTL_TXFS_CREATE_MINIVERSION, '', buf_size, None)
- (struct_ver, struct_len, base_ver, ver_1) = struct.unpack(buf_fmt, buf)
- win32file.SetFilePointer(hfile, 0, win32con.FILE_BEGIN)
- win32file.WriteFile(hfile, 'This is second miniversion!\n')
- buf = win32file.DeviceIoControl(hfile, winioctlcon.FSCTL_TXFS_CREATE_MINIVERSION, '', buf_size, None)
- (struct_ver, struct_len, base_ver, ver_2) = struct.unpack(buf_fmt, buf)
- hfile.Close()
- hfile_0 = win32file.CreateFileW(tempfile, win32con.GENERIC_READ, win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE, None, win32con.OPEN_EXISTING, 0, None, Transaction = trans, MiniVersion = base_ver)
- print 'version:', base_ver, win32file.ReadFile(hfile_0, 100)
- hfile_0.Close()
- hfile_1 = win32file.CreateFileW(tempfile, win32con.GENERIC_READ, win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE, None, win32con.OPEN_EXISTING, 0, None, Transaction = trans, MiniVersion = ver_1)
- print 'version:', ver_1, win32file.ReadFile(hfile_1, 100)
- hfile_1.Close()
- hfile_2 = win32file.CreateFileW(tempfile, win32con.GENERIC_READ, win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE, None, win32con.OPEN_EXISTING, 0, None, Transaction = trans, MiniVersion = ver_2)
- print 'version:', ver_2, win32file.ReadFile(hfile_2, 100)
- hfile_2.Close()
- win32transaction.CommitTransaction(trans)
-