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