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


функция обратного вызова PFND3D11DDI_COPYSTRUCTURECOUNT (d3d10umddi.h)

Функция CopyStructureCount копирует количество элементов в заполненной части (т. е. значения заполненного размера) представления неупорядоченного доступа (UAV) буфера добавления в смещение в буфер назначения.

Синтаксис

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

void Pfnd3d11ddiCopystructurecount(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT unnamedParam3,
  D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam4
)
{...}

Параметры

unnamedParam1

hDevice [in]

Дескриптор устройства отображения (графический контекст).

unnamedParam2

hDstBuffer [in]

Дескриптор целевого буфера для копирования значения заполненного размера UAV. Чтобы создать этот буфер назначения, среда выполнения должна ранее вызывать функцию CreateResource(D3D11) драйвера с элементом ResourceDimensionструктуры D3D11DDIARG_CREATERESOURCE , для которых задано значение D3D10DDIRESOURCE_BUFFER.

unnamedParam3

DstAlignedByteOffset [in]

Смещение в 4 байтах в буфере назначения, задаваемое параметром hDstBuffer . CopyStructureCount копирует значение заполненного размера представления буфера добавления, указанное параметром hSrcView для этого смещения в hDstBuffer. Значение DstAlignedByteOffset должно быть кратно четырем.

unnamedParam4

hSrcView [вход]

Дескриптор для исходного дополнительного UAV, который должен быть представлением буфера добавления. CopyStructureCount копирует значение заполненного размера этого представления в буфер назначения, указанный параметром hDstBuffer . Чтобы создать это представление буфера добавления, среда выполнения должна вызвать функцию CreateUnorderedAccessView драйвера с установленным флагом D3D11_DDI_BUFFER_UAV_FLAG_APPEND.

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

None

Remarks

Драйвер может использовать функцию обратного вызова pfnSetErrorCb , чтобы задать код ошибки.

Драйвер не должен столкнуться с какой-либо ошибкой, за исключением D3DDDIERR_DEVICEREMOVED. Таким образом, если драйвер передает любую ошибку, за исключением D3DDDIERR_DEVICEREMOVED, в вызове функции pfnSetErrorCb , среда выполнения Direct3D определяет, что ошибка является критической. Даже если устройство удалено, драйвер не обязан возвращать D3DDDIERR_DEVICEREMOVED; Однако если удаление устройства мешает работе CopyStructureCount (что обычно не должно происходить), драйвер может вернуть D3DDDIERR_DEVICEREMOVED.

CopyStructureCount принимает значение заполненного размера дополнительного буфера UAV (UAV, который поддерживает операции отправки и всплывающих окон в таких структурах, как в стеке) и копирует это значение в смещение в буфер назначения. Графическое оборудование использует 4-байтовое значение размера с заполнением для отслеживания объема данных, заполненных в дополнительном буфере UAV.

Требования

Требование Значение
Минимальная версия клиента CopyStructureCount поддерживается начиная с операционной системы Windows 7.
Целевая платформа Персональный компьютер
Верхняя часть d3d10umddi.h (включая D3d10umddi.h)

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

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb