Compartir a través de


PFND3D11DDI_COPYSTRUCTURECOUNT función de devolución de llamada (d3d10umddi.h)

La función CopyStructureCount copia el número de elementos de la parte rellenada (es decir, el valor de tamaño rellenado) de una vista de acceso desordenada (UAV) de búfer anexado a un desplazamiento en un búfer de destino.

Sintaxis

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

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

Parámetros

unnamedParam1

hDevice [in]

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

hDstBuffer [in]

Identificador de un búfer de destino en el que se copia el valor de tamaño rellenado de un UAV. Para crear este búfer de destino, el runtime debe haber llamado previamente a la función CreateResource(D3D11) del controlador con el miembro ResourceDimension de la estructura de D3D11DDIARG_CREATERESOURCE establecida en el valor de D3D10DDIRESOURCE_BUFFER.

unnamedParam3

DstAlignedByteOffset [in]

Desplazamiento alineado de 4 bytes, en bytes, en el búfer de destino que especifica el parámetro hDstBuffer . CopyStructureCount copia el valor de tamaño rellenado de la vista de búfer append que el parámetro hSrcView especifica para este desplazamiento en hDstBuffer. DstAlignedByteOffset debe ser un múltiplo de cuatro.

unnamedParam4

hSrcView [in]

Identificador para el UAV de anexión de origen, que debe ser una vista de búfer de anexión. CopyStructureCount copia el valor de tamaño rellenado de esta vista en el búfer de destino que especifica el parámetro hDstBuffer . Para crear esta vista de búfer de anexión, el tiempo de ejecución debe haber llamado previamente a la función CreateUnorderedAccessView del controlador con la marca D3D11_DDI_BUFFER_UAV_FLAG_APPEND establecida.

Valor devuelto

None

Observaciones

El controlador puede usar la función de devolución de llamada pfnSetErrorCb para establecer un código de error.

El controlador no debe encontrar ningún error, excepto por D3DDDIERR_DEVICEREMOVED. Por lo tanto, si el controlador pasa algún error, excepto por D3DDDIERR_DEVICEREMOVED, en una llamada a la función pfnSetErrorCb , el tiempo de ejecución de Direct3D determina que el error es crítico. Incluso si se quita el dispositivo, no es necesario que el controlador devuelva D3DDDIERR_DEVICEREMOVED; Sin embargo, si la eliminación del dispositivo interfiere con el funcionamiento de CopyStructureCount (que normalmente no debería ocurrir), el controlador puede devolver D3DDDIERR_DEVICEREMOVED.

CopyStructureCount toma el valor de tamaño rellenado del UAV del búfer de anexión (un UAV que admite operaciones de inserción y elementos emergentes en estructuras como en una pila) y copia este valor en un desplazamiento en el búfer de destino. El hardware gráfico usa un valor de tamaño relleno de 4 bytes para realizar un seguimiento de la cantidad de datos rellenados en el UAV del búfer anexado.

Requisitos

Requisito Value
Cliente mínimo compatible CopyStructureCount se admite a partir del sistema operativo Windows 7.
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb