Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Structure SCSI_PASS_THROUGH_DIRECT ;PACK
- Length.w ;0
- ScsiStatus.b ;2
- PathId.b ;3
- TargetId.b ;4
- Lun.b ;5
- CdbLength.b ;6
- SenseInfoLength.b ; 7
- DataIn.b ; 8
- __pack1.b
- __pack2.b
- __pack3.b
- DataTransferLength.l ; 9 / 12
- TimeOutValue.l
- DataBuffer.l
- SenseInfoOffset.l
- Cdb.b[16]
- EndStructure
- #SCSI_IOCTL_DATA_OUT = 0
- #SCSI_IOCTL_DATA_IN = 1
- #SCSI_IOCTL_DATA_UNSPECIFIED= 2
- Procedure _sendData(*p.SCSI_PASS_THROUGH_DIRECT, *buffer, len)
- *p\Length = SizeOf(SCSI_PASS_THROUGH_DIRECT)
- *p\ScsiStatus=-1
- *p\PathId=-1
- *p\TargetId=-1
- *p\Lun=-1
- *p\CdbLength=16
- *p\SenseInfoLength=24
- *p\DataIn=#SCSI_IOCTL_DATA_OUT
- *p\DataTransferLength=len ;65536
- *p\TimeOutValue=5
- *p\DataBuffer=*buffer
- *p\SenseInfoOffset=48
- *p\Cdb[0]=-39
- *p\Cdb[1]=42
- *p\Cdb[2]=-1
- *p\Cdb[3]=0
- *p\Cdb[4]=0
- *p\Cdb[5]=0
- *p\Cdb[6]=0
- *p\Cdb[7]=0
- *p\Cdb[8]=0
- *p\Cdb[9]=0
- *p\Cdb[10]=0
- *p\Cdb[11]=0
- *p\Cdb[12]=0
- *p\Cdb[13]=0
- *p\Cdb[14]=79
- *p\Cdb[15]=84
- EndProcedure
- Procedure _readData(*p.SCSI_PASS_THROUGH_DIRECT, *buffer, len)
- *p\Length = SizeOf(SCSI_PASS_THROUGH_DIRECT)
- *p\ScsiStatus=-1
- *p\PathId=-1
- *p\TargetId=-1
- *p\Lun=-1
- *p\CdbLength=16
- *p\SenseInfoLength=24
- *p\DataIn=#SCSI_IOCTL_DATA_IN
- *p\DataTransferLength=len ;65536
- *p\TimeOutValue=5
- *p\DataBuffer=*buffer
- *p\SenseInfoOffset=48
- *p\Cdb[0]=-39
- *p\Cdb[1]=40
- *p\Cdb[2]=100
- *p\Cdb[3]=0
- *p\Cdb[4]=0
- *p\Cdb[5]=0
- *p\Cdb[6]=0
- *p\Cdb[7]=0
- *p\Cdb[8]=58
- *p\Cdb[9]=0
- *p\Cdb[10]=0
- *p\Cdb[11]=0
- *p\Cdb[12]=0
- *p\Cdb[13]=0
- *p\Cdb[14]=79
- *p\Cdb[15]=84
- EndProcedure
- buf = AllocateMemory(65536)
- dev = CreateFile_("\\.\F:", #GENERIC_READ|#GENERIC_WRITE, #FILE_SHARE_READ | #FILE_SHARE_WRITE,0,#OPEN_EXISTING,0,0)
- Debug 7
- in = AllocateMemory(112)
- A$="Hello Ps"+Space(65536)
- Repeat
- t=t+1
- _sendData(in,@A$,65536)
- DeviceIoControl_(dev,315412,in,112,in,112,@ret,#Null)
- ;
- _readData(in,buf, 65536)
- DeviceIoControl_(dev,315412,in,112,in,112,@ret,#Null)
- Debug ret
- Debug PeekS(buf)
- Delay(100)
- ForEver
- Debug ret
- CloseHandle_(dev)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement