viUsbControlOut
Syntax
viUsbControlOut(ViSession vi, ViInt16 bmRequestType, ViInt16 bRequest, ViUInt16 wValue, ViUInt16 wIndex, ViUInt16 wLength, ViBuf buf)
Description
This function can be used to send arbitrary data to a USB device on the default control port. The user must be aware of how to use each parameter based on the relevant USB base or class specification, or based on a vendor-specific request definition.
Since the USBTMC specification does not currently define any standard control port requests in the direction of host-to-device, this function is intended for use with only vendor-defined requests. However, this function implementation should not check the bmRequestType parameter for this aspect.
Parameters
| 
                                                     Name  | 
                                                
                                                     Dir  | 
                                                
                                                     Type  | 
                                                
                                                     Description  | 
                                            
|---|---|---|---|
| 
                                                     vi  | 
                                                
                                                     IN  | 
                                                
                                                     ViSession  | 
                                                
                                                     Unique logical identifier to a session.  | 
                                            
| 
                                                     bmRequestType  | 
                                                
                                                     IN  | 
                                                
                                                     ViInt16  | 
                                                
                                                     Bitmap field for defining the USB control port request. The bitmap fields are as defined by the USB specification. The direction bit must be host-to-device.  | 
                                            
| 
                                                     bRequest  | 
                                                
                                                     IN  | 
                                                
                                                     ViInt16  | 
                                                
                                                     Request ID for this transfer. The meaning of this value depends on bmRequestType.  | 
                                            
| 
                                                     wValue  | 
                                                
                                                     IN  | 
                                                
                                                     ViUInt16  | 
                                                
                                                     Request value for this transfer.  | 
                                            
| 
                                                     wIndex  | 
                                                
                                                     IN  | 
                                                
                                                     ViUInt16  | 
                                                
                                                     Specifies the interface or endpoint index number, depending on bmRequestType.  | 
                                            
| 
                                                     wLength  | 
                                                
                                                     IN  | 
                                                
                                                     ViUInt16  | 
                                                
                                                     Length of the data in bytes to send to the device during the Data stage. If this value is 0, then buf is ignored.  | 
                                            
| 
                                                     buf  | 
                                                
                                                     IN  | 
                                                
                                                     ViBuf  | 
                                                
                                                     Actual data to send to the device during the Data stage. If wLength is 0, then this parameter is ignored.  | 
                                            
Return Values
| 
                                                     Type ViStatus  | 
                                                
                                                     This is the function return status. It returns either a completion code or an error code as follows.  | 
                                            
| 
                                                     Completion Code  | 
                                                
                                                     Description  | 
                                            
|---|---|
| 
                                                     VI_SUCCESS  | 
                                                
                                                     Operation completed successfully.  | 
                                            
| 
                                                     Error Code  | 
                                                
                                                     Description  | 
                                            
| 
                                                     VI_ERROR_INV_MASK  | 
                                                
                                                     The value in bmRequestType does not have the direction bit set to the correct value.  | 
                                            
| 
                                                     VI_ERROR_IO  | 
                                                
                                                     Could not perform operation because of I/O error.  | 
                                            
| 
                                                     VI_ERROR_INV_PARAMETER  | 
                                                
                                                     The upper 8 bits of bmRequestType or bRequest are not zero.  | 
                                            
| 
                                                     VI_ERROR_INV_SESSION  | 
                                                
                                                     The given session or object reference is invalid (both are the same value).  | 
                                            
| 
                                                     VI_ERROR_NSUP_OPER  | 
                                                
                                                     The given vi does not support this operation.  | 
                                            
| 
                                                     VI_ERROR_RSRC_LOCKED  | 
                                                
                                                     Specified operation could not be performed because the resource identified by vi has been locked for this kind of access.  | 
                                            
| 
                                                     VI_ERROR_CONN_LOST  | 
                                                
                                                     The I/O connection for the given session has been lost.  | 
                                            
See Also
USB INSTR resource description