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

📄 usbiocomlib_tlb.pas

📁 USB上位机驱动的DEMO程序源代码,基于ARM或其它下位机的上位机驱动
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit USBIOCOMLib_TLB;

// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// PASTLWTR : $Revision:   1.88  $
// File generated on 03.08.2005 16:40:28 from Type Library described below.

// *************************************************************************//
// NOTE:                                                                      
// Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties  
// which return objects that may need to be explicitly created via a function 
// call prior to any access via the property. These items have been disabled  
// in order to prevent accidental use from within the object inspector. You   
// may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively   
// removing them from the $IFDEF blocks. However, such items must still be    
// programmatically created via a method of the appropriate CoClass before    
// they can be used.                                                          
// ************************************************************************ //
// Type Lib: W:\_Thesycon\UsbIo\bin\release\USBIOCOM.dll (1)
// IID\LCID: {F95AB400-6BA5-44DD-BF19-AAB5AD44CD65}\0
// Helpfile: 
// DepndLst: 
//   (1) v2.0 stdole, (C:\WINDOWS\system32\stdole2.tlb)
// Errors:
//   Hint: Parameter 'Type' of IUSBIOInterface3.ClassOrVendorInRequest changed to 'Type_'
//   Hint: Parameter 'Type' of IUSBIOInterface3.ClassOrVendorOutRequest changed to 'Type_'
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
interface

uses Windows, ActiveX, Classes, Graphics, OleServer, OleCtrls, StdVCL;

// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLASS_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
const
  // TypeLibrary Major and minor versions
  USBIOCOMLibMajorVersion = 3;
  USBIOCOMLibMinorVersion = 0;

  LIBID_USBIOCOMLib: TGUID = '{F95AB400-6BA5-44DD-BF19-AAB5AD44CD65}';

  DIID__IUSBIOInterfaceEvents3: TGUID = '{3C83A43F-CFD4-4781-8949-04EDDBD3E191}';
  IID_IUSBIOInterface3: TGUID = '{775938FE-790A-476E-BA6D-20BE61EFE5BC}';
  CLASS_USBIOInterface3: TGUID = '{B949A098-6A08-4EEE-B32D-CA0D19BBF24E}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                    
// *********************************************************************//
// Constants for enum _USBIOCOM_ERR_CODES
type
  _USBIOCOM_ERR_CODES = TOleEnum;
const
  USBIO_ERR_SUCCESS = $00000000;
  USBIO_ERR_CRC = $E0000001;
  USBIO_ERR_BTSTUFF = $E0000002;
  USBIO_ERR_DATA_TOGGLE_MISMATCH = $E0000003;
  USBIO_ERR_STALL_PID = $E0000004;
  USBIO_ERR_DEV_NOT_RESPONDING = $E0000005;
  USBIO_ERR_PID_CHECK_FAILURE = $E0000006;
  USBIO_ERR_UNEXPECTED_PID = $E0000007;
  USBIO_ERR_DATA_OVERRUN = $E0000008;
  USBIO_ERR_DATA_UNDERRUN = $E0000009;
  USBIO_ERR_RESERVED1 = $E000000A;
  USBIO_ERR_RESERVED2 = $E000000B;
  USBIO_ERR_BUFFER_OVERRUN = $E000000C;
  USBIO_ERR_BUFFER_UNDERRUN = $E000000D;
  USBIO_ERR_NOT_ACCESSED = $E000000F;
  USBIO_ERR_FIFO = $E0000010;
  USBIO_ERR_XACT_ERROR = $E0000011;
  USBIO_ERR_BABBLE_DETECTED = $E0000012;
  USBIO_ERR_DATA_BUFFER_ERROR = $E0000013;
  USBIO_ERR_ENDPOINT_HALTED = $E0000030;
  USBIO_ERR_NO_MEMORY = $E0000100;
  USBIO_ERR_INVALID_URB_FUNCTION = $E0000200;
  USBIO_ERR_INVALID_PARAMETER = $E0000300;
  USBIO_ERR_ERROR_BUSY = $E0000400;
  USBIO_ERR_REQUEST_FAILED = $E0000500;
  USBIO_ERR_INVALID_PIPE_HANDLE = $E0000600;
  USBIO_ERR_NO_BANDWIDTH = $E0000700;
  USBIO_ERR_INTERNAL_HC_ERROR = $E0000800;
  USBIO_ERR_ERROR_SHORT_TRANSFER = $E0000900;
  USBIO_ERR_BAD_START_FRAME = $E0000A00;
  USBIO_ERR_ISOCH_REQUEST_FAILED = $E0000B00;
  USBIO_ERR_FRAME_CONTROL_OWNED = $E0000C00;
  USBIO_ERR_FRAME_CONTROL_NOT_OWNED = $E0000D00;
  USBIO_ERR_NOT_SUPPORTED = $E0000E00;
  USBIO_ERR_INVALID_CONFIGURATION_DESCRIPTOR = $E0000F00;
  USBIO_ERR_INSUFFICIENT_RESOURCES = $E8001000;
  USBIO_ERR_SET_CONFIG_FAILED = $E0002000;
  USBIO_ERR_USBD_BUFFER_TOO_SMALL = $E0003000;
  USBIO_ERR_USBD_INTERFACE_NOT_FOUND = $E0004000;
  USBIO_ERR_INVALID_PIPE_FLAGS = $E0005000;
  USBIO_ERR_USBD_TIMEOUT = $E0006000;
  USBIO_ERR_DEVICE_GONE = $E0007000;
  USBIO_ERR_STATUS_NOT_MAPPED = $E0008000;
  USBIO_ERR_CANCELED = $E0010000;
  USBIO_ERR_ISO_NOT_ACCESSED_BY_HW = $E0020000;
  USBIO_ERR_ISO_TD_ERROR = $E0030000;
  USBIO_ERR_ISO_NA_LATE_USBPORT = $E0040000;
  USBIO_ERR_ISO_NOT_ACCESSED_LATE = $E0050000;
  USBIO_ERR_FAILED = $E0001000;
  USBIO_ERR_INVALID_INBUFFER = $E0001001;
  USBIO_ERR_INVALID_OUTBUFFER = $E0001002;
  USBIO_ERR_OUT_OF_MEMORY = $E0001003;
  USBIO_ERR_PENDING_REQUESTS = $E0001004;
  USBIO_ERR_ALREADY_CONFIGURED = $E0001005;
  USBIO_ERR_NOT_CONFIGURED = $E0001006;
  USBIO_ERR_OPEN_PIPES = $E0001007;
  USBIO_ERR_ALREADY_BOUND = $E0001008;
  USBIO_ERR_NOT_BOUND = $E0001009;
  USBIO_ERR_DEVICE_NOT_PRESENT = $E000100A;
  USBIO_ERR_CONTROL_NOT_SUPPORTED = $E000100B;
  USBIO_ERR_TIMEOUT = $E000100C;
  USBIO_ERR_INVALID_RECIPIENT = $E000100D;
  USBIO_ERR_INVALID_TYPE = $E000100E;
  USBIO_ERR_INVALID_IOCTL = $E000100F;
  USBIO_ERR_INVALID_DIRECTION = $E0001010;
  USBIO_ERR_TOO_MUCH_ISO_PACKETS = $E0001011;
  USBIO_ERR_POOL_EMPTY = $E0001012;
  USBIO_ERR_PIPE_NOT_FOUND = $E0001013;
  USBIO_ERR_INVALID_ISO_PACKET = $E0001014;
  USBIO_ERR_OUT_OF_ADDRESS_SPACE = $E0001015;
  USBIO_ERR_INTERFACE_NOT_FOUND = $E0001016;
  USBIO_ERR_INVALID_DEVICE_STATE = $E0001017;
  USBIO_ERR_INVALID_PARAM = $E0001018;
  USBIO_ERR_DEMO_EXPIRED = $E0001019;
  USBIO_ERR_INVALID_POWER_STATE = $E000101A;
  USBIO_ERR_POWER_DOWN = $E000101B;
  USBIO_ERR_VERSION_MISMATCH = $E000101C;
  USBIO_ERR_SET_CONFIGURATION_FAILED = $E000101D;
  USBIO_ERR_ADDITIONAL_EVENT_SIGNALLED = $E000101E;
  USBIO_ERR_INVALID_PROCESS = $E000101F;
  USBIO_ERR_DEVICE_ACQUIRED = $E0001020;
  USBIO_ERR_DEVICE_OPENED = $E0001021;
  USBIO_ERR_VID_RESTRICTION = $E0001080;
  USBIO_ERR_ISO_RESTRICTION = $E0001081;
  USBIO_ERR_BULK_RESTRICTION = $E0001082;
  USBIO_ERR_EP0_RESTRICTION = $E0001083;
  USBIO_ERR_PIPE_RESTRICTION = $E0001084;
  USBIO_ERR_PIPE_SIZE_RESTRICTION = $E0001085;
  USBIO_ERR_CONTROL_RESTRICTION = $E0001086;
  USBIO_ERR_INTERRUPT_RESTRICTION = $E0001087;
  USBIO_ERR_DEVICE_NOT_FOUND = $E0001100;
  USBIO_ERR_DEVICE_NOT_OPEN = $E0001102;
  USBIO_ERR_NO_SUCH_DEVICE_INSTANCE = $E0001104;
  USBIO_ERR_INVALID_FUNCTION_PARAM = $E0001105;
  USBIO_ERR_LOAD_SETUP_API_FAILED = $E0001106;
  USBIO_ERR_DEVICE_ALREADY_OPENED = $E0001107;
  USBIO_ERR_NOT_ENUMERATED = $E000A001;
  USBIO_ERR_TOO_MANY_INTERFACES = $E000A002;
  USBIO_ERR_NO_INTERFACE = $E000A003;
  USBIO_ERR_START_THREAD_FAILED = $E000A004;
  USBIO_ERR_NO_DATA = $E000A005;
  USBIO_ERR_BUFFER_TOO_SMALL = $E000A006;
  USBIO_ERR_THREAD_IS_RUNNING = $E000A007;
  USBIO_ERR_INVALID_PIPE_TYPE = $E000A008;
  USBIO_ERR_NO_BUFFER = $E000A009;
  USBIO_ERR_BUFFER_TOO_LARGE = $E000A00A;
  USBIO_ERR_WRITE_NOT_STARTED = $E000A00B;
  USBIO_ERR_READ_NOT_STARTED = $E000A00C;
  USBIO_ERR_INVALID_ISO_BUFFER = $E000A00D;
  USBIO_ERR_STATUS_ARRAY_TOO_SMALL = $E000A00E;
  USBIO_ERR_INVALID_ARRAY = $E000A00F;
  USBIO_ERR_DEVICE_ALREADY_OPEN = $E000A010;
  USBIO_ERR_ALREADY_CALLED = $E000A011;

// Constants for enum _USBIOCOM_INFO_FLAGS
type
  _USBIOCOM_INFO_FLAGS = TOleEnum;
const
  USBIOCOM_INFOFLAG_CHECKED_BUILD = $00000010;
  USBIOCOM_INFOFLAG_DEMO_VERSION = $00000020;
  USBIOCOM_INFOFLAG_LIGHT_VERSION = $00000100;

// Constants for enum _USBIOCOM_DEVICE_OPTION_FLAGS
type
  _USBIOCOM_DEVICE_OPTION_FLAGS = TOleEnum;
const
  USBIOCOM_RESET_DEVICE_ON_CLOSE = $00000001;
  USBIOCOM_UNCONFIGURE_ON_CLOSE = $00000002;
  USBIOCOM_ENABLE_REMOTE_WAKEUP = $00000004;

// Constants for enum _USBIOCOM_PIPE_OPTION_FLAGS
type
  _USBIOCOM_PIPE_OPTION_FLAGS = TOleEnum;
const
  USBIOCOM_SHORT_TRANSFER_OK = $00010000;

// Constants for enum _USBIOCOM_REQUEST_RECIPIENT
type
  _USBIOCOM_REQUEST_RECIPIENT = TOleEnum;
const
  USBIOCOM_RecipientDevice = $00000000;
  USBIOCOM_RecipientInterface = $00000001;
  USBIOCOM_RecipientEndpoint = $00000002;
  USBIOCOM_RecipientOther = $00000003;

// Constants for enum _USBIOCOM_REQUEST_TYPE
type
  _USBIOCOM_REQUEST_TYPE = TOleEnum;
const
  USBIOCOM_RequestTypeClass = $00000001;
  USBIOCOM_RequestTypeVendor = $00000002;

// Constants for enum _USBIOCOM_PIPE_TYPE
type
  _USBIOCOM_PIPE_TYPE = TOleEnum;
const
  USBIOCOM_PipeTypeControl = $00000000;
  USBIOCOM_PipeTypeIsochronous = $00000001;
  USBIOCOM_PipeTypeBulk = $00000002;
  USBIOCOM_PipeTypeInterrupt = $00000003;

// Constants for enum _USBIOCOM_DEVICE_POWER_STATE
type
  _USBIOCOM_DEVICE_POWER_STATE = TOleEnum;
const
  USBIOCOM_DevicePowerStateD0 = $00000000;
  USBIOCOM_DevicePowerStateD1 = $00000001;
  USBIOCOM_DevicePowerStateD2 = $00000002;
  USBIOCOM_DevicePowerStateD3 = $00000003;

// Constants for enum _USBIOCOM_DESCRIPTOR_TYPE
type
  _USBIOCOM_DESCRIPTOR_TYPE = TOleEnum;
const
  USB_DeviceDescriptorType = $00000001;
  USB_ConfigurationDescriptorType = $00000002;
  USB_StringDescriptorType = $00000003;
  USB_InterfaceDescriptorType = $00000004;
  USB_EndpointDescriptorType = $00000005;
  USB_HID_DescriptorType = $00000021;

// Constants for enum _USBIOCOM_QUERY_PIPE_STATISTICS_FLAGS
type
  _USBIOCOM_QUERY_PIPE_STATISTICS_FLAGS = TOleEnum;
const
  USBIOCOM_QPS_FLAG_RESET_BYTES_TRANSFERRED = $00000001;
  USBIOCOM_QPS_FLAG_RESET_REQUESTS_SUCCEEDED = $00000002;
  USBIOCOM_QPS_FLAG_RESET_REQUESTS_FAILED = $00000004;
  USBIOCOM_QPS_FLAG_RESET_ALL_COUNTERS = $00000007;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
  _IUSBIOInterfaceEvents3 = dispinterface;
  IUSBIOInterface3 = interface;
  IUSBIOInterface3Disp = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
// *********************************************************************//
  USBIOInterface3 = IUSBIOInterface3;


// *********************************************************************//
// Declaration of structures, unions and aliases.                         
// *********************************************************************//

  USBIOCOM_ERR_CODES = _USBIOCOM_ERR_CODES; 
  USBIOCOM_INFO_FLAGS = _USBIOCOM_INFO_FLAGS; 
  USBIOCOM_DEVICE_OPTION_FLAGS = _USBIOCOM_DEVICE_OPTION_FLAGS; 
  USBIOCOM_PIPE_OPTION_FLAGS = _USBIOCOM_PIPE_OPTION_FLAGS; 
  USBIOCOM_REQUEST_RECIPIENT = _USBIOCOM_REQUEST_RECIPIENT; 
  USBIOCOM_REQUEST_TYPE = _USBIOCOM_REQUEST_TYPE; 
  USBIOCOM_PIPE_TYPE = _USBIOCOM_PIPE_TYPE; 
  USBIOCOM_DEVICE_POWER_STATE = _USBIOCOM_DEVICE_POWER_STATE; 
  USBIOCOM_DESCRIPTOR_TYPE = _USBIOCOM_DESCRIPTOR_TYPE; 
  USBIOCOM_QUERY_PIPE_STATISTICS_FLAGS = _USBIOCOM_QUERY_PIPE_STATISTICS_FLAGS; 

// *********************************************************************//
// DispIntf:  _IUSBIOInterfaceEvents3
// Flags:     (4096) Dispatchable
// GUID:      {3C83A43F-CFD4-4781-8949-04EDDBD3E191}
// *********************************************************************//
  _IUSBIOInterfaceEvents3 = dispinterface
    ['{3C83A43F-CFD4-4781-8949-04EDDBD3E191}']
    procedure ReadComplete(const Obj: IDispatch); dispid 1;
    procedure WriteComplete(const Obj: IDispatch); dispid 2;
    procedure WriteStatusAvailable(const Obj: IDispatch); dispid 3;
    procedure PnPAddNotification(const Obj: IDispatch); dispid 4;
    procedure PnPRemoveNotification(const Obj: IDispatch); dispid 5;
  end;

// *********************************************************************//
// Interface: IUSBIOInterface3
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {775938FE-790A-476E-BA6D-20BE61EFE5BC}
// *********************************************************************//
  IUSBIOInterface3 = interface(IDispatch)
    ['{775938FE-790A-476E-BA6D-20BE61EFE5BC}']
    procedure EnumerateDevices(const GUIDDriverInterface: WideString; out NumberOfDevices: SYSINT); safecall;
    procedure OpenDevice(DeviceNumber: SYSINT; out Status: SYSINT); safecall;
    procedure CloseDevice; safecall;
    function  Get_DevicePathName: WideString; safecall;
    procedure GetDriverInfo(out APIVersion: SYSINT; out DriverVersion: SYSINT; 

⌨️ 快捷键说明

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