ID3D12Device::CreateCommandAllocator 方法 (d3d12.h)
创建命令分配器对象。
语法
HRESULT CreateCommandAllocator(
[in] D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
[out] void **ppCommandAllocator
);
参数
[in] type
一个D3D12_COMMAND_LIST_TYPE类型的值,该值指定要创建的命令分配器的类型。 命令分配器的类型可以是记录直接命令列表或捆绑包的类型。
riid
类型: REFIID
命令分配器接口的全局唯一标识符 (GUID) (ID3D12CommandAllocator) 。 可以使用 __uuidof () 宏获取命令分配器的接口的 REFIID 或 GUID。 例如,__uuidof (ID3D12CommandAllocator) 将获取命令分配器的接口的 GUID 。
[out] ppCommandAllocator
类型: void**
指向内存块的指针,该内存块接收指向命令分配 器的 ID3D12CommandAllocator 接口的指针。
返回值
类型: HRESULT
如果内存不足,无法创建命令分配器,此方法将返回 E_OUTOFMEMORY 。 有关其他可能的返回值,请参阅 Direct3D 12 返回代码 。
注解
设备从命令分配器创建命令列表。
示例
D3D12Bundles 示例使用 ID3D12Device::CreateCommandAllocator,如下所示:
ThrowIfFailed(pDevice->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_DIRECT, IID_PPV_ARGS(&m_commandAllocator)));
ThrowIfFailed(pDevice->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_BUNDLE, IID_PPV_ARGS(&m_bundleAllocator)));
请参阅 D3D12 参考中的示例代码。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d12.h |
Library | D3D12.lib |
DLL | D3D12.dll |