⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apietc.bas

📁 usb pci detection to usb port device
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "APIetc"
Option Explicit
' ############################################################################
' API Constants
Public Const GENERIC_READ                                   As Long = &H80000000
Public Const GENERIC_WRITE                                  As Long = &H40000000

Public Const OPEN_EXISTING                                  As Integer = 3
Public Const FILE_ATTRIBUTE_NORMAL                          As Long = &H80

Public Const FILE_ANY_ACCESS                                As Integer = &H0
Public Const FILE_READ_ACCESS                               As Integer = &H1
Public Const FILE_WRITE_ACCESS                              As Integer = &H2

Public Const SWP_NOMOVE                                     As Long = &H2
Public Const SWP_NOSIZE                                     As Long = &H1
Public Const HWND_TOPMOST                                   As Integer = -1

'Shared Ram Interface Memory Offset constants
Public Const SRI_GENI_SETUP_OFFSET                          As Long = 2178
Public Const SRI_GENI_STATUS_OFFSET                         As Long = 2194
Public Const SRI_COMMAND_OFFSET                             As Long = 2242
Public Const SRI_TRANSMIT_DATAGRAM_OFFSET                   As Long = 2258
Public Const SRI_READ_DATAGRAM_OFFSET                       As Long = 2498

Public Const SRI_SBA00_DEVICE_CONFIG_OFFSET                 As Long = 7680
Public Const SRI_SBA01_DEVICE_CONFIG_OFFSET                 As Long = 7688
Public Const SRI_SBA02_DEVICE_CONFIG_OFFSET                 As Long = 7696
Public Const SRI_SBA03_DEVICE_CONFIG_OFFSET                 As Long = 7704
Public Const SRI_SBA04_DEVICE_CONFIG_OFFSET                 As Long = 7712
Public Const SRI_SBA05_DEVICE_CONFIG_OFFSET                 As Long = 7720
Public Const SRI_SBA06_DEVICE_CONFIG_OFFSET                 As Long = 7728
Public Const SRI_SBA07_DEVICE_CONFIG_OFFSET                 As Long = 7736
Public Const SRI_SBA08_DEVICE_CONFIG_OFFSET                 As Long = 7744
Public Const SRI_SBA09_DEVICE_CONFIG_OFFSET                 As Long = 7752
Public Const SRI_SBA10_DEVICE_CONFIG_OFFSET                 As Long = 7760
Public Const SRI_SBA11_DEVICE_CONFIG_OFFSET                 As Long = 7768
Public Const SRI_SBA12_DEVICE_CONFIG_OFFSET                 As Long = 7776
Public Const SRI_SBA13_DEVICE_CONFIG_OFFSET                 As Long = 7784
Public Const SRI_SBA14_DEVICE_CONFIG_OFFSET                 As Long = 7792
Public Const SRI_SBA15_DEVICE_CONFIG_OFFSET                 As Long = 7800
Public Const SRI_SBA16_DEVICE_CONFIG_OFFSET                 As Long = 7808
Public Const SRI_SBA17_DEVICE_CONFIG_OFFSET                 As Long = 7816
Public Const SRI_SBA18_DEVICE_CONFIG_OFFSET                 As Long = 7824
Public Const SRI_SBA19_DEVICE_CONFIG_OFFSET                 As Long = 7832
Public Const SRI_SBA20_DEVICE_CONFIG_OFFSET                 As Long = 7840
Public Const SRI_SBA21_DEVICE_CONFIG_OFFSET                 As Long = 7848
Public Const SRI_SBA22_DEVICE_CONFIG_OFFSET                 As Long = 7856
Public Const SRI_SBA23_DEVICE_CONFIG_OFFSET                 As Long = 7864
Public Const SRI_SBA24_DEVICE_CONFIG_OFFSET                 As Long = 7872
Public Const SRI_SBA25_DEVICE_CONFIG_OFFSET                 As Long = 7880
Public Const SRI_SBA26_DEVICE_CONFIG_OFFSET                 As Long = 7888
Public Const SRI_SBA27_DEVICE_CONFIG_OFFSET                 As Long = 7896
Public Const SRI_SBA28_DEVICE_CONFIG_OFFSET                 As Long = 7904
Public Const SRI_SBA29_DEVICE_CONFIG_OFFSET                 As Long = 7912
Public Const SRI_SBA30_DEVICE_CONFIG_OFFSET                 As Long = 7920
Public Const SRI_SBA31_DEVICE_CONFIG_OFFSET                 As Long = 7928

Public Const SRI_BROADCAST_CONTROL_OUTPUT_TABLE_OFFSET      As Long = 8064

Public Const SRI_SBA00_DEVICE_IO_TABLE_OFFSET               As Long = 8192
Public Const SRI_SBA01_DEVICE_IO_TABLE_OFFSET               As Long = 8320
Public Const SRI_SBA02_DEVICE_IO_TABLE_OFFSET               As Long = 8448
Public Const SRI_SBA03_DEVICE_IO_TABLE_OFFSET               As Long = 8576
Public Const SRI_SBA04_DEVICE_IO_TABLE_OFFSET               As Long = 8704
Public Const SRI_SBA05_DEVICE_IO_TABLE_OFFSET               As Long = 8832
Public Const SRI_SBA06_DEVICE_IO_TABLE_OFFSET               As Long = 8960
Public Const SRI_SBA07_DEVICE_IO_TABLE_OFFSET               As Long = 9088
Public Const SRI_SBA08_DEVICE_IO_TABLE_OFFSET               As Long = 9216
Public Const SRI_SBA09_DEVICE_IO_TABLE_OFFSET               As Long = 9344
Public Const SRI_SBA10_DEVICE_IO_TABLE_OFFSET               As Long = 9472
Public Const SRI_SBA11_DEVICE_IO_TABLE_OFFSET               As Long = 9600
Public Const SRI_SBA12_DEVICE_IO_TABLE_OFFSET               As Long = 9728
Public Const SRI_SBA13_DEVICE_IO_TABLE_OFFSET               As Long = 9856
Public Const SRI_SBA14_DEVICE_IO_TABLE_OFFSET               As Long = 9984
Public Const SRI_SBA15_DEVICE_IO_TABLE_OFFSET               As Long = 10112
Public Const SRI_SBA16_DEVICE_IO_TABLE_OFFSET               As Long = 10240
Public Const SRI_SBA17_DEVICE_IO_TABLE_OFFSET               As Long = 10368
Public Const SRI_SBA18_DEVICE_IO_TABLE_OFFSET               As Long = 10496
Public Const SRI_SBA19_DEVICE_IO_TABLE_OFFSET               As Long = 10624
Public Const SRI_SBA20_DEVICE_IO_TABLE_OFFSET               As Long = 10752
Public Const SRI_SBA21_DEVICE_IO_TABLE_OFFSET               As Long = 10880
Public Const SRI_SBA22_DEVICE_IO_TABLE_OFFSET               As Long = 11008
Public Const SRI_SBA23_DEVICE_IO_TABLE_OFFSET               As Long = 11136
Public Const SRI_SBA24_DEVICE_IO_TABLE_OFFSET               As Long = 11264
Public Const SRI_SBA25_DEVICE_IO_TABLE_OFFSET               As Long = 11392
Public Const SRI_SBA26_DEVICE_IO_TABLE_OFFSET               As Long = 11520
Public Const SRI_SBA27_DEVICE_IO_TABLE_OFFSET               As Long = 11648
Public Const SRI_SBA28_DEVICE_IO_TABLE_OFFSET               As Long = 11776
Public Const SRI_SBA29_DEVICE_IO_TABLE_OFFSET               As Long = 11904
Public Const SRI_SBA30_DEVICE_IO_TABLE_OFFSET               As Long = 12032
Public Const SRI_SBA31_DEVICE_IO_TABLE_OFFSET               As Long = 12160

'Public variables
Public LocationResult                                       As Integer
Public InitializationResult                                 As Integer
    'Initialization result of constructor
Public SerialBusAddress                                     As Integer
    'Serial bus address assigned to the PCGEN card
Public cGEGENIUS                                            As String
Public hWin32Device                                         As Long
Public MemoryBaseAddress                                    As Long
Public Outputs                                              As GENI_Outputs
Public BaudRate                                             As GENI_BaudRate
Public Node                                                 As Integer
Public Device                                               As Integer

Public SRI_Device_Config_Offset(31)                         As Long
Public SRI_Device_IO_Table_Offset(31)                       As Long
Public DeviceConfig(31)                                     As DEVICE_CONFIG

'API Functions
Public Declare Function CreateFile Lib "KERNEL32" Alias "CreateFileA" (ByVal lpFileName As String, _
                                                                       ByVal dwDesiredAccess As Long, _
                                                                       ByVal dwShareMode As Long, _
                                                                       lpSecurityAttributes As Long, _
                                                                       ByVal dwCreationDisposition As Long, _
                                                                       ByVal dwFlagsAndAttributes As Long, _
                                                                       ByVal hTemplateFile As Long) As Long
Public Declare Function DeviceIoControl Lib "KERNEL32" (ByVal hDevice As Long, _
                                                        ByVal dwIoControlCode As Long, _
                                                        ByRef lpInBuffer As Any, _
                                                        ByVal nInBufferSize As Long, _
                                                        ByRef lpOutBuffer As Any, _
                                                        ByVal nOutBufferSize As Long, _
                                                        ByRef lpBytesReturned As Long, _
                                                        ByVal lpOverlapped As Long) As Long
Public Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (Destination As Any, _
                                                                    Source As Any, _
                                                                    ByVal Length As Long)
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
                                                    ByVal hWndInsertAfter As Long, _
                                                    ByVal X As Long, _
                                                    ByVal Y As Long, _
                                                    ByVal cx As Long, _
                                                    ByVal cy As Long, _
                                                    ByVal wFlags As Long) As Long
Public Declare Function CloseHandle Lib "KERNEL32" (ByVal hObject As Long) As Long
Public Declare Function GetTickCount Lib "kernel32.dll" () As Long

Public Function BinaryToDecimal(Bin As Variant) As String
Dim Binary1  As String
Dim Decimal1 As Long
Dim A        As Integer
    For A = 1 To Len(Bin)
        If Mid$(Bin, A, 1) <> "0" Then
            If Mid$(Bin, A, 1) <> "1" Then

                Exit Function

            End If
        End If
    Next A
    Decimal1 = 0
    Binary1 = Bin
    For A = 1 To Len(Binary1)
        Decimal1 = Decimal1 * 2 + Mid$(Binary1, A, 1)
    Next A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -