📄 usbiocomlib_tlb.pas
字号:
out DriverBuildNumber: SYSINT; out Flags: SYSINT; out Status: SYSINT); safecall;
function Get_IsCheckedBuild: Integer; safecall;
function Get_IsDemoVersion: Integer; safecall;
function Get_IsLightVersion: Integer; safecall;
function Get_DeviceOptions: SYSINT; safecall;
procedure Set_DeviceOptions(Options: SYSINT); safecall;
function Get_DeviceRequestTimeout: SYSINT; safecall;
procedure Set_DeviceRequestTimeout(pVal: SYSINT); safecall;
procedure GetDescriptor(var Descriptor: PSafeArray; var DescSize: SYSINT; Recipient: SYSINT;
DescriptorType: SYSINT; DescriptorIndex: SYSINT; LanguageId: SYSINT;
out Status: SYSINT); safecall;
procedure GetDeviceDescriptor(var DeviceDescriptor: PSafeArray; var DescSize: SYSINT;
out Status: SYSINT); safecall;
procedure GetConfigurationDescriptor(var ConfigDescriptor: PSafeArray; var DescSize: SYSINT;
Index: Byte; out Status: SYSINT); safecall;
procedure GetStringDescriptor(var StringDescriptor: PSafeArray; var DescSize: SYSINT;
Index: Byte; LanguageId: SYSINT; out Status: SYSINT); safecall;
procedure SetDescriptor(var Descriptor: PSafeArray; Recipient: SYSINT; DescriptorType: SYSINT;
DescriptorIndex: SYSINT; LanguageId: SYSINT; out Status: SYSINT); safecall;
procedure AddInterface(InterfaceIndex: SYSINT; AlternateSettingIndex: SYSINT;
MaximumTransferSize: SYSINT; out Status: SYSINT); safecall;
procedure DeleteInterfaces; safecall;
procedure SetConfiguration(ConfigurationIndex: SYSINT; out Status: SYSINT); safecall;
procedure GetConfiguration(out ConfigurationValue: Byte; out Status: SYSINT); safecall;
procedure UnconfigureDevice(out Status: SYSINT); safecall;
procedure SetInterface(InterfaceIndex: SYSINT; AlternateSettingIndex: SYSINT;
MaximumTransferSize: SYSINT; out Status: SYSINT); safecall;
procedure GetInterface(out AlternateSetting: Byte; InterfaceIndex: SYSINT; out Status: SYSINT); safecall;
procedure ClassOrVendorInRequest(var Buffer: PSafeArray; var ByteCount: SYSINT; Flags: SYSINT;
Type_: SYSINT; Recipient: SYSINT;
RequestTypeReservedBits: SYSINT; Request: SYSINT;
Value: SYSINT; Index: SYSINT; out Status: SYSINT); safecall;
procedure ClassOrVendorOutRequest(var Buffer: PSafeArray; Flags: SYSINT; Type_: SYSINT;
Recipient: SYSINT; RequestTypeReservedBits: SYSINT;
Request: SYSINT; Value: SYSINT; Index: SYSINT;
out Status: SYSINT); safecall;
procedure SetFeature(Recipient: SYSINT; FeatureSelector: SYSINT; Index: SYSINT;
out Status: SYSINT); safecall;
procedure ClearFeature(Recipient: SYSINT; FeatureSelector: SYSINT; Index: SYSINT;
out Status: SYSINT); safecall;
procedure GetDevicePowerState(out DevicePowerState: SYSINT; out Status: SYSINT); safecall;
procedure SetDevicePowerState(DevicePowerState: SYSINT; out Status: SYSINT); safecall;
procedure ResetDevice(out Status: SYSINT); safecall;
procedure CyclePort(out Status: SYSINT); safecall;
procedure GetStatus(out StatusValue: SYSINT; Recipient: SYSINT; Index: SYSINT;
out Status: SYSINT); safecall;
procedure GetCurrentFrameNumber(out FrameNumber: SYSINT; out Status: SYSINT); safecall;
function ErrorText(Status: SYSINT): WideString; safecall;
procedure Bind(EndpointAddress: Byte; out Status: SYSINT); safecall;
procedure Unbind(out Status: SYSINT); safecall;
procedure StartReading(SizeOfBuffer_IsoFramesInBuffer: SYSINT; NumberOfBuffers: SYSINT;
MaxErrorCount: SYSINT; out Status: SYSINT); safecall;
procedure ReadData(var Buffer: PSafeArray; out ByteCount: SYSINT; out Status: SYSINT); safecall;
procedure ReadIsoData(var Buffer: PSafeArray; out ByteCount: SYSINT;
var SubBufferLength_ErrorCode: PSafeArray; out Status: SYSINT); safecall;
procedure StopReading; safecall;
procedure StartWriting(SizeOfBuffer_IsoFramesInBuffer: SYSINT; NumberOfBuffers: SYSINT;
MaxErrorCount: SYSINT; WriteStatus: Integer; out Status: SYSINT); safecall;
procedure WriteData(var Buffer: PSafeArray; UserId: SYSINT; out Status: SYSINT); safecall;
procedure GetWriteStatus(out UserId: SYSINT; out Status: SYSINT); safecall;
procedure WriteIsoData(var Buffer: PSafeArray; var SubBufferLength: PSafeArray; UserId: SYSINT;
out Status: SYSINT); safecall;
procedure GetIsoWriteStatus(out UserId: SYSINT; var StatusArray: PSafeArray;
out FrameCount: SYSINT; out Status: SYSINT); safecall;
procedure StopWriting; safecall;
procedure ResetPipe(out Status: SYSINT); safecall;
procedure AbortPipe(out Status: SYSINT); safecall;
function Get_ShortTransferOK: Integer; safecall;
procedure Set_ShortTransferOK(ShortTransfer: Integer); safecall;
function Get_EndpointFifoSize: SYSINT; safecall;
procedure EnablePnPNotification(const Guid: WideString; out Status: SYSINT); safecall;
procedure DisablePnPNotification(const Guid: WideString; out Status: SYSINT); safecall;
property DevicePathName: WideString read Get_DevicePathName;
property IsCheckedBuild: Integer read Get_IsCheckedBuild;
property IsDemoVersion: Integer read Get_IsDemoVersion;
property IsLightVersion: Integer read Get_IsLightVersion;
property DeviceOptions: SYSINT read Get_DeviceOptions write Set_DeviceOptions;
property DeviceRequestTimeout: SYSINT read Get_DeviceRequestTimeout write Set_DeviceRequestTimeout;
property ShortTransferOK: Integer read Get_ShortTransferOK write Set_ShortTransferOK;
property EndpointFifoSize: SYSINT read Get_EndpointFifoSize;
end;
// *********************************************************************//
// DispIntf: IUSBIOInterfaceDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {666A2128-A89C-4166-8683-59D0628E227D}
// *********************************************************************//
IUSBIOInterfaceDisp = dispinterface
['{666A2128-A89C-4166-8683-59D0628E227D}']
procedure EnumerateDevices(const GUIDDriverInterface: WideString; out NumberOfDevices: SYSINT); dispid 1;
procedure OpenDevice(DeviceNumber: SYSINT; out Status: SYSINT); dispid 2;
procedure CloseDevice; dispid 3;
property DevicePathName: WideString readonly dispid 4;
procedure GetDriverInfo(out APIVersion: SYSINT; out DriverVersion: SYSINT;
out DriverBuildNumber: SYSINT; out Flags: SYSINT; out Status: SYSINT); dispid 5;
property IsCheckedBuild: Integer readonly dispid 6;
property IsDemoVersion: Integer readonly dispid 7;
property IsLightVersion: Integer readonly dispid 8;
property DeviceOptions: SYSINT dispid 9;
property DeviceRequestTimeout: SYSINT dispid 10;
procedure GetDescriptor(var Descriptor: {??PSafeArray} OleVariant; var DescSize: SYSINT;
Recipient: SYSINT; DescriptorType: SYSINT; DescriptorIndex: SYSINT;
LanguageId: SYSINT; out Status: SYSINT); dispid 12;
procedure GetDeviceDescriptor(var DeviceDescriptor: {??PSafeArray} OleVariant;
var DescSize: SYSINT; out Status: SYSINT); dispid 13;
procedure GetConfigurationDescriptor(var ConfigDescriptor: {??PSafeArray} OleVariant;
var DescSize: SYSINT; Index: Byte; out Status: SYSINT); dispid 14;
procedure GetStringDescriptor(var StringDescriptor: {??PSafeArray} OleVariant;
var DescSize: SYSINT; Index: Byte; LanguageId: SYSINT;
out Status: SYSINT); dispid 15;
procedure SetDescriptor(var Descriptor: {??PSafeArray} OleVariant; Recipient: SYSINT;
DescriptorType: SYSINT; DescriptorIndex: SYSINT; LanguageId: SYSINT;
out Status: SYSINT); dispid 16;
procedure AddInterface(InterfaceIndex: SYSINT; AlternateSettingIndex: SYSINT;
MaximumTransferSize: SYSINT; out Status: SYSINT); dispid 17;
procedure DeleteInterfaces; dispid 18;
procedure SetConfiguration(ConfigurationIndex: SYSINT; out Status: SYSINT); dispid 19;
procedure GetConfiguration(out ConfigurationValue: Byte; out Status: SYSINT); dispid 20;
procedure UnconfigureDevice(out Status: SYSINT); dispid 21;
procedure SetInterface(InterfaceIndex: SYSINT; AlternateSettingIndex: SYSINT;
MaximumTransferSize: SYSINT; out Status: SYSINT); dispid 22;
procedure GetInterface(out AlternateSetting: Byte; InterfaceIndex: SYSINT; out Status: SYSINT); dispid 23;
procedure ClassOrVendorInRequest(var Buffer: {??PSafeArray} OleVariant; var ByteCount: SYSINT;
Flags: SYSINT; Type_: SYSINT; Recipient: SYSINT;
RequestTypeReservedBits: SYSINT; Request: SYSINT;
Value: SYSINT; Index: SYSINT; out Status: SYSINT); dispid 24;
procedure ClassOrVendorOutRequest(var Buffer: {??PSafeArray} OleVariant; Flags: SYSINT;
Type_: SYSINT; Recipient: SYSINT;
RequestTypeReservedBits: SYSINT; Request: SYSINT;
Value: SYSINT; Index: SYSINT; out Status: SYSINT); dispid 25;
procedure SetFeature(Recipient: SYSINT; FeatureSelector: SYSINT; Index: SYSINT;
out Status: SYSINT); dispid 26;
procedure ClearFeature(Recipient: SYSINT; FeatureSelector: SYSINT; Index: SYSINT;
out Status: SYSINT); dispid 27;
procedure GetDevicePowerState(out DevicePowerState: SYSINT; out Status: SYSINT); dispid 28;
procedure SetDevicePowerState(DevicePowerState: SYSINT; out Status: SYSINT); dispid 29;
procedure ResetDevice(out Status: SYSINT); dispid 30;
procedure CyclePort(out Status: SYSINT); dispid 31;
procedure GetStatus(out StatusValue: SYSINT; Recipient: SYSINT; Index: SYSINT;
out Status: SYSINT); dispid 32;
procedure GetCurrentFrameNumber(out FrameNumber: SYSINT; out Status: SYSINT); dispid 33;
function ErrorText(Status: SYSINT): WideString; dispid 34;
procedure Bind(EndpointAddress: Byte; out Status: SYSINT); dispid 35;
procedure Unbind(out Status: SYSINT); dispid 36;
procedure StartReading(SizeOfBuffer_IsoFramesInBuffer: SYSINT; NumberOfBuffers: SYSINT;
MaxErrorCount: SYSINT; out Status: SYSINT); dispid 37;
procedure ReadData(var Buffer: {??PSafeArray} OleVariant; out ByteCount: SYSINT;
out Status: SYSINT); dispid 38;
procedure ReadIsoData(var Buffer: {??PSafeArray} OleVariant; out ByteCount: SYSINT;
var SubBufferLength_ErrorCode: {??PSafeArray} OleVariant;
out Status: SYSINT); dispid 39;
procedure StopReading; dispid 40;
procedure StartWriting(SizeOfBuffer_IsoFramesInBuffer: SYSINT; NumberOfBuffers: SYSINT;
MaxErrorCount: SYSINT; WriteStatus: Integer; out Status: SYSINT); dispid 41;
procedure WriteData(var Buffer: {??PSafeArray} OleVariant; UserId: SYSINT; out Status: SYSINT); dispid 42;
procedure GetWriteStatus(out UserId: SYSINT; out Status: SYSINT); dispid 43;
procedure WriteIsoData(var Buffer: {??PSafeArray} OleVariant;
var SubBufferLength: {??PSafeArray} OleVariant; UserId: SYSINT;
out Status: SYSINT); dispid 44;
procedure GetIsoWriteStatus(out UserId: SYSINT; var StatusArray: {??PSafeArray} OleVariant;
out FrameCount: SYSINT; out Status: SYSINT); dispid 45;
procedure StopWriting; dispid 46;
procedure ResetPipe(out Status: SYSINT); dispid 47;
procedure AbortPipe(out Status: SYSINT); dispid 48;
property ShortTransferOK: Integer dispid 49;
property EndpointFifoSize: SYSINT readonly dispid 51;
procedure EnablePnPNotification(const Guid: WideString; out Status: SYSINT); dispid 52;
procedure DisablePnPNotification(const Guid: WideString; out Status: SYSINT); dispid 53;
end;
// *********************************************************************//
// The Class CoUSBIOInterface provides a Create and CreateRemote method to
// create instances of the default interface IUSBIOInterface exposed by
// the CoClass USBIOInterface. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoUSBIOInterface = class
class function Create: IUSBIOInterface;
class function CreateRemote(const MachineName: string): IUSBIOInterface;
end;
TUSBIOInterfaceReadComplete = procedure(Sender: TObject; var Obj: OleVariant) of object;
TUSBIOInterfaceWriteComplete = procedure(Sender: TObject; var Obj: OleVariant) of object;
TUSBIOInterfaceWriteStatusAvailable = procedure(Sender: TObject; var Obj: OleVariant) of object;
TUSBIOInterfacePnPAddNotification = procedure(Sender: TObject; var Obj: OleVariant) of object;
TUSBIOInterfacePnPRemoveNotification = procedure(Sender: TObject; var Obj: OleVariant) of object;
// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object : TUSBIOInterface
// Help String : USBIOInterface Class
// Default Interface: IUSBIOInterface
// Def. Intf. DISP? : No
// Event Interface: _IUSBIOInterfaceEvents
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
TUSBIOInterfaceProperties= class;
{$ENDIF}
TUSBIOInterface = class(TOleServer)
private
FOnReadComplete: TUSBIOInterfaceReadComplete;
FOnWriteComplete: TUSBIOInterfaceWriteComplete;
FOnWriteStatusAvailable: TUSBIOInterfaceWriteStatusAvailable;
FOnPnPAddNotification: TUSBIOInterfacePnPAddNotification;
FOnPnPRemoveNotification: TUSBIOInterfacePnPRemoveNotification;
FIntf: IUSBIOInterface;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps: TUSBIOInterfaceProperties;
function GetServerProperties: TUSBIOInterfaceProperties;
{$ENDIF}
function GetDefaultInterface: IUSBIOInterface;
protected
procedure InitServerData; override;
procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
function Get_DevicePathName: WideString;
function Get_IsCheckedBuild: Integer;
function Get_IsDemoVersion: Integer;
function Get_IsLightVersion: Integer;
function Get_DeviceOptions: SYSINT;
procedure Set_DeviceOptions(Options: SYSINT);
function Get_DeviceRequestTimeout: SYSINT;
procedure Set_DeviceRequestTimeout(pVal: SYSINT);
function Get_ShortTransferOK: Integer;
procedure Set_ShortTransferOK(ShortTransfer: Integer);
function Get_EndpointFifoSize: SYSINT;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: IUSBIOInterface);
procedure Disconnect; override;
procedure EnumerateDevices(const GUIDDriverInterface: WideString; out NumberOfDevices: SYSINT);
procedure OpenDevice(DeviceNumber: SYSINT; out Status: SYSINT);
procedure CloseDevice;
procedure GetDriverInfo(out APIVersion: SYSINT; out DriverVersion: SYSINT;
out DriverBuildNumber: SYSINT; out Flags: SYSINT; out Status: SYSINT);
procedure GetDescriptor(var Descriptor: PSafeArray; var DescSize: SYSINT; Recipient: SYSINT;
DescriptorType: SYSINT; DescriptorIndex: SYSINT; LanguageId: SYSINT;
out Status: SYSINT);
procedure GetDeviceDescriptor(var DeviceDescriptor: PSafeArray; var DescSize: SYSINT;
out Status: SYSINT);
procedure GetConfigurationDescriptor(var ConfigDescriptor: PSafeArray; var DescSize: SYSINT;
Index: Byte; out Status: SYSINT);
procedure GetStringDescriptor(var StringDescriptor: PSafeArray; var DescSize: SYSINT;
Index: Byte; LanguageId: SYSINT; out Status: SYSINT);
procedure SetDescriptor(var Descriptor: PSafeArray; Recipient: SYSINT; DescriptorType: SYSINT;
DescriptorIndex: SYSINT; LanguageId: SYSINT; out Status: SYSINT);
procedure AddInterface(InterfaceIndex: SYSINT; AlternateSettingIndex: SYSINT;
MaximumTransferSize: SYSINT; out Status: SYSINT);
procedure DeleteInterfaces;
procedure SetConfiguration(ConfigurationIndex: SYSINT; out Status: SYSINT);
procedure GetConfiguration(out ConfigurationValue: Byte; out Status: SYSINT);
procedure UnconfigureDevice(out Status: SYSINT);
procedure SetInterface(InterfaceIndex: SYSINT; AlternateSettingIndex: SYSINT;
MaximumTransferSize: SYSINT; out Status: SYSINT);
procedure GetInterface(out AlternateSetting: Byte; InterfaceIndex: SYSINT; out Status: SYSINT);
procedure ClassOrVendorInRequest(var Buffer: PSafeArray; var ByteCount: SYSINT; Flags: SYSINT;
Type_: SYSINT; Recipient: SYSINT;
RequestTypeReservedBits: SYSINT; Request: SYSINT;
Value: SYSINT; Index: SYSINT; out Status: SYSINT);
procedure ClassOrVendorOutRequest(var Buffer: PSafeArray; Flags: SYSINT; Type_: SYSINT;
Recipient: SYSINT; RequestTypeReservedBits: SYSINT;
Request: SYSINT; Value: SYSINT; Index: SYSINT;
out Status: SYSINT);
procedure SetFeature(Recipient: SYSINT; FeatureSelector: SYSINT; Index: SYSINT;
out Status: SYSINT);
procedure ClearFeature(Recipient: SYSINT; FeatureSelector: SYSINT; Index: SYSINT;
out Status: SYSINT);
procedure GetDevicePowerState(out DevicePowerState: SYSINT; out Status: SYSINT);
procedure SetDevicePowerState(DevicePowerState: SYSINT; out Status: SYSINT);
procedure ResetDevice(out Status: SYSINT);
procedure CyclePort(out Status: SYSINT);
procedure GetStatus(out StatusValue: SYSINT; Recipient: SYSINT; Index: SYSINT;
out Status: SYSINT);
procedure GetCurrentFrameNumber(out FrameNumber: SYSINT; out Status: SYSINT);
function ErrorText(Status: SYSINT): WideString;
procedure Bind(EndpointAddress: Byte; out Status: SYSINT);
procedure Unbind(out Status: SYSINT);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -