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


функция обратного вызова 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 [in]

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

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

Никакой

Замечания

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские CopyStructureCount поддерживается начиная с операционной системы Windows 7.
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb