ISoftUSBEndpoint Interface

The ISoftUSBEndpoint interface represents a SoftUSBEndpoint object, which is an endpoint that an interface supports in a device configuration.

Members

The ISoftUSBEndpoint interface inherits from the IDispatch interface. ISoftUSBEndpoint also defines the following types of members:

  • Methods
  • Properties

Methods

The ISoftUSBEndpoint interface defines the following methods.

Method Description
DrainOUTQueue

Drains the endpoint's OUT transaction data queue and returns remaining transfers as a doubly linked list of SOFTUSB_OUT_TRANSFER structures. The caller must free this list by calling FreeOUTQueue.

FreeOUTQueue

Frees the list of SOFTUSB_OUT_TRANSFER structures that the DrainOUTQueue method previously returned.

PurgeINQueue

Gets rid of all items from an endpoint's IN transaction data queue.

PurgeOUTQueue

Gets rid of all items from an endpoint's OUT transaction data queue.

PurgeOUTQueueOlderThan

Gets rid of items from an endpoint's OUT transaction data queue that are older than specified.

QueueDeviceRequestResponse

For control endpoints. Enables the device simulator to queue data and status for responses to subsequent device requests. The endpoint copies the data and keeps it in the queue until the host controller requests the data or the specified time, in milliseconds, passes.

QueueINData

Enables the device simulator to queue data for responses to subsequent IN transactions that specify the data and the transaction status. The endpoint copies the data and keeps it in the queue until the host controller requests the data or the specified time, in milliseconds, passes.

 

Properties

The ISoftUSBEndpoint interface defines the following properties.

Property Access type Description

Attributes

Read/write

Gets or sets the bmAttributes field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

Context

Read-only

Gets the context object for the interface.

DescriptorType

Read/write

Gets or sets the bDescriptorType field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

DeviceSpecificDescriptor

Read/write

Gets or sets a SAFEARRAY of VARIANT values that represents the device-specific data.

EndpointAddress

Read/write

Gets or sets the bEndpointAddress field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

Halted

Read/write

Gets or sets whether the endpoint is currently halted.

HandleStdDeviceRequests

Read/write

Gets or sets whether the endpoint should always handle standard device requests. If this property is true, an event sink will never receive OnSetupTransfer or OnDeviceRequest events for standard device requests, and the endpoint will handle these requests based on its current state.

Interval

Read/write

Gets or sets the bInterval field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

Length

Read/write

Gets or sets the bLength field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

LoopbackEndpoint

Read/write

Gets or sets a partner endpoint for which this endpoint will call ISoftUSBEndpoint::QueueINData for each OUT transaction that it receives. This property provides a simple mechanism to create a loopback device.

MarshalEvents

Read/write

Gets or sets whether events that are fired on a ISoftUSBEndpointEvents interface should be fired on an arbitrary thread or on the thread that created the SoftUSBEndpoint object.

MaxPacketSize

Read/write

Gets or sets the wMaxPacketSize field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

OutQueueSize

Read/write

Gets or sets the maximum number of OUT transactions that the endpoint will hold in its queue before the device simulator consumes the transactions. If the queue reaches this maximum number and the simulator does not consume the transactions, any additional transactions will be discarded and cause the endpoint to stall.

 

Requirements

Header

SoftUSBif.h

See Also

ISoftUSBDevice

ISoftUSBEndpointEvents

 

 

Send comments about this topic to Microsoft

Build date: 9/21/2010