protected void Dispose(bool disposing) { if (this.waveInHandle != IntPtr.Zero) { WaveInterop.waveInUnprepareHeader(this.waveInHandle, this.header, Marshal.SizeOf(this.header)); this.waveInHandle = IntPtr.Zero; } if (this.hHeader.IsAllocated) { this.hHeader.Free(); } if (this.hBuffer.IsAllocated) { this.hBuffer.Free(); } if (this.hThis.IsAllocated) { this.hThis.Free(); } }
public void Reuse() { MmException.Try(WaveInterop.waveInUnprepareHeader(this.waveInHandle, this.header, Marshal.SizeOf(this.header)), "waveUnprepareHeader"); MmException.Try(WaveInterop.waveInPrepareHeader(this.waveInHandle, this.header, Marshal.SizeOf(this.header)), "waveInPrepareHeader"); MmException.Try(WaveInterop.waveInAddBuffer(this.waveInHandle, this.header, Marshal.SizeOf(this.header)), "waveInAddBuffer"); }