protected virtual void Dispose(bool disposing) { if (!mbDisposed) { if (mHandleStruct.Pointer != IntPtr.Zero) { AllKFunctions.IsoK_Free(mHandleStruct); Debug.Print("{0} Dispose: Freed Handle:{1:X16}h Explicit:{2}", GetType().Name, mHandleStruct.Pointer.ToInt64(), disposing); } else Debug.Print("{0} Dispose: [WARNING] Handle is null", GetType().Name); mHandleStruct = new KISO_CONTEXT(IntPtr.Zero); mbDisposed = true; } }
/// <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>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>Reads from an isochronous pipe.</Summary> public virtual bool IsoReadPipe(byte PipeID, IntPtr Buffer, int BufferLength, IntPtr Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoReadPipe(mHandleStruct, PipeID, Buffer, BufferLength, Overlapped, 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 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>Writes to an isochronous pipe.</Summary> public bool IsoWritePipe(byte PipeID, Array Buffer, uint BufferLength, IntPtr Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoWritePipe(handle, PipeID, Marshal.UnsafeAddrOfPinnedArrayElement(Buffer, 0), BufferLength, Overlapped, IsoContext); }
/// <Summary>Writes to an isochronous pipe.</Summary> public bool IsoWritePipe(byte PipeID, IntPtr Buffer, uint BufferLength, IntPtr Overlapped, KISO_CONTEXT IsoContext) { return driverAPI.IsoWritePipe(handle, PipeID, Buffer, BufferLength, Overlapped, IsoContext); }