/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="alsoManaged"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> private void Dispose(bool alsoManaged) { if (_isDisposed) { return; } if (alsoManaged) { Spi.SpiClose(Handle); Handle = UIntPtr.Zero; } _isDisposed = true; }