/// <summary>
        /// Gets the module that corresponds to the given metadata interface.
        /// </summary>
        /// <param name="metadata">
        /// An object that is one of the Metadata interfaces.
        /// See https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-api/metadata/metadata-interfaces.
        /// </param>
        /// <param name="module">
        /// The module corresponding to the given metadata interface.
        /// </param>
        public int GetModuleFromMetaDataInterface(Unknown metadata, out CorDebugModule module)
        {
            void *pModule = default;

            using var pMetadata = metadata?.AcquirePointer();
            int result = Calli(_this, This[0]->GetModuleFromMetaDataInterface, pMetadata, &pModule);

            module = ComFactory.Create <CorDebugModule>(pModule);
            return(result);
        }
 public int GetModule(out CorDebugModule module) => InvokeGetObject(_this, This[0]->GetModule, out module);