Поделиться через


Метод ID3D11DeviceContext::FinishCommandList (d3d11.h)

Создайте список команд и запишите в него графические команды.

Синтаксис

HRESULT FinishCommandList(
                  BOOL              RestoreDeferredContextState,
  [out, optional] ID3D11CommandList **ppCommandList
);

Параметры

RestoreDeferredContextState

Тип: BOOL

Логический флаг, который определяет, сохраняет ли среда выполнения отложенное состояние контекста перед выполнением FinishCommandList и восстанавливает его после. Используйте значение TRUE , чтобы указать, что среде выполнения необходимо сохранить и восстановить состояние. Используйте значение FALSE , чтобы указать, что среда выполнения не будет сохранять или восстанавливать состояние. В этом случае отложенный контекст вернется в состояние по умолчанию после завершения вызова FinishCommandList . Сведения о состоянии по умолчанию см. в разделе ID3D11DeviceContext::ClearState. Как правило, используйте значение FALSE , если вы не восстановите состояние, почти эквивалентное состоянию, которое среда выполнения восстановит, если вы передали значение TRUE. При использовании false можно избежать ненужных и неэффективных переходов состояния.

Примечание Этот параметр не влияет на список команд, возвращаемый текущим вызовом FinishCommandList . Однако этот параметр влияет на список команд следующего вызова FinishCommandList в том же отложенном контексте.
 

[out, optional] ppCommandList

Тип: ID3D11CommandList**

После завершения метода переданный указатель на интерфейс ID3D11CommandList инициализируется с записанными сведениями о списке команд. Полученный объект ID3D11CommandList является неизменяемым и может использоваться только с ID3D11DeviceContext::ExecuteCommandList.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения; в противном случае возвращает одно из следующих значений:

  • Возвращает DXGI_ERROR_DEVICE_REMOVED, если карта видео было физически удалено из системы или произошло обновление драйвера для карта видео. При возникновении этой ошибки необходимо уничтожить и повторно создать устройство.
  • Возвращает DXGI_ERROR_INVALID_CALL, если метод FinishCommandList не может быть вызван из текущего контекста. См. примечания.
  • Возвращает E_OUTOFMEMORY, если приложение исчерпало доступную память.

Комментарии

Создайте список команд из отложенного контекста и запишите в него команды, вызвав Метод FinishCommandList. Воспроизвести список команд с непосредственным контекстом, вызвав ID3D11DeviceContext::ExecuteCommandList.

Немедленное состояние контекста очищается до и после выполнения списка команд. Список команд не имеет понятия наследования. Каждый вызов FinishCommandList будет записывать только состояние, заданное с момента предыдущего вызова FinishCommandList.

Например, состояние контекста устройства — это состояние отрисовки или состояние конвейера. Чтобы получить состояние контекста устройства, приложение может вызвать ID3D11DeviceContext::GetData или ID3D11DeviceContext::GetPredication.

Дополнительные сведения об использовании FinishCommandList см. в разделе Практическое руководство. Запись списка команд.

Windows Phone 8. Этот API поддерживается.

Требования

Требование Значение
Целевая платформа Windows
Header d3d11.h
Библиотека D3d11.lib

См. также раздел

ID3D11DeviceContext