📄 test.py
字号:
#python
import win32com.client
import pythoncom
import win32com.server.util
import msvcrt
import ctypes
import os
from array import *
from win32com import universal
from win32com.server.util import wrap
universal.RegisterInterfaces('{aaadcf2c-39ae-4faa-bfc7-7b83d02ebc4f}', 0, 1, 0, ["IVirtualDriveHandler"])
g_disk_size = 16;
class CVirtualDriveHandler:
_public_methods_ = ['OnReadData','OnWriteData']
_com_interfaces_ = ['IVirtualDriveHandler']
def __init__(self):
self.m_data = ctypes.create_string_buffer(g_disk_size*1024*1024)
def OnReadData(self, Offset,Size,Buffer):
Offset = int(Offset)
print '===> OnReadData',Offset,Size
Buffer = buffer(self.m_data, Offset, Size)
return (0,Buffer,Size)
def OnWriteData(self, Offset,Size,Buffer):
Offset = int(Offset)
print '===> OnWriteData',Offset,Size
for i in range(0,Size):
self.m_data[Offset+i] = Buffer[i]
return Size
#create server and client instance
server = win32com.client.dynamic.Dispatch("VDSDK.VirtualDrivesManager")
client = CVirtualDriveHandler()
clientIUnknown = wrap(client)
#initialize SDK
if server.InitializeVDSDK() == False:
print 'Error: can not initialize VDSDK'
os._exit(1)
handle = server.CreateVirtualDrive(ord('Z'),g_disk_size,clientIUnknown)
if handle != -1:
print 'VirtualDrive created. Handle =',handle
print 'Press any key to quit'
msvcrt.getch()
print 'Destroying virtual drive...'
result = server.DestroyVirtualDrive(handle,1)
if result:
print 'OK'
else:
print 'ERROR'
else:
print 'ERROR: Can not create virtual drive'
server.ShutdownVDSDK(True)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -