/// <Summary>Writes to an isochronous pipe.</Summary> public virtual bool IsoWritePipe(byte PipeID, Array Buffer, int BufferLength, KOVL_HANDLE Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoWritePipe(mHandleStruct, PipeID, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, Overlapped.Pointer, IsoContext); }
/// <Summary>Returns the internal event handle used to signal IO operations.</Summary> public IntPtr GetEventHandle(KOVL_HANDLE OverlappedK) { return Functions.OvlK_GetEventHandle(OverlappedK); }
/// <Summary>Retrieves the results of an overlapped operation on the specified libusbK handle.</Summary> public virtual bool GetOverlappedResult(KOVL_HANDLE Overlapped, out int lpNumberOfBytesTransferred, bool bWait) { return driverAPI.GetOverlappedResult(mHandleStruct, Overlapped.Pointer, out lpNumberOfBytesTransferred, bWait); }
/// <Summary>Returns an \c OverlappedK structure to it's pool.</Summary> public virtual bool Release(KOVL_HANDLE OverlappedK) { return AllKFunctions.OvlK_Release(OverlappedK); }
/// <Summary>Waits for overlapped I/O completion on the oldest acquired OverlappedK handle and performs actions specified in \c WaitFlags.</Summary> public virtual bool WaitOldest(out KOVL_HANDLE OverlappedK, int TimeoutMS, KOVL_WAIT_FLAG WaitFlags, out int TransferredLength) { return AllKFunctions.OvlK_WaitOldest(mHandleStruct, out OverlappedK, TimeoutMS, WaitFlags, out TransferredLength); }
/// <Summary>Writes data to a pipe.</Summary> public virtual bool WritePipe(byte PipeID, IntPtr Buffer, int BufferLength, out int LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.WritePipe(mHandleStruct, PipeID, Buffer, BufferLength, out LengthTransferred, Overlapped.Pointer); }
/// <Summary>Returns the internal event handle used to signal IO operations.</Summary> public virtual IntPtr GetEventHandle(KOVL_HANDLE OverlappedK) { return AllKFunctions.OvlK_GetEventHandle(OverlappedK); }
/// <Summary>Retrieves the results of an overlapped operation on the specified libusbK handle.</Summary> public bool GetOverlappedResult(KOVL_HANDLE Overlapped, out uint lpNumberOfBytesTransferred, bool bWait) { return driverAPI.GetOverlappedResult(handle, Overlapped.DangerousGetHandle(), out lpNumberOfBytesTransferred, bWait); }
/// <Summary>Writes to an isochronous pipe.</Summary> public bool IsoWritePipe(byte PipeID, Array Buffer, uint BufferLength, KOVL_HANDLE Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoWritePipe(handle, PipeID, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, Overlapped.DangerousGetHandle(), IsoContext); }
/// <Summary>Transmits control data over a default control endpoint.</Summary> public bool ControlTransfer(WINUSB_SETUP_PACKET SetupPacket, Array Buffer, uint BufferLength, out uint LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.ControlTransfer(handle, SetupPacket, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, out LengthTransferred, Overlapped.DangerousGetHandle()); }
/// <Summary>Transmits control data over a default control endpoint.</Summary> public bool ControlTransfer(WINUSB_SETUP_PACKET SetupPacket, IntPtr Buffer, uint BufferLength, out uint LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.ControlTransfer(handle, SetupPacket, Buffer, BufferLength, out LengthTransferred, Overlapped.DangerousGetHandle()); }
/// <Summary>Waits for overlapped I/O completion, cancels on a timeout error and always releases the OvlK handle back to its pool.</Summary> public bool WaitAndRelease(KOVL_HANDLE OverlappedK, int TimeoutMS, out uint TransferredLength) { return Functions.OvlK_WaitAndRelease(OverlappedK, TimeoutMS, out TransferredLength); }
/// <Summary>Initializes an overlappedK for re-use. The overlappedK is not return to its pool.</Summary> public bool ReUse(KOVL_HANDLE OverlappedK) { return Functions.OvlK_ReUse(OverlappedK); }
/// <Summary>Checks for i/o completion; returns immediately. (polling)</Summary> public bool IsComplete(KOVL_HANDLE OverlappedK) { return Functions.OvlK_IsComplete(OverlappedK); }
/// <Summary>Writes to an isochronous pipe.</Summary> public virtual bool IsoWritePipe(byte PipeID, IntPtr Buffer, int BufferLength, KOVL_HANDLE Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoWritePipe(mHandleStruct, PipeID, Buffer, BufferLength, Overlapped.Pointer, IsoContext); }
/// <Summary>Writes to an isochronous pipe.</Summary> public bool IsoWritePipe(byte PipeID, IntPtr Buffer, uint BufferLength, KOVL_HANDLE Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoWritePipe(handle, PipeID, Buffer, BufferLength, Overlapped.DangerousGetHandle(), IsoContext); }
/// <Summary>Writes data to a pipe.</Summary> public virtual bool WritePipe(byte PipeID, Array Buffer, int BufferLength, out int LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.WritePipe(mHandleStruct, PipeID, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, out LengthTransferred, Overlapped.Pointer); }
/// <Summary>Writes data to a pipe.</Summary> public bool WritePipe(byte PipeID, Array Buffer, uint BufferLength, out uint LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.WritePipe(handle, PipeID, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, out LengthTransferred, Overlapped.DangerousGetHandle()); }
/// <Summary>Gets a preallocated \c OverlappedK structure from the specified/default pool.</Summary> public virtual bool Acquire(out KOVL_HANDLE OverlappedK) { return AllKFunctions.OvlK_Acquire(out OverlappedK, mHandleStruct); }
/// <Summary>Writes data to a pipe.</Summary> public bool WritePipe(byte PipeID, IntPtr Buffer, uint BufferLength, out uint LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.WritePipe(handle, PipeID, Buffer, BufferLength, out LengthTransferred, Overlapped.DangerousGetHandle()); }
/// <Summary>Checks for i/o completion; returns immediately. (polling)</Summary> public virtual bool IsComplete(KOVL_HANDLE OverlappedK) { return AllKFunctions.OvlK_IsComplete(OverlappedK); }
/// <Summary>Transmits control data over a default control endpoint.</Summary> public virtual bool ControlTransfer(WINUSB_SETUP_PACKET SetupPacket, Array Buffer, int BufferLength, out int LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.ControlTransfer(mHandleStruct, SetupPacket, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, out LengthTransferred, Overlapped.Pointer); }
/// <Summary>Waits for overlapped I/O completion, and performs actions specified in \c WaitFlags.</Summary> public virtual bool Wait(KOVL_HANDLE OverlappedK, int TimeoutMS, KOVL_WAIT_FLAG WaitFlags, out int TransferredLength) { return AllKFunctions.OvlK_Wait(OverlappedK, TimeoutMS, WaitFlags, out TransferredLength); }
/// <Summary>Transmits control data over a default control endpoint.</Summary> public virtual bool ControlTransfer(WINUSB_SETUP_PACKET SetupPacket, IntPtr Buffer, int BufferLength, out int LengthTransferred, KOVL_HANDLE Overlapped) { return driverAPI.ControlTransfer(mHandleStruct, SetupPacket, Buffer, BufferLength, out LengthTransferred, Overlapped.Pointer); }
/// <Summary>Waits for overlapped I/O completion, cancels on a timeout error.</Summary> public virtual bool WaitOrCancel(KOVL_HANDLE OverlappedK, int TimeoutMS, out int TransferredLength) { return AllKFunctions.OvlK_WaitOrCancel(OverlappedK, TimeoutMS, out TransferredLength); }
/// <Summary>Gets a preallocated \c OverlappedK structure from the specified/default pool.</Summary> public bool Acquire(out KOVL_HANDLE OverlappedK) { return Functions.OvlK_Acquire(out OverlappedK, handle); }