/* This file is autogenerated, DO NOT MODIFY */
#define ID3D12Object_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Object_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Object_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Object_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Object_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Object_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceChild_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceChild_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12DeviceChild_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12RootSignature_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12RootSignature_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12RootSignature_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12RootSignature_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12RootSignature_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12RootSignatureDeserializer_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12RootSignatureDeserializer_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This)	\
    ( (This)->GetRootSignatureDesc() ) 
#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12VersionedRootSignatureDeserializer_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12VersionedRootSignatureDeserializer_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc)	\
    ( (This)->GetRootSignatureDescAtVersion(convertToVersion,ppDesc) ) 
#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This)	\
    ( (This)->GetUnconvertedRootSignatureDesc() ) 
#define ID3D12Pageable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Pageable_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Pageable_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Pageable_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Pageable_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Heap_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Heap_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Heap_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Heap_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Heap_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Heap_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Resource_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Resource_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Resource_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Resource_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Resource_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Resource_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Resource_Map(This,Subresource,pReadRange,ppData)	\
    ( (This)->Map(Subresource,pReadRange,ppData) ) 
#define ID3D12Resource_Unmap(This,Subresource,pWrittenRange)	\
    ( (This)->Unmap(Subresource,pWrittenRange) ) 
#define ID3D12Resource_GetGPUVirtualAddress(This)	\
    ( (This)->GetGPUVirtualAddress() ) 
#define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)	\
    ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) 
#define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox)	\
    ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) 
#define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags)	\
    ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) ) 
#define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12CommandAllocator_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12CommandAllocator_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12CommandAllocator_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12CommandAllocator_Reset(This)	\
    ( (This)->Reset() ) 
#define ID3D12Fence_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Fence_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Fence_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Fence_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Fence_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Fence_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Fence_GetCompletedValue(This)	\
    ( (This)->GetCompletedValue() ) 
#define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent)	\
    ( (This)->SetEventOnCompletion(Value,hEvent) ) 
#define ID3D12Fence_Signal(This,Value)	\
    ( (This)->Signal(Value) ) 
#define ID3D12Fence1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Fence1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Fence1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Fence1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Fence1_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Fence1_GetCompletedValue(This)	\
    ( (This)->GetCompletedValue() ) 
#define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent)	\
    ( (This)->SetEventOnCompletion(Value,hEvent) ) 
#define ID3D12Fence1_Signal(This,Value)	\
    ( (This)->Signal(Value) ) 
#define ID3D12Fence1_GetCreationFlags(This)	\
    ( (This)->GetCreationFlags() ) 
#define ID3D12PipelineState_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12PipelineState_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12PipelineState_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12PipelineState_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12PipelineState_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12PipelineState_GetCachedBlob(This,ppBlob)	\
    ( (This)->GetCachedBlob(ppBlob) ) 
#define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DescriptorHeap_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DescriptorHeap_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12DescriptorHeap_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12QueryHeap_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12QueryHeap_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12QueryHeap_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12CommandSignature_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12CommandSignature_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12CommandSignature_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12CommandList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12CommandList_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12CommandList_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12CommandList_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12CommandList_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12CommandList_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList1_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList1_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList1_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList2_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList2_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList2_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList2_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12CommandQueue_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12CommandQueue_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12CommandQueue_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags)	\
    ( (This)->UpdateTileMappings(pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) ) 
#define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags)	\
    ( (This)->CopyTileMappings(pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) ) 
#define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists)	\
    ( (This)->ExecuteCommandLists(NumCommandLists,ppCommandLists) ) 
#define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12CommandQueue_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12CommandQueue_Signal(This,pFence,Value)	\
    ( (This)->Signal(pFence,Value) ) 
#define ID3D12CommandQueue_Wait(This,pFence,Value)	\
    ( (This)->Wait(pFence,Value) ) 
#define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency)	\
    ( (This)->GetTimestampFrequency(pFrequency) ) 
#define ID3D12CommandQueue_GetClockCalibration(This,pGPUTimestamp,pCpuTimestamp)	\
    ( (This)->GetClockCalibration(pGPUTimestamp,pCpuTimestamp) ) 
#define ID3D12Device_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12PipelineLibrary_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12PipelineLibrary_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12PipelineLibrary_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline)	\
    ( (This)->StorePipeline(pName,pPipeline) ) 
#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState)	\
    ( (This)->LoadGraphicsPipeline(pName,pDesc,riid,ppPipelineState) ) 
#define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState)	\
    ( (This)->LoadComputePipeline(pName,pDesc,riid,ppPipelineState) ) 
#define ID3D12PipelineLibrary_GetSerializedSize(This)	\
    ( (This)->GetSerializedSize() ) 
#define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes)	\
    ( (This)->Serialize(pData,DataSizeInBytes) ) 
#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12PipelineLibrary1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12PipelineLibrary1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12PipelineLibrary1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline)	\
    ( (This)->StorePipeline(pName,pPipeline) ) 
#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState)	\
    ( (This)->LoadGraphicsPipeline(pName,pDesc,riid,ppPipelineState) ) 
#define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState)	\
    ( (This)->LoadComputePipeline(pName,pDesc,riid,ppPipelineState) ) 
#define ID3D12PipelineLibrary1_GetSerializedSize(This)	\
    ( (This)->GetSerializedSize() ) 
#define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes)	\
    ( (This)->Serialize(pData,DataSizeInBytes) ) 
#define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState)	\
    ( (This)->LoadPipeline(pName,pDesc,riid,ppPipelineState) ) 
#define ID3D12Device1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device1_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device1_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device1_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device1_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device1_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device2_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device2_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device2_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device2_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device2_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device2_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device2_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device3_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device3_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device3_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device3_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device3_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device3_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device3_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device3_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device3_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12ProtectedSession_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12ProtectedSession_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12ProtectedSession_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence)	\
    ( (This)->GetStatusFence(riid,ppFence) ) 
#define ID3D12ProtectedSession_GetSessionStatus(This)	\
    ( (This)->GetSessionStatus() ) 
#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12ProtectedResourceSession_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12ProtectedResourceSession_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12ProtectedResourceSession_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence)	\
    ( (This)->GetStatusFence(riid,ppFence) ) 
#define ID3D12ProtectedResourceSession_GetSessionStatus(This)	\
    ( (This)->GetSessionStatus() ) 
#define ID3D12Device4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device4_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device4_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device4_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device4_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device4_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device4_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device4_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device4_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device4_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12LifetimeOwner_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12LifetimeOwner_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState)	\
    ( (This)->LifetimeStateUpdated(NewState) ) 
#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12SwapChainAssistant_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12SwapChainAssistant_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv)	\
    ( (This)->GetSwapChainObject(riid,ppv) ) 
#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue)	\
    ( (This)->GetCurrentResourceAndCommandQueue(riidResource,ppvResource,riidQueue,ppvQueue) ) 
#define ID3D12SwapChainAssistant_InsertImplicitSync(This)	\
    ( (This)->InsertImplicitSync() ) 
#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12LifetimeTracker_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12LifetimeTracker_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12LifetimeTracker_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject)	\
    ( (This)->DestroyOwnedObject(pObject) ) 
#define ID3D12StateObject_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12StateObject_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12StateObject_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12StateObject_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12StateObject_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12StateObjectProperties_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12StateObjectProperties_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName)	\
    ( (This)->GetShaderIdentifier(pExportName) ) 
#define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName)	\
    ( (This)->GetShaderStackSize(pExportName) ) 
#define ID3D12StateObjectProperties_GetPipelineStackSize(This)	\
    ( (This)->GetPipelineStackSize() ) 
#define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes)	\
    ( (This)->SetPipelineStackSize(PipelineStackSizeInBytes) ) 
#define ID3D12StateObjectProperties1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12StateObjectProperties1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12StateObjectProperties1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12StateObjectProperties1_GetShaderIdentifier(This,pExportName)	\
    ( (This)->GetShaderIdentifier(pExportName) ) 
#define ID3D12StateObjectProperties1_GetShaderStackSize(This,pExportName)	\
    ( (This)->GetShaderStackSize(pExportName) ) 
#define ID3D12StateObjectProperties1_GetPipelineStackSize(This)	\
    ( (This)->GetPipelineStackSize() ) 
#define ID3D12StateObjectProperties1_SetPipelineStackSize(This,PipelineStackSizeInBytes)	\
    ( (This)->SetPipelineStackSize(PipelineStackSizeInBytes) ) 
#define ID3D12WorkGraphProperties_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12WorkGraphProperties_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12WorkGraphProperties_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12WorkGraphProperties_GetNumWorkGraphs(This)	\
    ( (This)->GetNumWorkGraphs() ) 
#define ID3D12WorkGraphProperties_GetProgramName(This,WorkGraphIndex)	\
    ( (This)->GetProgramName(WorkGraphIndex) ) 
#define ID3D12WorkGraphProperties_GetWorkGraphIndex(This,pProgramName)	\
    ( (This)->GetWorkGraphIndex(pProgramName) ) 
#define ID3D12WorkGraphProperties_GetNumNodes(This,WorkGraphIndex)	\
    ( (This)->GetNumNodes(WorkGraphIndex) ) 
#define ID3D12WorkGraphProperties_GetNodeIndex(This,WorkGraphIndex,NodeID)	\
    ( (This)->GetNodeIndex(WorkGraphIndex,NodeID) ) 
#define ID3D12WorkGraphProperties_GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex)	\
    ( (This)->GetNodeLocalRootArgumentsTableIndex(WorkGraphIndex,NodeIndex) ) 
#define ID3D12WorkGraphProperties_GetNumEntrypoints(This,WorkGraphIndex)	\
    ( (This)->GetNumEntrypoints(WorkGraphIndex) ) 
#define ID3D12WorkGraphProperties_GetEntrypointIndex(This,WorkGraphIndex,NodeID)	\
    ( (This)->GetEntrypointIndex(WorkGraphIndex,NodeID) ) 
#define ID3D12WorkGraphProperties_GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex)	\
    ( (This)->GetEntrypointRecordSizeInBytes(WorkGraphIndex,EntrypointIndex) ) 
#define ID3D12WorkGraphProperties_GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements)	\
    ( (This)->GetWorkGraphMemoryRequirements(WorkGraphIndex,pWorkGraphMemoryRequirements) ) 
#define ID3D12WorkGraphProperties_GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex)	\
    ( (This)->GetEntrypointRecordAlignmentInBytes(WorkGraphIndex,EntrypointIndex) ) 
#define ID3D12Device5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device5_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device5_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device5_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device5_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device5_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device5_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device5_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device5_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device5_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device5_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceRemovedExtendedDataSettings_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement)	\
    ( (This)->SetAutoBreadcrumbsEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement)	\
    ( (This)->SetPageFaultEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement)	\
    ( (This)->SetWatsonDumpEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement)	\
    ( (This)->SetAutoBreadcrumbsEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement)	\
    ( (This)->SetPageFaultEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement)	\
    ( (This)->SetWatsonDumpEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement)	\
    ( (This)->SetBreadcrumbContextEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement)	\
    ( (This)->SetAutoBreadcrumbsEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement)	\
    ( (This)->SetPageFaultEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement)	\
    ( (This)->SetWatsonDumpEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement)	\
    ( (This)->SetBreadcrumbContextEnablement(Enablement) ) 
#define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly)	\
    ( (This)->UseMarkersOnlyAutoBreadcrumbs(MarkersOnly) ) 
#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceRemovedExtendedData_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceRemovedExtendedData_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput)	\
    ( (This)->GetAutoBreadcrumbsOutput(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput)	\
    ( (This)->GetPageFaultAllocationOutput(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceRemovedExtendedData1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceRemovedExtendedData1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput)	\
    ( (This)->GetAutoBreadcrumbsOutput(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput)	\
    ( (This)->GetPageFaultAllocationOutput(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput)	\
    ( (This)->GetAutoBreadcrumbsOutput1(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput)	\
    ( (This)->GetPageFaultAllocationOutput1(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceRemovedExtendedData2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceRemovedExtendedData2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput)	\
    ( (This)->GetAutoBreadcrumbsOutput(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput)	\
    ( (This)->GetPageFaultAllocationOutput(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput)	\
    ( (This)->GetAutoBreadcrumbsOutput1(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput)	\
    ( (This)->GetPageFaultAllocationOutput1(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput)	\
    ( (This)->GetPageFaultAllocationOutput2(pOutput) ) 
#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This)	\
    ( (This)->GetDeviceState() ) 
#define ID3D12Device6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device6_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device6_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device6_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device6_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device6_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device6_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device6_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device6_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device6_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device6_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12ProtectedResourceSession1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12ProtectedResourceSession1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12ProtectedResourceSession1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence)	\
    ( (This)->GetStatusFence(riid,ppFence) ) 
#define ID3D12ProtectedResourceSession1_GetSessionStatus(This)	\
    ( (This)->GetSessionStatus() ) 
#define ID3D12Device7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device7_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device7_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device7_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device7_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device7_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device7_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device7_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device7_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device7_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device7_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device8_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device8_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device8_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device8_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device8_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device8_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device8_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device8_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device8_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device8_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device8_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Resource1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Resource1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Resource1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Resource1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Resource1_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData)	\
    ( (This)->Map(Subresource,pReadRange,ppData) ) 
#define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange)	\
    ( (This)->Unmap(Subresource,pWrittenRange) ) 
#define ID3D12Resource1_GetGPUVirtualAddress(This)	\
    ( (This)->GetGPUVirtualAddress() ) 
#define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)	\
    ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) 
#define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox)	\
    ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) 
#define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags)	\
    ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) ) 
#define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession)	\
    ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) ) 
#define ID3D12Resource2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Resource2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Resource2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Resource2_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Resource2_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData)	\
    ( (This)->Map(Subresource,pReadRange,ppData) ) 
#define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange)	\
    ( (This)->Unmap(Subresource,pWrittenRange) ) 
#define ID3D12Resource2_GetGPUVirtualAddress(This)	\
    ( (This)->GetGPUVirtualAddress() ) 
#define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)	\
    ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) 
#define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox)	\
    ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) 
#define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags)	\
    ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) ) 
#define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession)	\
    ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) ) 
#define ID3D12Heap1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Heap1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Heap1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Heap1_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Heap1_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession)	\
    ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) ) 
#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList3_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList3_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList3_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList3_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList3_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList3_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12MetaCommand_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12MetaCommand_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12MetaCommand_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex)	\
    ( (This)->GetRequiredParameterResourceSize(Stage,ParameterIndex) ) 
#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList4_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList4_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList4_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList4_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList4_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList4_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList4_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12ShaderCacheSession_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12ShaderCacheSession_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12ShaderCacheSession_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize)	\
    ( (This)->FindValue(pKey,KeySize,pValue,pValueSize) ) 
#define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize)	\
    ( (This)->StoreValue(pKey,KeySize,pValue,ValueSize) ) 
#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This)	\
    ( (This)->SetDeleteOnDestroy() ) 
#define ID3D12Device9_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device9_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device9_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device9_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device9_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device9_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device9_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device9_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device9_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device9_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device9_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession)	\
    ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) 
#define ID3D12Device9_ShaderCacheControl(This,Kinds,Control)	\
    ( (This)->ShaderCacheControl(Kinds,Control) ) 
#define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) 
#define ID3D12Device10_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device10_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device10_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device10_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device10_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device10_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device10_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device10_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device10_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device10_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device10_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession)	\
    ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) 
#define ID3D12Device10_ShaderCacheControl(This,Kinds,Control)	\
    ( (This)->ShaderCacheControl(Kinds,Control) ) 
#define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) 
#define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) 
#define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device11_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device11_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device11_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device11_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device11_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device11_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device11_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device11_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device11_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device11_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device11_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession)	\
    ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) 
#define ID3D12Device11_ShaderCacheControl(This,Kinds,Control)	\
    ( (This)->ShaderCacheControl(Kinds,Control) ) 
#define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) 
#define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) 
#define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler2(pDesc,DestDescriptor) ) 
#define ID3D12Device12_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device12_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device12_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device12_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device12_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device12_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device12_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device12_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device12_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device12_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device12_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession)	\
    ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) 
#define ID3D12Device12_ShaderCacheControl(This,Kinds,Control)	\
    ( (This)->ShaderCacheControl(Kinds,Control) ) 
#define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) 
#define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) 
#define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler2(pDesc,DestDescriptor) ) 
#define ID3D12Device13_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device13_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device13_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device13_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device13_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device13_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device13_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device13_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device13_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device13_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device13_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession)	\
    ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) 
#define ID3D12Device13_ShaderCacheControl(This,Kinds,Control)	\
    ( (This)->ShaderCacheControl(Kinds,Control) ) 
#define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) 
#define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) 
#define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler2(pDesc,DestDescriptor) ) 
#define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress1(pAddress,size,riid,ppvHeap) ) 
#define ID3D12Device14_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Device14_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Device14_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Device14_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12Device14_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12Device14_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12Device14_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12Device14_GetNodeCount(This)	\
    ( (This)->GetNodeCount() ) 
#define ID3D12Device14_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) 
#define ID3D12Device14_CreateCommandAllocator(This,type,riid,ppCommandAllocator)	\
    ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) 
#define ID3D12Device14_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device14_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device14_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)	\
    ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) 
#define ID3D12Device14_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)	\
    ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
#define ID3D12Device14_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)	\
    ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) 
#define ID3D12Device14_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)	\
    ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) 
#define ID3D12Device14_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) 
#define ID3D12Device14_CreateConstantBufferView(This,pDesc,DestDescriptor)	\
    ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) 
#define ID3D12Device14_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device14_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)	\
    ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) 
#define ID3D12Device14_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device14_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)	\
    ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) 
#define ID3D12Device14_CreateSampler(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler(pDesc,DestDescriptor) ) 
#define ID3D12Device14_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)	\
    ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) 
#define ID3D12Device14_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)	\
    ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) 
#define ID3D12Device14_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) 
#define ID3D12Device14_CreateHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device14_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device14_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device14_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)	\
    ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) 
#define ID3D12Device14_OpenSharedHandle(This,NTHandle,riid,ppvObj)	\
    ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) 
#define ID3D12Device14_OpenSharedHandleByName(This,Name,Access,pNTHandle)	\
    ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) 
#define ID3D12Device14_MakeResident(This,NumObjects,ppObjects)	\
    ( (This)->MakeResident(NumObjects,ppObjects) ) 
#define ID3D12Device14_Evict(This,NumObjects,ppObjects)	\
    ( (This)->Evict(NumObjects,ppObjects) ) 
#define ID3D12Device14_CreateFence(This,InitialValue,Flags,riid,ppFence)	\
    ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) 
#define ID3D12Device14_GetDeviceRemovedReason(This)	\
    ( (This)->GetDeviceRemovedReason() ) 
#define ID3D12Device14_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device14_CreateQueryHeap(This,pDesc,riid,ppvHeap)	\
    ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) 
#define ID3D12Device14_SetStablePowerState(This,Enable)	\
    ( (This)->SetStablePowerState(Enable) ) 
#define ID3D12Device14_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)	\
    ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) 
#define ID3D12Device14_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)	\
    ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) 
#define ID3D12Device14_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)	\
    ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) 
#define ID3D12Device14_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)	\
    ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) 
#define ID3D12Device14_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)	\
    ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) 
#define ID3D12Device14_CreatePipelineState(This,pDesc,riid,ppPipelineState)	\
    ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) 
#define ID3D12Device14_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) 
#define ID3D12Device14_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) 
#define ID3D12Device14_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal)	\
    ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) 
#define ID3D12Device14_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList)	\
    ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) 
#define ID3D12Device14_CreateProtectedResourceSession(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) 
#define ID3D12Device14_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device14_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap)	\
    ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) 
#define ID3D12Device14_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource)	\
    ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) 
#define ID3D12Device14_CreateLifetimeTracker(This,pOwner,riid,ppvTracker)	\
    ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) 
#define ID3D12Device14_RemoveDevice(This)	\
    ( (This)->RemoveDevice() ) 
#define ID3D12Device14_EnumerateMetaCommands(This,pNumMetaCommands,pDescs)	\
    ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) 
#define ID3D12Device14_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs)	\
    ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) 
#define ID3D12Device14_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand)	\
    ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) 
#define ID3D12Device14_CreateStateObject(This,pDesc,riid,ppStateObject)	\
    ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) 
#define ID3D12Device14_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo)	\
    ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) 
#define ID3D12Device14_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck)	\
    ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) 
#define ID3D12Device14_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired)	\
    ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) 
#define ID3D12Device14_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject)	\
    ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) 
#define ID3D12Device14_CreateProtectedResourceSession1(This,pDesc,riid,ppSession)	\
    ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) 
#define ID3D12Device14_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) 
#define ID3D12Device14_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)	\
    ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) 
#define ID3D12Device14_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor)	\
    ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) 
#define ID3D12Device14_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)	\
    ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) 
#define ID3D12Device14_CreateShaderCacheSession(This,pDesc,riid,ppvSession)	\
    ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) 
#define ID3D12Device14_ShaderCacheControl(This,Kinds,Control)	\
    ( (This)->ShaderCacheControl(Kinds,Control) ) 
#define ID3D12Device14_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue)	\
    ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) 
#define ID3D12Device14_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource)	\
    ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) 
#define ID3D12Device14_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device14_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource)	\
    ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) 
#define ID3D12Device14_CreateSampler2(This,pDesc,DestDescriptor)	\
    ( (This)->CreateSampler2(pDesc,DestDescriptor) ) 
#define ID3D12Device14_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap)	\
    ( (This)->OpenExistingHeapFromAddress1(pAddress,size,riid,ppvHeap) ) 
#define ID3D12Device14_CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature)	\
    ( (This)->CreateRootSignatureFromSubobjectInLibrary(nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) ) 
#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12VirtualizationGuestDevice_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12VirtualizationGuestDevice_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle)	\
    ( (This)->ShareWithHost(pObject,pHandle) ) 
#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd)	\
    ( (This)->CreateFenceFd(pFence,FenceValue,pFenceFd) ) 
#define ID3D12Tools_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Tools_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Tools_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Tools_EnableShaderInstrumentation(This,bEnable)	\
    ( (This)->EnableShaderInstrumentation(bEnable) ) 
#define ID3D12Tools_ShaderInstrumentationEnabled(This)	\
    ( (This)->ShaderInstrumentationEnabled() ) 
#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12SDKConfiguration_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12SDKConfiguration_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath)	\
    ( (This)->SetSDKVersion(SDKVersion,SDKPath) ) 
#define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12SDKConfiguration1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12SDKConfiguration1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath)	\
    ( (This)->SetSDKVersion(SDKVersion,SDKPath) ) 
#define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory)	\
    ( (This)->CreateDeviceFactory(SDKVersion,SDKPath,riid,ppvFactory) ) 
#define ID3D12SDKConfiguration1_FreeUnusedSDKs(This)	\
    ( (This)->FreeUnusedSDKs() ) 
#define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceFactory_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceFactory_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceFactory_InitializeFromGlobalState(This)	\
    ( (This)->InitializeFromGlobalState() ) 
#define ID3D12DeviceFactory_ApplyToGlobalState(This)	\
    ( (This)->ApplyToGlobalState() ) 
#define ID3D12DeviceFactory_SetFlags(This,flags)	\
    ( (This)->SetFlags(flags) ) 
#define ID3D12DeviceFactory_GetFlags(This)	\
    ( (This)->GetFlags() ) 
#define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv)	\
    ( (This)->GetConfigurationInterface(clsid,iid,ppv) ) 
#define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes)	\
    ( (This)->EnableExperimentalFeatures(NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) ) 
#define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice)	\
    ( (This)->CreateDevice(adapter,FeatureLevel,riid,ppvDevice) ) 
#define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceConfiguration_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceConfiguration_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids)	\
    ( (This)->GetEnabledExperimentalFeatures(pGuids,NumGuids) ) 
#define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError)	\
    ( (This)->SerializeVersionedRootSignature(pDesc,ppResult,ppError) ) 
#define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer)	\
    ( (This)->CreateVersionedRootSignatureDeserializer(pBlob,Size,riid,ppvDeserializer) ) 
#define ID3D12DeviceConfiguration1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DeviceConfiguration1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DeviceConfiguration1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DeviceConfiguration1_GetEnabledExperimentalFeatures(This,pGuids,NumGuids)	\
    ( (This)->GetEnabledExperimentalFeatures(pGuids,NumGuids) ) 
#define ID3D12DeviceConfiguration1_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError)	\
    ( (This)->SerializeVersionedRootSignature(pDesc,ppResult,ppError) ) 
#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer)	\
    ( (This)->CreateVersionedRootSignatureDeserializer(pBlob,Size,riid,ppvDeserializer) ) 
#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer)	\
    ( (This)->CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) ) 
#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList5_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList5_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList5_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList5_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList5_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList5_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList5_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners)	\
    ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) 
#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage)	\
    ( (This)->RSSetShadingRateImage(shadingRateImage) ) 
#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList6_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList6_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList6_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList6_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList6_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList6_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList6_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners)	\
    ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) 
#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage)	\
    ( (This)->RSSetShadingRateImage(shadingRateImage) ) 
#define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList7_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList7_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList7_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList7_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList7_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList7_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList7_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners)	\
    ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) 
#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage)	\
    ( (This)->RSSetShadingRateImage(shadingRateImage) ) 
#define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups)	\
    ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) 
#define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList8_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList8_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList8_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList8_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList8_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList8_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList8_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners)	\
    ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) 
#define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage)	\
    ( (This)->RSSetShadingRateImage(shadingRateImage) ) 
#define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups)	\
    ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) 
#define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef)	\
    ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) ) 
#define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList9_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList9_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList9_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList9_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList9_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList9_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList9_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners)	\
    ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) 
#define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage)	\
    ( (This)->RSSetShadingRateImage(shadingRateImage) ) 
#define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups)	\
    ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) 
#define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef)	\
    ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) ) 
#define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias)	\
    ( (This)->RSSetDepthBias(DepthBias,DepthBiasClamp,SlopeScaledDepthBias) ) 
#define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue)	\
    ( (This)->IASetIndexBufferStripCutValue(IBStripCutValue) ) 
#define ID3D12GraphicsCommandList10_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GraphicsCommandList10_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GraphicsCommandList10_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GraphicsCommandList10_GetPrivateData(This,guid,pDataSize,pData)	\
    ( (This)->GetPrivateData(guid,pDataSize,pData) ) 
#define ID3D12GraphicsCommandList10_SetPrivateData(This,guid,DataSize,pData)	\
    ( (This)->SetPrivateData(guid,DataSize,pData) ) 
#define ID3D12GraphicsCommandList10_SetPrivateDataInterface(This,guid,pData)	\
    ( (This)->SetPrivateDataInterface(guid,pData) ) 
#define ID3D12GraphicsCommandList10_SetName(This,Name)	\
    ( (This)->SetName(Name) ) 
#define ID3D12GraphicsCommandList10_GetDevice(This,riid,ppvDevice)	\
    ( (This)->GetDevice(riid,ppvDevice) ) 
#define ID3D12GraphicsCommandList10_GetType(This)	\
    ( (This)->GetType() ) 
#define ID3D12GraphicsCommandList10_Close(This)	\
    ( (This)->Close() ) 
#define ID3D12GraphicsCommandList10_Reset(This,pAllocator,pInitialState)	\
    ( (This)->Reset(pAllocator,pInitialState) ) 
#define ID3D12GraphicsCommandList10_ClearState(This,pPipelineState)	\
    ( (This)->ClearState(pPipelineState) ) 
#define ID3D12GraphicsCommandList10_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList10_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)	\
    ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
#define ID3D12GraphicsCommandList10_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList10_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)	\
    ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) 
#define ID3D12GraphicsCommandList10_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)	\
    ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) 
#define ID3D12GraphicsCommandList10_CopyResource(This,pDstResource,pSrcResource)	\
    ( (This)->CopyResource(pDstResource,pSrcResource) ) 
#define ID3D12GraphicsCommandList10_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)	\
    ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) 
#define ID3D12GraphicsCommandList10_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)	\
    ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
#define ID3D12GraphicsCommandList10_IASetPrimitiveTopology(This,PrimitiveTopology)	\
    ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) 
#define ID3D12GraphicsCommandList10_RSSetViewports(This,NumViewports,pViewports)	\
    ( (This)->RSSetViewports(NumViewports,pViewports) ) 
#define ID3D12GraphicsCommandList10_RSSetScissorRects(This,NumRects,pRects)	\
    ( (This)->RSSetScissorRects(NumRects,pRects) ) 
#define ID3D12GraphicsCommandList10_OMSetBlendFactor(This,BlendFactor)	\
    ( (This)->OMSetBlendFactor(BlendFactor) ) 
#define ID3D12GraphicsCommandList10_OMSetStencilRef(This,StencilRef)	\
    ( (This)->OMSetStencilRef(StencilRef) ) 
#define ID3D12GraphicsCommandList10_SetPipelineState(This,pPipelineState)	\
    ( (This)->SetPipelineState(pPipelineState) ) 
#define ID3D12GraphicsCommandList10_ResourceBarrier(This,NumBarriers,pBarriers)	\
    ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) 
#define ID3D12GraphicsCommandList10_ExecuteBundle(This,pCommandList)	\
    ( (This)->ExecuteBundle(pCommandList) ) 
#define ID3D12GraphicsCommandList10_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)	\
    ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) 
#define ID3D12GraphicsCommandList10_SetComputeRootSignature(This,pRootSignature)	\
    ( (This)->SetComputeRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRootSignature(This,pRootSignature)	\
    ( (This)->SetGraphicsRootSignature(pRootSignature) ) 
#define ID3D12GraphicsCommandList10_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)	\
    ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) 
#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)	\
    ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) 
#define ID3D12GraphicsCommandList10_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList10_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList10_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList10_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)	\
    ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) 
#define ID3D12GraphicsCommandList10_IASetIndexBuffer(This,pView)	\
    ( (This)->IASetIndexBuffer(pView) ) 
#define ID3D12GraphicsCommandList10_IASetVertexBuffers(This,StartSlot,NumViews,pViews)	\
    ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList10_SOSetTargets(This,StartSlot,NumViews,pViews)	\
    ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) 
#define ID3D12GraphicsCommandList10_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)	\
    ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) 
#define ID3D12GraphicsCommandList10_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)	\
    ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList10_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)	\
    ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)	\
    ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) 
#define ID3D12GraphicsCommandList10_DiscardResource(This,pResource,pRegion)	\
    ( (This)->DiscardResource(pResource,pRegion) ) 
#define ID3D12GraphicsCommandList10_BeginQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->BeginQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList10_EndQuery(This,pQueryHeap,Type,Index)	\
    ( (This)->EndQuery(pQueryHeap,Type,Index) ) 
#define ID3D12GraphicsCommandList10_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)	\
    ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) 
#define ID3D12GraphicsCommandList10_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)	\
    ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) 
#define ID3D12GraphicsCommandList10_SetMarker(This,Metadata,pData,Size)	\
    ( (This)->SetMarker(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList10_BeginEvent(This,Metadata,pData,Size)	\
    ( (This)->BeginEvent(Metadata,pData,Size) ) 
#define ID3D12GraphicsCommandList10_EndEvent(This)	\
    ( (This)->EndEvent() ) 
#define ID3D12GraphicsCommandList10_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)	\
    ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) 
#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges)	\
    ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) 
#define ID3D12GraphicsCommandList10_OMSetDepthBounds(This,Min,Max)	\
    ( (This)->OMSetDepthBounds(Min,Max) ) 
#define ID3D12GraphicsCommandList10_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions)	\
    ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) 
#define ID3D12GraphicsCommandList10_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode)	\
    ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) 
#define ID3D12GraphicsCommandList10_SetViewInstanceMask(This,Mask)	\
    ( (This)->SetViewInstanceMask(Mask) ) 
#define ID3D12GraphicsCommandList10_WriteBufferImmediate(This,Count,pParams,pModes)	\
    ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) 
#define ID3D12GraphicsCommandList10_SetProtectedResourceSession(This,pProtectedResourceSession)	\
    ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) 
#define ID3D12GraphicsCommandList10_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags)	\
    ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) 
#define ID3D12GraphicsCommandList10_EndRenderPass(This)	\
    ( (This)->EndRenderPass() ) 
#define ID3D12GraphicsCommandList10_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes)	\
    ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList10_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes)	\
    ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) 
#define ID3D12GraphicsCommandList10_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs)	\
    ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) 
#define ID3D12GraphicsCommandList10_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData)	\
    ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) 
#define ID3D12GraphicsCommandList10_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode)	\
    ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) 
#define ID3D12GraphicsCommandList10_SetPipelineState1(This,pStateObject)	\
    ( (This)->SetPipelineState1(pStateObject) ) 
#define ID3D12GraphicsCommandList10_DispatchRays(This,pDesc)	\
    ( (This)->DispatchRays(pDesc) ) 
#define ID3D12GraphicsCommandList10_RSSetShadingRate(This,baseShadingRate,combiners)	\
    ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) 
#define ID3D12GraphicsCommandList10_RSSetShadingRateImage(This,shadingRateImage)	\
    ( (This)->RSSetShadingRateImage(shadingRateImage) ) 
#define ID3D12GraphicsCommandList10_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)	\
    ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
#define ID3D12GraphicsCommandList10_Barrier(This,NumBarrierGroups,pBarrierGroups)	\
    ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) 
#define ID3D12GraphicsCommandList10_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef)	\
    ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) ) 
#define ID3D12GraphicsCommandList10_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias)	\
    ( (This)->RSSetDepthBias(DepthBias,DepthBiasClamp,SlopeScaledDepthBias) ) 
#define ID3D12GraphicsCommandList10_IASetIndexBufferStripCutValue(This,IBStripCutValue)	\
    ( (This)->IASetIndexBufferStripCutValue(IBStripCutValue) ) 
#define ID3D12GraphicsCommandList10_SetProgram(This,pDesc)	\
    ( (This)->SetProgram(pDesc) ) 
#define ID3D12GraphicsCommandList10_DispatchGraph(This,pDesc)	\
    ( (This)->DispatchGraph(pDesc) ) 
#define ID3D12GBVDiagnostics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12GBVDiagnostics_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12GBVDiagnostics_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12GBVDiagnostics_GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize)	\
    ( (This)->GetGBVEntireSubresourceStatesData(pResource,pData,DataSize) ) 
#define ID3D12GBVDiagnostics_GetGBVSubresourceState(This,pResource,Subresource,pData)	\
    ( (This)->GetGBVSubresourceState(pResource,Subresource,pData) ) 
#define ID3D12GBVDiagnostics_GetGBVResourceUniformState(This,pResource,pData)	\
    ( (This)->GetGBVResourceUniformState(pResource,pData) ) 
#define ID3D12GBVDiagnostics_GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset)	\
    ( (This)->GetGBVResourceInfo(pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) ) 
#define ID3D12GBVDiagnostics_GBVReserved0(This)	\
    ( (This)->GBVReserved0() ) 
#define ID3D12GBVDiagnostics_GBVReserved1(This)	\
    ( (This)->GBVReserved1() ) 
#define ID3D12Debug_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug_EnableDebugLayer(This)	\
    ( (This)->EnableDebugLayer() ) 
#define ID3D12Debug1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug1_EnableDebugLayer(This)	\
    ( (This)->EnableDebugLayer() ) 
#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable)	\
    ( (This)->SetEnableGPUBasedValidation(Enable) ) 
#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable)	\
    ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) 
#define ID3D12Debug2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags)	\
    ( (This)->SetGPUBasedValidationFlags(Flags) ) 
#define ID3D12Debug3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug3_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug3_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug3_EnableDebugLayer(This)	\
    ( (This)->EnableDebugLayer() ) 
#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable)	\
    ( (This)->SetEnableGPUBasedValidation(Enable) ) 
#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable)	\
    ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) 
#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags)	\
    ( (This)->SetGPUBasedValidationFlags(Flags) ) 
#define ID3D12Debug4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug4_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug4_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug4_EnableDebugLayer(This)	\
    ( (This)->EnableDebugLayer() ) 
#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable)	\
    ( (This)->SetEnableGPUBasedValidation(Enable) ) 
#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable)	\
    ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) 
#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags)	\
    ( (This)->SetGPUBasedValidationFlags(Flags) ) 
#define ID3D12Debug4_DisableDebugLayer(This)	\
    ( (This)->DisableDebugLayer() ) 
#define ID3D12Debug5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug5_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug5_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug5_EnableDebugLayer(This)	\
    ( (This)->EnableDebugLayer() ) 
#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable)	\
    ( (This)->SetEnableGPUBasedValidation(Enable) ) 
#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable)	\
    ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) 
#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags)	\
    ( (This)->SetGPUBasedValidationFlags(Flags) ) 
#define ID3D12Debug5_DisableDebugLayer(This)	\
    ( (This)->DisableDebugLayer() ) 
#define ID3D12Debug5_SetEnableAutoName(This,Enable)	\
    ( (This)->SetEnableAutoName(Enable) ) 
#define ID3D12Debug6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12Debug6_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12Debug6_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12Debug6_EnableDebugLayer(This)	\
    ( (This)->EnableDebugLayer() ) 
#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable)	\
    ( (This)->SetEnableGPUBasedValidation(Enable) ) 
#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable)	\
    ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) 
#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags)	\
    ( (This)->SetGPUBasedValidationFlags(Flags) ) 
#define ID3D12Debug6_DisableDebugLayer(This)	\
    ( (This)->DisableDebugLayer() ) 
#define ID3D12Debug6_SetEnableAutoName(This,Enable)	\
    ( (This)->SetEnableAutoName(Enable) ) 
#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable)	\
    ( (This)->SetForceLegacyBarrierValidation(Enable) ) 
#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugDevice1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugDevice1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->SetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->GetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags)	\
    ( (This)->ReportLiveDeviceObjects(Flags) ) 
#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugDevice_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugDevice_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugDevice_SetFeatureMask(This,Mask)	\
    ( (This)->SetFeatureMask(Mask) ) 
#define ID3D12DebugDevice_GetFeatureMask(This)	\
    ( (This)->GetFeatureMask() ) 
#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags)	\
    ( (This)->ReportLiveDeviceObjects(Flags) ) 
#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugDevice2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugDevice2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugDevice2_SetFeatureMask(This,Mask)	\
    ( (This)->SetFeatureMask(Mask) ) 
#define ID3D12DebugDevice2_GetFeatureMask(This)	\
    ( (This)->GetFeatureMask() ) 
#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags)	\
    ( (This)->ReportLiveDeviceObjects(Flags) ) 
#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->SetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->GetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugCommandQueue_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugCommandQueue_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State)	\
    ( (This)->AssertResourceState(pResource,Subresource,State) ) 
#define ID3D12DebugCommandQueue1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugCommandQueue1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugCommandQueue1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugCommandQueue1_AssertResourceState(This,pResource,Subresource,State)	\
    ( (This)->AssertResourceState(pResource,Subresource,State) ) 
#define ID3D12DebugCommandQueue1_AssertResourceAccess(This,pResource,Subresource,Access)	\
    ( (This)->AssertResourceAccess(pResource,Subresource,Access) ) 
#define ID3D12DebugCommandQueue1_AssertTextureLayout(This,pResource,Subresource,Layout)	\
    ( (This)->AssertTextureLayout(pResource,Subresource,Layout) ) 
#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugCommandList1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugCommandList1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State)	\
    ( (This)->AssertResourceState(pResource,Subresource,State) ) 
#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->SetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->GetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugCommandList_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugCommandList_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State)	\
    ( (This)->AssertResourceState(pResource,Subresource,State) ) 
#define ID3D12DebugCommandList_SetFeatureMask(This,Mask)	\
    ( (This)->SetFeatureMask(Mask) ) 
#define ID3D12DebugCommandList_GetFeatureMask(This)	\
    ( (This)->GetFeatureMask() ) 
#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugCommandList2_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugCommandList2_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State)	\
    ( (This)->AssertResourceState(pResource,Subresource,State) ) 
#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask)	\
    ( (This)->SetFeatureMask(Mask) ) 
#define ID3D12DebugCommandList2_GetFeatureMask(This)	\
    ( (This)->GetFeatureMask() ) 
#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->SetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->GetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandList3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12DebugCommandList3_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12DebugCommandList3_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12DebugCommandList3_AssertResourceState(This,pResource,Subresource,State)	\
    ( (This)->AssertResourceState(pResource,Subresource,State) ) 
#define ID3D12DebugCommandList3_SetFeatureMask(This,Mask)	\
    ( (This)->SetFeatureMask(Mask) ) 
#define ID3D12DebugCommandList3_GetFeatureMask(This)	\
    ( (This)->GetFeatureMask() ) 
#define ID3D12DebugCommandList3_SetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->SetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandList3_GetDebugParameter(This,Type,pData,DataSize)	\
    ( (This)->GetDebugParameter(Type,pData,DataSize) ) 
#define ID3D12DebugCommandList3_AssertResourceAccess(This,pResource,Subresource,Access)	\
    ( (This)->AssertResourceAccess(pResource,Subresource,Access) ) 
#define ID3D12DebugCommandList3_AssertTextureLayout(This,pResource,Subresource,Layout)	\
    ( (This)->AssertTextureLayout(pResource,Subresource,Layout) ) 
#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12SharingContract_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12SharingContract_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12SharingContract_Present(This,pResource,Subresource,window)	\
    ( (This)->Present(pResource,Subresource,window) ) 
#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue)	\
    ( (This)->SharedFenceSignal(pFence,FenceValue) ) 
#define ID3D12SharingContract_BeginCapturableWork(This,guid)	\
    ( (This)->BeginCapturableWork(guid) ) 
#define ID3D12SharingContract_EndCapturableWork(This,guid)	\
    ( (This)->EndCapturableWork(guid) ) 
#define ID3D12ManualWriteTrackingResource_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12ManualWriteTrackingResource_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12ManualWriteTrackingResource_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12ManualWriteTrackingResource_TrackWrite(This,Subresource,pWrittenRange)	\
    ( (This)->TrackWrite(Subresource,pWrittenRange) ) 
#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12InfoQueue_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12InfoQueue_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit)	\
    ( (This)->SetMessageCountLimit(MessageCountLimit) ) 
#define ID3D12InfoQueue_ClearStoredMessages(This)	\
    ( (This)->ClearStoredMessages() ) 
#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength)	\
    ( (This)->GetMessage(MessageIndex,pMessage,pMessageByteLength) ) 
#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This)	\
    ( (This)->GetNumMessagesAllowedByStorageFilter() ) 
#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This)	\
    ( (This)->GetNumMessagesDeniedByStorageFilter() ) 
#define ID3D12InfoQueue_GetNumStoredMessages(This)	\
    ( (This)->GetNumStoredMessages() ) 
#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This)	\
    ( (This)->GetNumStoredMessagesAllowedByRetrievalFilter() ) 
#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This)	\
    ( (This)->GetNumMessagesDiscardedByMessageCountLimit() ) 
#define ID3D12InfoQueue_GetMessageCountLimit(This)	\
    ( (This)->GetMessageCountLimit() ) 
#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter)	\
    ( (This)->AddStorageFilterEntries(pFilter) ) 
#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength)	\
    ( (This)->GetStorageFilter(pFilter,pFilterByteLength) ) 
#define ID3D12InfoQueue_ClearStorageFilter(This)	\
    ( (This)->ClearStorageFilter() ) 
#define ID3D12InfoQueue_PushEmptyStorageFilter(This)	\
    ( (This)->PushEmptyStorageFilter() ) 
#define ID3D12InfoQueue_PushCopyOfStorageFilter(This)	\
    ( (This)->PushCopyOfStorageFilter() ) 
#define ID3D12InfoQueue_PushStorageFilter(This,pFilter)	\
    ( (This)->PushStorageFilter(pFilter) ) 
#define ID3D12InfoQueue_PopStorageFilter(This)	\
    ( (This)->PopStorageFilter() ) 
#define ID3D12InfoQueue_GetStorageFilterStackSize(This)	\
    ( (This)->GetStorageFilterStackSize() ) 
#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter)	\
    ( (This)->AddRetrievalFilterEntries(pFilter) ) 
#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength)	\
    ( (This)->GetRetrievalFilter(pFilter,pFilterByteLength) ) 
#define ID3D12InfoQueue_ClearRetrievalFilter(This)	\
    ( (This)->ClearRetrievalFilter() ) 
#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This)	\
    ( (This)->PushEmptyRetrievalFilter() ) 
#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This)	\
    ( (This)->PushCopyOfRetrievalFilter() ) 
#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter)	\
    ( (This)->PushRetrievalFilter(pFilter) ) 
#define ID3D12InfoQueue_PopRetrievalFilter(This)	\
    ( (This)->PopRetrievalFilter() ) 
#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This)	\
    ( (This)->GetRetrievalFilterStackSize() ) 
#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription)	\
    ( (This)->AddMessage(Category,Severity,ID,pDescription) ) 
#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription)	\
    ( (This)->AddApplicationMessage(Severity,pDescription) ) 
#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable)	\
    ( (This)->SetBreakOnCategory(Category,bEnable) ) 
#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable)	\
    ( (This)->SetBreakOnSeverity(Severity,bEnable) ) 
#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable)	\
    ( (This)->SetBreakOnID(ID,bEnable) ) 
#define ID3D12InfoQueue_GetBreakOnCategory(This,Category)	\
    ( (This)->GetBreakOnCategory(Category) ) 
#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity)	\
    ( (This)->GetBreakOnSeverity(Severity) ) 
#define ID3D12InfoQueue_GetBreakOnID(This,ID)	\
    ( (This)->GetBreakOnID(ID) ) 
#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute)	\
    ( (This)->SetMuteDebugOutput(bMute) ) 
#define ID3D12InfoQueue_GetMuteDebugOutput(This)	\
    ( (This)->GetMuteDebugOutput() ) 
#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject)	\
    ( (This)->QueryInterface(riid,ppvObject) ) 
#define ID3D12InfoQueue1_AddRef(This)	\
    ( (This)->AddRef() ) 
#define ID3D12InfoQueue1_Release(This)	\
    ( (This)->Release() ) 
#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit)	\
    ( (This)->SetMessageCountLimit(MessageCountLimit) ) 
#define ID3D12InfoQueue1_ClearStoredMessages(This)	\
    ( (This)->ClearStoredMessages() ) 
#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength)	\
    ( (This)->GetMessage(MessageIndex,pMessage,pMessageByteLength) ) 
#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This)	\
    ( (This)->GetNumMessagesAllowedByStorageFilter() ) 
#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This)	\
    ( (This)->GetNumMessagesDeniedByStorageFilter() ) 
#define ID3D12InfoQueue1_GetNumStoredMessages(This)	\
    ( (This)->GetNumStoredMessages() ) 
#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This)	\
    ( (This)->GetNumStoredMessagesAllowedByRetrievalFilter() ) 
#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This)	\
    ( (This)->GetNumMessagesDiscardedByMessageCountLimit() ) 
#define ID3D12InfoQueue1_GetMessageCountLimit(This)	\
    ( (This)->GetMessageCountLimit() ) 
#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter)	\
    ( (This)->AddStorageFilterEntries(pFilter) ) 
#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength)	\
    ( (This)->GetStorageFilter(pFilter,pFilterByteLength) ) 
#define ID3D12InfoQueue1_ClearStorageFilter(This)	\
    ( (This)->ClearStorageFilter() ) 
#define ID3D12InfoQueue1_PushEmptyStorageFilter(This)	\
    ( (This)->PushEmptyStorageFilter() ) 
#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This)	\
    ( (This)->PushCopyOfStorageFilter() ) 
#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter)	\
    ( (This)->PushStorageFilter(pFilter) ) 
#define ID3D12InfoQueue1_PopStorageFilter(This)	\
    ( (This)->PopStorageFilter() ) 
#define ID3D12InfoQueue1_GetStorageFilterStackSize(This)	\
    ( (This)->GetStorageFilterStackSize() ) 
#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter)	\
    ( (This)->AddRetrievalFilterEntries(pFilter) ) 
#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength)	\
    ( (This)->GetRetrievalFilter(pFilter,pFilterByteLength) ) 
#define ID3D12InfoQueue1_ClearRetrievalFilter(This)	\
    ( (This)->ClearRetrievalFilter() ) 
#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This)	\
    ( (This)->PushEmptyRetrievalFilter() ) 
#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This)	\
    ( (This)->PushCopyOfRetrievalFilter() ) 
#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter)	\
    ( (This)->PushRetrievalFilter(pFilter) ) 
#define ID3D12InfoQueue1_PopRetrievalFilter(This)	\
    ( (This)->PopRetrievalFilter() ) 
#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This)	\
    ( (This)->GetRetrievalFilterStackSize() ) 
#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription)	\
    ( (This)->AddMessage(Category,Severity,ID,pDescription) ) 
#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription)	\
    ( (This)->AddApplicationMessage(Severity,pDescription) ) 
#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable)	\
    ( (This)->SetBreakOnCategory(Category,bEnable) ) 
#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable)	\
    ( (This)->SetBreakOnSeverity(Severity,bEnable) ) 
#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable)	\
    ( (This)->SetBreakOnID(ID,bEnable) ) 
#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category)	\
    ( (This)->GetBreakOnCategory(Category) ) 
#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity)	\
    ( (This)->GetBreakOnSeverity(Severity) ) 
#define ID3D12InfoQueue1_GetBreakOnID(This,ID)	\
    ( (This)->GetBreakOnID(ID) ) 
#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute)	\
    ( (This)->SetMuteDebugOutput(bMute) ) 
#define ID3D12InfoQueue1_GetMuteDebugOutput(This)	\
    ( (This)->GetMuteDebugOutput() ) 
#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie)	\
    ( (This)->RegisterMessageCallback(CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) ) 
#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie)	\
    ( (This)->UnregisterMessageCallback(CallbackCookie) ) 
