UsbBulkInPipe UsbBulkInPipe UsbBulkInPipe UsbBulkInPipe Class

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.

Syntax

Declaration

public sealed class UsbBulkInPipepublic sealed class UsbBulkInPipePublic NotInheritable Class UsbBulkInPipe

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 summary

Gets the object that represents endpoint descriptor associated with the USB bulk IN endpoint.

Input stream that stores the data that the bulk IN pipe received from the endpoint.

Gets the maximum number of bytes that can be read from the bulk IN pipe in a single transfer.

Gets or sets configuration flags that controls the behavior of the pipe that reads data from a USB bulk IN endpoint.

Methods summary

Starts an asynchronous operation to clear a stall condition (endpoint halt) on the USB bulk IN endpoint that is associated with the pipe.

Discards any data that is cached in the bulk IN pipe.

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

    Property Value

  • 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

    Property Value

    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 uint MaxTransferSizeBytes { get; }public uint MaxTransferSizeBytes { get; }Public ReadOnly Property MaxTransferSizeBytes As uint

    Property Value

    • uint
      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

    Property Value

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

    Returns

  • FlushBuffer()
    FlushBuffer()
    FlushBuffer()
    FlushBuffer()

    Discards any data that is cached in the bulk IN pipe.

    public void FlushBuffer()public void FlushBuffer()Public Function FlushBuffer() As void

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.DualApiPartitionAttribute

Details

Assembly

Windows.Devices.Usb.dll