UsbBulkInPipe
UsbBulkInPipe
UsbBulkInPipe
UsbBulkInPipe
Class
Definition
Represents the pipe that the underlying USB driver opens to communicate with a USB bulk IN endpoint of the device. The app can get an input stream from the pipe and access data is being read from the endpoint.
public : sealed class UsbBulkInPipe : IUsbBulkInPipepublic sealed class UsbBulkInPipe : IUsbBulkInPipePublic NotInheritable Class UsbBulkInPipe Implements IUsbBulkInPipe// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Remarks
This code example shows how to read data from a bulk IN pipe. The example assumes that the app has previously obtained the UsbDevice object.
UsbDevice device;
UInt32 readLen = 8;
// Get the UsbDevice object. Not shown.
...
UsbBulkInPipe bulkIn = device.DefaultInterface.BulkInPipes[0];
DataReader reader = new DataReader(bulkIn.InputStream);
await reader.LoadAsync(readLen);
UInt64 data = reader.ReadUInt64();
ShowData(data);
Properties
EndpointDescriptor EndpointDescriptor EndpointDescriptor EndpointDescriptor
Gets the object that represents endpoint descriptor associated with the USB bulk IN endpoint.
public : UsbBulkInEndpointDescriptor EndpointDescriptor { get; }public UsbBulkInEndpointDescriptor EndpointDescriptor { get; }Public ReadOnly Property EndpointDescriptor As UsbBulkInEndpointDescriptor// You can use this property in JavaScript.
- Value
- UsbBulkInEndpointDescriptor UsbBulkInEndpointDescriptor UsbBulkInEndpointDescriptor UsbBulkInEndpointDescriptor
A UsbBulkInEndpointDescriptor object that represents endpoint descriptor associated with the USB bulk IN endpoint.
InputStream InputStream InputStream InputStream
Input stream that stores the data that the bulk IN pipe received from the endpoint.
public : IInputStream InputStream { get; }public IInputStream InputStream { get; }Public ReadOnly Property InputStream As IInputStream// You can use this property in JavaScript.
Input stream that contains data read from the endpoint.
Remarks
To access data read from a bulk IN pipe, get the input stream from the pipe, and then use the DataReader to read data.
auto stream = DeviceList::Current->Fx2Device->Configuration->UsbInterfaces->GetAt(0)->BulkInPipes->GetAt(0)->InputStream;
Windows::Storage::Streams::DataReader^ reader = ref new Windows::Storage::Streams::DataReader(stream);
Concurrency::create_task(reader->LoadAsync(TRANSFER_SIZE))
.then ([this, reader] (uint32 result)
{
//Your code.
});
MaxTransferSizeBytes MaxTransferSizeBytes MaxTransferSizeBytes MaxTransferSizeBytes
Gets the maximum number of bytes that can be read from the bulk IN pipe in a single transfer.
public : unsigned int MaxTransferSizeBytes { get; }public uint MaxTransferSizeBytes { get; }Public ReadOnly Property MaxTransferSizeBytes As uint// You can use this property in JavaScript.
- Value
- unsigned int uint uint uint
The maximum number of bytes that can be read from the bulk IN pipe in a single transfer.
ReadOptions ReadOptions ReadOptions ReadOptions
Gets or sets configuration flags that controls the behavior of the pipe that reads data from a USB bulk IN endpoint.
public : UsbReadOptions ReadOptions { get; set; }public UsbReadOptions ReadOptions { get; set; }Public ReadWrite Property ReadOptions As UsbReadOptions// You can use this property in JavaScript.
A UsbReadOptions value that indicates the pipe policy.
Methods
ClearStallAsync() ClearStallAsync() ClearStallAsync() ClearStallAsync()
Starts an asynchronous operation to clear a stall condition (endpoint halt) on the USB bulk IN endpoint that is associated with the pipe.
public : IAsyncAction ClearStallAsync()public IAsyncAction ClearStallAsync()Public Function ClearStallAsync() As IAsyncAction// You can use this method in JavaScript.
An IAsyncAction object that is used to control the asynchronous operation.