c++ – How to get struct layouts from vertex shader input using ID3D12Reflection

I am attempting to write a code generator that builds C++ structs/classes from D3D12 reflection data built using DXC. Given a simple vertex shader signature:

struct Light
    float3 Color;
    float3 Dir;

struct cbPerPass : register(b0)
    float4x4 gWorldProjTransform;
    Light gGlobaLight;

struct VertexIn
    float3 Pos      : POSITION;
    float4 Color    : COLOR;

struct VertexOut;  // unimportant for the question

VertexOut VS(VertexIn vin) { // do calculations here }

I can retrieve the input parameters via ID3D12ShaderReflection::GetInputParameterDesc(), but this only reports the mapping of VertexIn members to shader registers and any attached semantics. I can get the layout of cbPerPass through ID3D12ShaderReflection::GetConstantBufferByIndex() and the layout of Light through the ID3D12ShaderReflectionType interface.

However, what I would like to retrieve is the layout of the VertexIn struct. Is there a way to do this?