/// <summary>To be documented.</summary>
        public readonly unsafe int GetDebugParameter(DebugCommandListParameterType Type, void *pData, uint DataSize)
        {
            var @this = (ID3D12DebugCommandList1 *)Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            int ret   = default;

            ret = ((delegate * unmanaged[Cdecl] < ID3D12DebugCommandList1 *, DebugCommandListParameterType, void *, uint, int >)LpVtbl[5])(@this, Type, pData, DataSize);
            return(ret);
        }
        /// <summary>To be documented.</summary>
        public readonly int GetDebugParameter <T0>(DebugCommandListParameterType Type, ref T0 pData, uint DataSize) where T0 : unmanaged
        {
            var @this = (ID3D12DebugCommandList1 *)Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            int ret   = default;

            fixed(T0 *pDataPtr = &pData)
            {
                ret = ((delegate * unmanaged[Cdecl] < ID3D12DebugCommandList1 *, DebugCommandListParameterType, T0 *, uint, int >)LpVtbl[5])(@this, Type, pDataPtr, DataSize);
            }

            return(ret);
        }