WinUsb_RegisterIsochBuffer routine
The WinUsb_RegisterIsochBuffer function registers a buffer to be used for isochronous transfers.
Syntax
BOOL __stdcall WinUsb_RegisterIsochBuffer( _In_ WINUSB_INTERFACE_HANDLE InterfaceHandle, _In_ UCHAR PipeID, _In_ PVOID Buffer, _In_ ULONG BufferLength, _Out_ PWINUSB_ISOCH_BUFFER_HANDLE BufferHandle );
Parameters
- InterfaceHandle [in]
-
An opaque handle to an interface in the selected configuration. That handle must be created by a previous call to WinUsb_Initialize or WinUsb_GetAssociatedInterface.
- PipeID [in]
-
Derived from Bit 3...0 of the bEndpointAddress field in the endpoint descriptor.
- Buffer [in]
-
Pointer to the transfer buffer to be registered.
- BufferLength [in]
-
Length, in bytes, of the transfer buffer pointed to by Buffer.
- BufferHandle [out]
-
Receives an opaque handle to the registered buffer. This handle is required by other WinUSB functions that perform isochronous transfers. To release the handle, call the WinUsb_UnregisterIsochBuffer function.
Return value
WinUsb_RegisterIsochBuffer returns TRUE if the operation succeeds. Otherwise this function returns FALSE, and the caller can retrieve the logged error by calling GetLastError.
If the caller sets ContinueStream to TRUE, The transfer fails if Winusb.sys is unable to schedule the transfer to continue the stream without dropping one or more frames.
Remarks
Prior to initiating isochronous transfers to or from a buffer, the caller must register the buffer with WinUsb_RegisterIsochBuffer. This call allows the Winusb.sys to pre-map and lock the buffer after for all subsequent transfers using the buffer.
Requirements
Minimum supported client | Windows 8.1 |
---|---|
Minimum supported server | Windows Server 2012 R2 |
Header |
|
Library |
|
See also
- WinUSB Functions
- Send USB isochronous transfers from a WinUSB desktop app
- WinUsb_UnregisterIsochBuffer
Send comments about this topic to Microsoft
Build date: 12/5/2013