public virtual void EndQuery(
            ID3D12QueryHeap pQueryHeap,
            D3D12_QUERY_TYPE Type,
            uint Index
            )
        {
            var fp = GetFunctionPointer(53);

            if (m_EndQueryFunc == null)
            {
                m_EndQueryFunc = (EndQueryFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(EndQueryFunc));
            }

            m_EndQueryFunc(m_ptr, pQueryHeap != null ? pQueryHeap.Ptr : IntPtr.Zero, Type, Index);
        }
        public virtual void ResolveQueryData(
            ID3D12QueryHeap pQueryHeap,
            D3D12_QUERY_TYPE Type,
            uint StartIndex,
            uint NumQueries,
            ID3D12Resource pDestinationBuffer,
            ulong AlignedDestinationBufferOffset
            )
        {
            var fp = GetFunctionPointer(54);

            if (m_ResolveQueryDataFunc == null)
            {
                m_ResolveQueryDataFunc = (ResolveQueryDataFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(ResolveQueryDataFunc));
            }

            m_ResolveQueryDataFunc(m_ptr, pQueryHeap != null ? pQueryHeap.Ptr : IntPtr.Zero, Type, StartIndex, NumQueries, pDestinationBuffer != null ? pDestinationBuffer.Ptr : IntPtr.Zero, AlignedDestinationBufferOffset);
        }