亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cdiskinfo.cls

?? 讀取磁盤序列號 讀取磁盤序列號 讀取磁盤序列號
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
    Case VER_PLATFORM_WIN32s
        OpenSMART = hSMARTIOCTL
    Case VER_PLATFORM_WIN32_WINDOWS
        ' Version Windows 95 OSR2, Windows 98
        hSMARTIOCTL = CreateFile("\\.\SMARTVSD", 0, 0, 0, CREATE_NEW, 0, 0)
    Case VER_PLATFORM_WIN32_NT
        ' Windows NT, Windows 2000
        If nDrive < MAX_IDE_DRIVES Then
            hd = "\\.\PhysicalDrive" & nDrive
            hSMARTIOCTL = CreateFile(hd, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0)
        End If
    End Select
    OpenSMART = hSMARTIOCTL
End Function

'/****************************************************************************
'*
'* DoIDENTIFY
'*
'* FUNCTION: Send an IDENTIFY command to the drive
'* bDriveNum = 0-3
'* bIDCmd = IDE_ID_FUNCTION or IDE_ATAPI_ID
'*
'****************************************************************************/
Private Function DoIDENTIFY(ByVal hSMARTIOCTL As Long, pSCIP As SENDCMDINPARAMS, pSCOP() As Byte, ByVal bIDCmd As Byte, ByVal bDriveNum As Byte, lpcbBytesReturned As Long) As Boolean
    '
    ' Set up data structures for IDENTIFY command.
    '

    pSCIP.cBufferSize = IDENTIFY_BUFFER_SIZE

    pSCIP.irDriveRegs.bFeaturesReg = 0
    pSCIP.irDriveRegs.bSectorCountReg = 1
    pSCIP.irDriveRegs.bSectorNumberReg = 1
    pSCIP.irDriveRegs.bCylLowReg = 0
    pSCIP.irDriveRegs.bCylHighReg = 0

    '
    ' Compute the drive number.
    '
    pSCIP.irDriveRegs.bDriveHeadReg = &HA0 Or ((bDriveNum And 1) * 2 ^ 4)

    '
    ' The command can either be IDE identify or ATAPI identify.
    '
    pSCIP.irDriveRegs.bCommandReg = bIDCmd
    pSCIP.bDriveNumber = bDriveNum
    pSCIP.cBufferSize = IDENTIFY_BUFFER_SIZE
    
    DoIDENTIFY = CBool(DeviceIoControl(hSMARTIOCTL, DFP_RECEIVE_DRIVE_DATA, _
                pSCIP, LenB(pSCIP) - 1, _
                pSCOP(0), UBound(pSCOP), _
                lpcbBytesReturned, 0))
End Function


'/****************************************************************************
'*
'* DoEnableSMART
'*
'* FUNCTION: Send a SMART_ENABLE_SMART_OPERATIONS command to the drive
'* bDriveNum = 0-3
'*
'****************************************************************************/
Private Function DoEnableSMART(ByVal hSMARTIOCTL As Long, pSCIP As SENDCMDINPARAMS, pSCOP As SENDCMDOUTPARAMS, ByVal bDriveNum As Byte, lpcbBytesReturned As Long) As Boolean
    '
    ' Set up data structures for Enable SMART Command.
    '
    pSCIP.cBufferSize = 0

    pSCIP.irDriveRegs.bFeaturesReg = SMART_ENABLE_SMART_OPERATIONS
    pSCIP.irDriveRegs.bSectorCountReg = 1
    pSCIP.irDriveRegs.bSectorNumberReg = 1
    pSCIP.irDriveRegs.bCylLowReg = SMART_CYL_LOW
    pSCIP.irDriveRegs.bCylHighReg = SMART_CYL_HI

    '
    ' Compute the drive number.
    '
    pSCIP.irDriveRegs.bDriveHeadReg = &HA0 Or ((bDriveNum And 1) * 2 ^ 4)
    pSCIP.irDriveRegs.bCommandReg = IDE_EXECUTE_SMART_FUNCTION
    pSCIP.bDriveNumber = bDriveNum

    DoEnableSMART = CBool(DeviceIoControl(hSMARTIOCTL, DFP_SEND_DRIVE_COMMAND, _
                pSCIP, LenB(pSCIP) - 1, _
                pSCOP, LenB(pSCOP) - 1, _
                lpcbBytesReturned, 0))
End Function

'---------------------------------------------------------------------
'---------------------------------------------------------------------
Private Sub ChangeByteOrder(szString() As Byte, ByVal uscStrSize As Integer)

    Dim i As Integer
    Dim bTemp As Byte

    For i = 0 To uscStrSize - 1 Step 2
        bTemp = szString(i)
        szString(i) = szString(i + 1)
        szString(i + 1) = bTemp
    Next i
End Sub

'/****************************************************************************
'*
'* DisplayIdInfo
'*
'* Display the contents of the ID buffer
'*
'****************************************************************************/
Private Sub DisplayIdInfo(pids As IDSECTOR, pSCIP As SENDCMDINPARAMS, ByVal bIDCmd As Byte, ByVal bDfpDriveMap As Byte, ByVal bDriveNum As Byte)
    ChangeByteOrder pids.sModelNumber, UBound(pids.sModelNumber) + 1

    ChangeByteOrder pids.sFirmwareRev, UBound(pids.sFirmwareRev) + 1

    ChangeByteOrder pids.sSerialNumber, UBound(pids.sSerialNumber) + 1
End Sub
Public Function GetDiskInfo(ByVal nDrive As Byte) As Long
    Dim hSMARTIOCTL As Long
    Dim cbBytesReturned As Long
    Dim VersionParams As GETVERSIONOUTPARAMS
    Dim scip As SENDCMDINPARAMS
    Dim scop() As Byte
    Dim OutCmd As SENDCMDOUTPARAMS
    Dim bDfpDriveMap As Byte
    Dim bIDCmd As Byte                    ' IDE or ATAPI IDENTIFY cmd
    Dim uDisk As IDSECTOR
    ' Clear buffer
    m_DiskInfo = uDisk
    '
    ' Try to get a handle to SMART IOCTL, report failure and exit if
    ' can't.
    '
    hSMARTIOCTL = OpenSMART(nDrive)
    If hSMARTIOCTL <> INVALID_HANDLE_VALUE Then
        '
        ' Get the version, etc of SMART IOCTL
        '

        Call DeviceIoControl(hSMARTIOCTL, DFP_GET_VERSION, ByVal 0, 0, VersionParams, Len(VersionParams), cbBytesReturned, 0)

        '
        ' If there is a IDE device at number "nDrive" issue commands
        ' to the device.
        '
        'if (VersionParams.bIDEDeviceMap >> nDrive & 1)
        '{

        '
        ' Try to enable SMART so we can tell if a drive supports it.
        ' Ignore ATAPI devices.
        '

        If Not (VersionParams.bIDEDeviceMap \ 2 ^ nDrive And &H10) Then
            If DoEnableSMART(hSMARTIOCTL, scip, OutCmd, nDrive, cbBytesReturned) Then
                '
                ' Mark the drive as SMART enabled
                '
                bDfpDriveMap = bDfpDriveMap Or 2 ^ nDrive
            End If
        End If


        '
        ' Now, get the ID sector for all IDE devices in the system.
        ' If the device is ATAPI use the IDE_ATAPI_ID command,
        ' otherwise use the IDE_ID_FUNCTION command.
        '
        bIDCmd = IIf((VersionParams.bIDEDeviceMap \ 2 ^ nDrive And &H10), IDE_ATAPI_ID, IDE_ID_FUNCTION)
        
        ReDim scop(LenB(OutCmd) + IDENTIFY_BUFFER_SIZE - 1) As Byte
        If DoIDENTIFY(hSMARTIOCTL, scip, scop, bIDCmd, nDrive, cbBytesReturned) Then
            CopyMemory m_DiskInfo, scop(LenB(OutCmd) - 4), LenB(m_DiskInfo)
            Call DisplayIdInfo(m_DiskInfo, scip, bIDCmd, bDfpDriveMap, nDrive)
            '
            ' Close SMART.
            '
            CloseHandle hSMARTIOCTL
            GetDiskInfo = 1
            Exit Function
        End If
        '}
        '
        ' Close SMART.
        '
        CloseHandle hSMARTIOCTL
        GetDiskInfo = 0
    Else
        GetDiskInfo = -1
    End If
End Function

Public Property Get pGenConfig() As Long
    pGenConfig = VBIntegerToUShort(m_DiskInfo.wGenConfig)
End Property

Public Property Get pNumCyls() As Long
    pNumCyls = VBIntegerToUShort(m_DiskInfo.wNumCyls)
End Property

Public Property Get pNumHeads() As Long
    pNumHeads = VBIntegerToUShort(m_DiskInfo.wNumHeads)
End Property

Public Property Get pBytesPerTrack() As Long
    pBytesPerTrack = VBIntegerToUShort(m_DiskInfo.wBytesPerTrack)
End Property

Public Property Get pBytesPerSector() As Long
    pBytesPerSector = VBIntegerToUShort(m_DiskInfo.wBytesPerSector)
End Property

Public Property Get pSectorsPerTrack() As Long
    pSectorsPerTrack = VBIntegerToUShort(m_DiskInfo.wSectorsPerTrack)
End Property

Public Property Get pSerialNumber() As Byte()
    pSerialNumber = m_DiskInfo.sSerialNumber
End Property

Public Property Get pBufferType() As Long
    pBufferType = VBIntegerToUShort(m_DiskInfo.wBufferType)
End Property

Public Property Get pBufferSize() As Long
    pBufferSize = VBIntegerToUShort(m_DiskInfo.wBufferSize)
End Property

Public Property Get pECCSize() As Long
    pECCSize = VBIntegerToUShort(m_DiskInfo.wECCSize)
End Property

Public Property Get pFirmwareRev() As Byte()
    pFirmwareRev = m_DiskInfo.sFirmwareRev
End Property

Public Property Get pModelNumber() As Byte()
    pModelNumber = m_DiskInfo.sModelNumber
End Property

Public Property Get pDoubleWordIO() As Long
    pDoubleWordIO = VBIntegerToUShort(m_DiskInfo.wDoubleWordIO)
End Property

Public Property Get pCapabilities() As Long
    pCapabilities = VBIntegerToUShort(m_DiskInfo.wCapabilities)
End Property

Public Property Get pPIOTiming() As Long
    pPIOTiming = VBIntegerToUShort(m_DiskInfo.wPIOTiming)
End Property

Public Property Get pDMATiming() As Long
    pDMATiming = VBIntegerToUShort(m_DiskInfo.wDMATiming)
End Property

Public Property Get pBS() As Long
    pBS = VBIntegerToUShort(m_DiskInfo.wBS)
End Property

Public Property Get pNumCurrentCyls() As Long
    pNumCurrentCyls = VBIntegerToUShort(m_DiskInfo.wNumCurrentCyls)
End Property

Public Property Get pNumCurrentHeads() As Long
    pNumCurrentHeads = VBIntegerToUShort(m_DiskInfo.wNumCurrentHeads)
End Property

Public Property Get pNumCurrentSectorsPerTrack() As Long
    pNumCurrentSectorsPerTrack = VBIntegerToUShort(m_DiskInfo.wNumCurrentSectorsPerTrack)
End Property

Public Property Get pCurrentSectorCapacity() As Long
    pCurrentSectorCapacity = m_DiskInfo.ulCurrentSectorCapacity
End Property

Public Property Get pMultSectorStuff() As Long
    pMultSectorStuff = VBIntegerToUShort(m_DiskInfo.wMultSectorStuff)
End Property

Public Property Get pTotalAddressableSectors() As Long
    pTotalAddressableSectors = m_DiskInfo.ulTotalAddressableSectors
End Property

Public Property Get pSingleWordDMA() As Long
    pSingleWordDMA = VBIntegerToUShort(m_DiskInfo.wSingleWordDMA)
End Property

Public Property Get pMultiWordDMA() As Long
    pMultiWordDMA = VBIntegerToUShort(m_DiskInfo.wMultiWordDMA)
End Property

Private Function VBIntegerToUShort(ByVal i As Integer) As Long
    Call CopyMemory(VBIntegerToUShort, i, 2)
End Function






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美喷潮久久久xxxxx| 国产精品亚洲一区二区三区妖精| 99视频在线精品| 亚洲视频一区二区在线| 一本一道综合狠狠老| 亚洲精品少妇30p| 欧美视频在线不卡| 亚洲第一狼人社区| 日韩情涩欧美日韩视频| 精品在线观看视频| 国产视频亚洲色图| 成人a级免费电影| 亚洲美女免费视频| 欧美在线观看一二区| 三级在线观看一区二区| 欧美一区二区免费观在线| 乱中年女人伦av一区二区| 2020国产精品自拍| 成人听书哪个软件好| 亚洲激情在线激情| 日韩一区二区电影网| 国产传媒日韩欧美成人| 亚洲欧美成人一区二区三区| 欧美视频一区在线观看| 精品一区二区在线看| 国产免费成人在线视频| 色综合天天综合网天天狠天天 | 婷婷丁香久久五月婷婷| 欧美一级黄色片| 成人网男人的天堂| 亚洲电影激情视频网站| 久久久久久麻豆| 色婷婷av久久久久久久| 日韩电影在线一区二区| 中文无字幕一区二区三区| 91激情五月电影| 精品在线观看免费| 亚洲丝袜美腿综合| 日韩女优电影在线观看| caoporm超碰国产精品| 日韩专区中文字幕一区二区| 中国色在线观看另类| 欧美巨大另类极品videosbest | 亚洲精品自拍动漫在线| 日韩欧美成人一区二区| 91一区一区三区| 九色porny丨国产精品| 亚洲精品视频在线观看网站| 久久先锋影音av| 欧美性大战久久久久久久| 成人一区二区三区在线观看| 天天色 色综合| 国产精品白丝在线| 精品国产精品网麻豆系列| 欧美网站大全在线观看| 99在线精品一区二区三区| 日韩成人dvd| 一区二区三区四区在线播放| 国产校园另类小说区| 精品伦理精品一区| 欧美撒尿777hd撒尿| 99精品1区2区| 懂色av中文字幕一区二区三区| 免费国产亚洲视频| 亚洲123区在线观看| 一区二区三区中文免费| 国产精品亲子乱子伦xxxx裸| 久久夜色精品一区| 精品欧美一区二区久久| 欧美男人的天堂一二区| 在线亚洲免费视频| 91福利区一区二区三区| 99久久国产综合精品色伊| 丁香一区二区三区| 国产成人精品免费一区二区| 国产一区二区免费看| 国内精品嫩模私拍在线| 久久精品国产久精国产| 久久99国内精品| 久久机这里只有精品| 黑人巨大精品欧美一区| 久久福利视频一区二区| 国模套图日韩精品一区二区| 久久99久国产精品黄毛片色诱| 日本v片在线高清不卡在线观看| 午夜电影网亚洲视频| 亚洲成人av一区| 午夜影视日本亚洲欧洲精品| 五月天久久比比资源色| 亚洲超碰精品一区二区| 日韩电影免费在线看| 免费观看在线色综合| 美女网站色91| 国精产品一区一区三区mba视频| 麻豆免费精品视频| 国产精品亚洲第一| 成人福利视频在线看| 日本精品视频一区二区三区| 欧美在线观看视频一区二区 | 99国产精品国产精品毛片| 99在线精品观看| 欧洲日韩一区二区三区| 欧美浪妇xxxx高跟鞋交| 欧美不卡一区二区三区四区| 久久精品视频一区二区三区| 国产精品国产自产拍在线| 亚洲精品国产第一综合99久久| 洋洋成人永久网站入口| 免费三级欧美电影| 国产精品一区专区| 99精品在线观看视频| 欧美剧情电影在线观看完整版免费励志电影| 在线播放/欧美激情| xnxx国产精品| 亚洲欧美国产三级| 青青草原综合久久大伊人精品 | 亚洲欧美日韩国产中文在线| 亚洲大片免费看| 国产又黄又大久久| 99re66热这里只有精品3直播| 欧美在线制服丝袜| 精品美女一区二区| 尤物在线观看一区| 麻豆精品视频在线| 99久久久无码国产精品| 制服丝袜中文字幕一区| 亚洲国产成人在线| 三级亚洲高清视频| 成人午夜电影网站| 欧美一卡在线观看| 亚洲少妇屁股交4| 看片网站欧美日韩| 91国在线观看| 久久精品亚洲麻豆av一区二区| 亚洲一区二区精品视频| 狂野欧美性猛交blacked| 色偷偷一区二区三区| 久久久久97国产精华液好用吗| 亚洲黄色免费电影| 国产成人免费视频| 欧美一区二区性放荡片| 亚洲另类一区二区| 国产精品综合在线视频| 欧美老年两性高潮| 一区二区三区在线看| 国产91高潮流白浆在线麻豆 | 日韩av电影天堂| 91免费看`日韩一区二区| 精品久久国产字幕高潮| 日韩在线a电影| 一本色道**综合亚洲精品蜜桃冫| 国产亚洲一区二区在线观看| 蜜桃一区二区三区在线观看| 欧美性色欧美a在线播放| 国产精品国产a| 国产不卡免费视频| 久久天天做天天爱综合色| 视频一区二区中文字幕| 欧美亚洲国产bt| 亚洲狠狠丁香婷婷综合久久久| 国产91丝袜在线播放| 久久亚洲精品小早川怜子| 蜜臀av一区二区在线免费观看| 欧美喷潮久久久xxxxx| 亚洲无线码一区二区三区| 色综合色综合色综合色综合色综合| 国产欧美日韩视频一区二区| 国产一区二区福利视频| 日韩精品一区二区三区三区免费 | 懂色av一区二区在线播放| 久久综合久久99| 韩国一区二区三区| 久久久综合视频| 国产传媒日韩欧美成人| 欧美国产日韩亚洲一区| 国产不卡高清在线观看视频| 久久麻豆一区二区| 国产精品一区不卡| 欧美经典一区二区| 成人久久18免费网站麻豆| 国产精品视频麻豆| 99精品热视频| 一区二区三区鲁丝不卡| 欧美在线高清视频| 婷婷综合另类小说色区| 欧美浪妇xxxx高跟鞋交| 日本美女一区二区三区| 日韩三区在线观看| 激情综合网最新| 欧美国产视频在线| 91免费版pro下载短视频| 亚洲成人午夜电影| 日韩欧美国产一区二区三区| 国产曰批免费观看久久久| 国产女主播视频一区二区| 97久久超碰国产精品电影| 亚洲宅男天堂在线观看无病毒 | 欧美一区二区在线免费播放| 日本大胆欧美人术艺术动态| 精品国产髙清在线看国产毛片|