g() As Byte, uscStrSize As Long) Dim i As Long Dim temp As String For i = 0 To uscStrSize - 1 Step 2 temp = szString(i) szString(i) = szString(i + 1) szString(i + 1) = temp Next i End Sub
Private Function hdid9x() As String
''''We start in 95/98/Me h = CreateFile("\\.\Smartvsd", 0, 0, 0, CREATE_NEW, 0, 0) If h = 0 Then hdid9x = "open smartvsd.vxd failed" Exit Function End If
Dim olp As OVERLAPPED Dim lRet As Long lRet = DeviceIoControl(h, DFP_GET_VERSION, ByVal 0&, 0, vers, Len(vers), ByVal i, olp) If lRet = 0 Then hdid9x = "DeviceIoControl failed:DFP_GET_VERSION" CloseHandle (h) Exit Function End If
''''If IDE identify command not supported, fails If (vers.fCapabilities And 1) <> 1 Then hdid9x = "Error: IDE identify command not supported." CloseHandle (h) Exit Function End If
''''Display IDE drive number detected Dim sPreOutStr As String sPreOutStr = DetectIDE(vers.bIDEDeviceMap) hdid9x = sPreOutStr
''''Identify the IDE drives For j = 0 To 3 Dim phdinfo As TIDSECTOR Dim s(40) As Byte If (j And 1) = 1 Then in_data.irDriveRegs.bDriveHeadReg = &HB0 Else in_data.irDriveRegs.bDriveHeadReg = &HA0 End If If (vers.fCapabilities And (16 \ (2 ^ j))) = (16 \ (2 ^ j)) Then ''''We don''''t detect a ATAPI device. hdid9x = "Drive " & CStr(j + 1) & " is a ATAPI device, we don''''t detect it" Else in_data.irDriveRegs.bCommandReg = &HEC in_data.bDriveNumber = j in_data.irDriveRegs.bSectorCountReg = 1 in_data.irDriveRegs.bSectorNumberReg = 1 in_data.cBufferSize = 512 lRet = DeviceIoControl(h, DFP_RECEIVE_DRIVE_DATA, in_data, Len(in_data), out_data, Len(out_data), ByVal i, olp) If lRet = 0 Then hdid9x = "DeviceIoControl failed:DFP_RECEIVE_DRIVE_DATA" CloseHandle (h) Exit Function End If Dim StrOut As String CopyMemory phdinfo, out_data.bBuffer(0), Len(phdinfo) CopyMemory s(0), phdinfo.sModelNumber(0), 40 s(40) = 0 ChangeByteOrder s, 40 StrOut = ByteArrToString(s, 40) hdid9x = hdid9x & vbCrLf & "Module Number:" & StrOut CopyMemory s(0), phdinfo.sFirmwareRev(0), 8 s(8) = 0 ChangeByteOrder s, 8 StrOut = ByteArrToString(s, 8) hdid9x = hdid9x & vbCrLf & "Firmware rev:" & StrOut CopyMemory s(0), phdinfo.sSerialNumber(0), 20 s(20) = 0 ChangeByteOrder s, 20 StrOut = ByteArrToString(s, 20) hdid9x = hdid9x & vbCrLf & "Serial Number:" & StrOut CopyMemory s(0), phdinfo.ulTotalAddressableSectors(0), 4 s(5) = 0 Dim dblStrOut As Double dblStrOut = ByteArrToLong(s) hdid9x = hdid9x & vbCrLf & "Capacity:" & dblStrOut / 2 / 1024 & "M" End If Next j
''''Close handle before quit CloseHandle (h) CopyRight
End Function
Private Function hdidnt() As String Dim hd As String * 80 Dim phdinfo As TIDSECTOR Dim s(40) As Byte Dim StrOut As String
hdidnt = "" ''''We start in NT/Win2000
上一页 [1] [2] [Sql Server]直接从SQL语句问题贴子数据建表并生成建表语句的存…
|