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

📄 usbio_i.pas

📁 DSP系列之TMS320VC5509的USB接口PC机端的驱动和测试应用程序。可识别设备
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    Status                             : USHORT;
  end;
  PUSBIO_STATUS_REQUEST_DATA           = ^USBIO_STATUS_REQUEST_DATA;


type
  USBIO_GET_CONFIGURATION_DATA =
  packed record
    ConfigurationValue                 : UCHAR;
  end;
  PUSBIO_GET_CONFIGURATION_DATA        = ^USBIO_GET_CONFIGURATION_DATA;


type
  USBIO_GET_INTERFACE =
  packed record
    _Interface                         : USHORT;       //in c++ Interface
  end;
  PUSBIO_GET_INTERFACE                 = ^USBIO_GET_INTERFACE;


type
  USBIO_GET_INTERFACE_DATA =
  packed record
    AlternateSetting                   : UCHAR;
  end;
  PUSBIO_GET_INTERFACE_DATA            = ^USBIO_GET_INTERFACE_DATA;


type
  USBIO_INTERFACE_SETTING =
  packed record
    InterfaceIndex                     : USHORT;
    AlternateSettingIndex              : USHORT;
    MaximumTransferSize                : ULONG;
  end;
  PUSBIO_INTERFACE_SETTING             = ^USBIO_INTERFACE_SETTING;


type
  USBIO_SET_CONFIGURATION =
  packed record
    ConfigurationIndex                 : USHORT;
    NbOfInterfaces                     : USHORT;
    InterfaceList                      : array[0..(USBIO_MAX_INTERFACES-1)]
                                           of USBIO_INTERFACE_SETTING;
  end;
  PUSBIO_SET_CONFIGURATION             = ^USBIO_SET_CONFIGURATION;


type
  USBIO_CLASS_OR_VENDOR_REQUEST =
  packed record
    Flags                              : ULONG;
    _Type                              : USBIO_REQUEST_TYPE;
    Recipient                          : USBIO_REQUEST_RECIPIENT;
    RequestTypeReservedBits            : UCHAR;
    Request                            : UCHAR;
    Value                              : USHORT;
    Index                              : USHORT;
  end;
  PUSBIO_CLASS_OR_VENDOR_REQUEST       = ^USBIO_CLASS_OR_VENDOR_REQUEST;


type
  USBIO_DEVICE_PARAMETERS =
  packed record
    Options                            : ULONG;
    RequestTimeout                     : ULONG;
  end;
  PUSBIO_DEVICE_PARAMETERS             = ^USBIO_DEVICE_PARAMETERS;


type
  USBIO_INTERFACE_CONFIGURATION_INFO =
  packed record
    InterfaceNumber                    : UCHAR;
    AlternateSetting                   : UCHAR;
    _Class                             : UCHAR;
    SubClass                           : UCHAR;
    Protocol                           : UCHAR;
    NumberOfPipes                      : UCHAR;
    reserved1                          : UCHAR;
    reserved2                          : UCHAR;
  end;
  PUSBIO_INTERFACE_CONFIGURATION_INFO  = ^USBIO_INTERFACE_CONFIGURATION_INFO;


type
  USBIO_PIPE_CONFIGURATION_INFO =
  packed record
    PipeType                           : USBIO_PIPE_TYPE;
    MaximumTransferSize                : ULONG;
    MaximumPacketSize                  : USHORT;
    EndpointAddress                    : UCHAR;
    Interval                           : UCHAR;
    InterfaceNumber                    : UCHAR;
    reserved1                          : UCHAR;
    reserved2                          : UCHAR;
    reserved3                          : UCHAR;
  end;
  PUSBIO_PIPE_CONFIGURATION_INFO       = ^USBIO_PIPE_CONFIGURATION_INFO;


type
  USBIO_CONFIGURATION_INFO =
  packed record
    NbOfInterfaces                     : ULONG;
    NbOfPipes                          : ULONG;
    InterfaceInfo                      : Array[0..USBIO_MAX_INTERFACES-1]
                                           of USBIO_INTERFACE_CONFIGURATION_INFO;
    PipeInfo                           : Array[0..USBIO_MAX_PIPES-1]
                                           of USBIO_PIPE_CONFIGURATION_INFO;
  end;
  PUSBIO_CONFIGURATION_INFO            = ^USBIO_CONFIGURATION_INFO;


type
  USBIO_FRAME_NUMBER =
  packed record
    FrameNumber                        : ULONG;
  end;
  PUSBIO_FRAME_NUMBER = ^USBIO_FRAME_NUMBER;


type
  USBIO_DEVICE_POWER =
  packed record
    DevicePowerState                   : USBIO_DEVICE_POWER_STATE;
  end;
  PUSBIO_DEVICE_POWER                  = ^USBIO_DEVICE_POWER;


type
  USBIO_DRIVER_INFO =
  packed record
    APIVersion                         : USHORT;
    DriverVersion                      : USHORT;
    DriverBuildNumber                  : ULONG;
    Flags                              : ULONG;
  end;
  PUSBIO_DRIVER_INFO                   = ^USBIO_DRIVER_INFO;


const
  USBIO_INFOFLAG_CHECKED_BUILD         : longword = $00000010;
  USBIO_INFOFLAG_DEMO_VERSION          : longword = $00000020;


type
  USBIO_BIND_PIPE =
  packed record
    EndpointAddress                    : UCHAR;
  end;
  PUSBIO_BIND_PIPE                     = ^USBIO_BIND_PIPE;


type
  USBIO_PIPE_PARAMETERS =
  packed record
    Flags                              : ULONG;
  end;
  PUSBIO_PIPE_PARAMETERS               = ^USBIO_PIPE_PARAMETERS;


type
  USBIO_PIPE_CONTROL_TRANSFER =
  packed record
    Flags                              : ULONG;
    SetupPacket                        : Array[0..8-1] of UCHAR;
  end;
  PUSBIO_PIPE_CONTROL_TRANSFER         = ^USBIO_PIPE_CONTROL_TRANSFER;



//
// Isochronous Transfers
//
// The data buffer passed to ReadFile/WriteFile must contain a
// predefined header that describes the size and location of the
// packets to be transferred. The USBIO_ISO_TRANSFER_HEADER consists
// of a fixed size part USBIO_ISO_TRANSFER and a variable size array
// of USBIO_ISO_PACKET descriptors.
//

type
  USBIO_ISO_TRANSFER =
  packed record
    NumberOfPackets                    : ULONG;
    Flags                              : ULONG;
    StartFrame                         : ULONG;
    ErrorCount                         : ULONG;
  end;
  PUSBIO_ISO_TRANSFER                  = ^USBIO_ISO_TRANSFER;


type
  USBIO_ISO_PACKET =
  packed record
    Offset                             : ULONG;
    Length                             : ULONG;
    Status                             : ULONG;
  end;
  PUSBIO_ISO_PACKET                    = ^USBIO_ISO_PACKET;


type
  USBIO_ISO_TRANSFER_HEADER =
  packed record
    IsoTransfer                        : USBIO_ISO_TRANSFER;
    IsoPacket                          : Array[0..1-1] of USBIO_ISO_PACKET;
  end;
  PUSBIO_ISO_TRANSFER_HEADER           = ^USBIO_ISO_TRANSFER_HEADER;

//
// Define the device type value. Note that values used by Microsoft
// are in the range 0-32767, and 32768-65535 are reserved for use
// by customers.
//

const
  FILE_DEVICE_USBIO                    = DWORD($8094);

const
  _USBIO_IOCTL_BASE                    = DWORD($800);

implementation

end.

⌨️ 快捷键说明

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