/// <summary> /// Disposes object /// </summary> /// <param name="disposing">Flag indicating whether managed resources should be disposed</param> protected virtual void Dispose(bool disposing) { if (!this._disposed) { if (disposing) { // Dispose managed objects if (_returnedKeyMaterialLeftInstance == false) { if (_returnedKeyMaterial != null) { _returnedKeyMaterial.Dispose(); _returnedKeyMaterial = null; } } } // Dispose unmanaged objects UnmanagedMemory.Free(ref _lowLevelStruct.ReturnedKeyMaterial); _disposed = true; } }