/// <summary>To be documented.</summary>
        public readonly unsafe ID3D12ShaderReflectionVariable *GetVariableByName(byte *Name)
        {
            var @this = (ID3D12ShaderReflection *)Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            ID3D12ShaderReflectionVariable *ret = default;

            ret = ((delegate * unmanaged[Cdecl] < ID3D12ShaderReflection *, byte *, ID3D12ShaderReflectionVariable * >)LpVtbl[10])(@this, Name);
            return(ret);
        }
        /// <summary>To be documented.</summary>
        public readonly unsafe ID3D12ShaderReflectionVariable *GetVariableByIndex(uint Index)
        {
            var @this = (ID3D12ShaderReflectionConstantBuffer *)Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            ID3D12ShaderReflectionVariable *ret = default;

            ret = ((delegate * unmanaged[Cdecl] < ID3D12ShaderReflectionConstantBuffer *, uint, ID3D12ShaderReflectionVariable * >)LpVtbl[1])(@this, Index);
            return(ret);
        }
        /// <summary>To be documented.</summary>
        public readonly unsafe ID3D12ShaderReflectionVariable *GetVariableByName(string Name)
        {
            var @this = (ID3D12ShaderReflection *)Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            ID3D12ShaderReflectionVariable *ret = default;
            var NamePtr = (byte *)Marshal.StringToHGlobalAnsi(Name);

            ret = ((delegate * unmanaged[Cdecl] < ID3D12ShaderReflection *, byte *, ID3D12ShaderReflectionVariable * >)LpVtbl[10])(@this, NamePtr);
            Marshal.FreeHGlobal((nint)NamePtr);
            return(ret);
        }
        /// <summary>To be documented.</summary>
        public readonly unsafe ID3D12ShaderReflectionVariable *GetVariableByName(ref byte Name)
        {
            var @this = (ID3D12ShaderReflectionConstantBuffer *)Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            ID3D12ShaderReflectionVariable *ret = default;

            fixed(byte *NamePtr = &Name)
            {
                ret = ((delegate * unmanaged[Cdecl] < ID3D12ShaderReflectionConstantBuffer *, byte *, ID3D12ShaderReflectionVariable * >)LpVtbl[2])(@this, NamePtr);
            }

            return(ret);
        }