Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" ( _
lpString1 As Any, lpString2 As Any _
) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" ( _
lpString As Any _
) As Long
Private Declare Function CreateFile Lib "kernel32.dll" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, lpSecurityAttributes As Any, _
ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long _
) As Long
Private Declare Function DeviceIoControl Lib "kernel32" ( _
ByVal hDevice As Long, ByVal dwIoControlCode As Long, _
lpInBuffer As Any, ByVal nInBufferSize As Long, _
lpOutBuffer As Any, ByVal nOutBufferSize As Long, _
lpBytesReturned As Long, lpOverlapped As Any _
) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hObject As Long _
) As Long
Private Const OPEN_EXISTING As Long = 3&
Private Const FILE_SHARE_READ As Long = &H1&
Private Const FILE_SHARE_WRITE As Long = &H2&
Private Const GENERIC_READ As Long = &H80000000
Private Const IOCTL_STORAGE_QUERY_PROPERTY As Long = &H2D1400
Private Type STORAGE_PROPERTY_QUERY
PropertyId As STORAGE_PROPERTY_ID
QueryType As STORAGE_QUERY_TYPE
AdditionalParameters As Byte
End Type
Public Type DEVICE_INFORMATION
Valid As Boolean
BusType As STORAGE_BUS_TYPE
Removable As Boolean
VendorID As String
ProductID As String
ProductRevision As String
End Type
Private Type STORAGE_DEVICE_DESCRIPTOR
Version As Long
Size As Long
DeviceType As Byte
DeviceTypeModifier As Byte
RemovableMedia As Byte
CommandQueueing As Byte
VendorIdOffsetQueueing iceType_ertyId Pp'Cs Byte
VendorIdOfe_ertyId Pp'Cs Byte cVersRpSia oi As Long
Size As StrafTg ttO "RDaf Size d Size Any, lpString2 As IString2 As InzorDIoaf Size VendaSa(DString2 As InzorDIoaf Size af Size f Size SizePRei Dy DVDcInzorDIoaf Sid d Size Naf MD ByVaGs)DtrfTgpr r d Si. By NNNNNNNNNNNNNNNNNNNNNNNNN&=gpr r d p(ev,NNNS _ iasgprrrrrrrrra lOFklbtvle
VendoFklbtvle
uUp(orDIoaf Size c d S Size ersion r=b d Si. By NNNNNNNNNNNNNNNNNNNNNNeclareEc(eMMMMMMMMMMR
areEc(eM Typ AnyuR
areEcuVDcIi VendoFk(bCng2 As InzorDIoaf Size afrSAInzonzorDIoaf CoPD" ( _ueueing yVaw Dy ( r=b d mVal dwShai Funn=ASa9I yVaw Dy ( r=8sueueingl dwS