// Copyright © 2021 Saleem Abdulrasool // SPDX-License-Identifier: BSD-3 @_fixed_layout public final class IUnknownRef { private var pUnk: ComPtr init(_ pUnk: ComPtr) { let pointer: UnsafeMutablePointer = UnsafeMutableRawPointer(pUnk.get()).bindMemory(to: C_IUnknown.self, capacity: 1) self.pUnk = .init(pointer) } func detach() -> UnsafeMutableRawPointer? { return self.pUnk.detach() } public var borrow: UnsafeMutablePointer { return self.pUnk.get() } }