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 desordenado (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 al que copiar el valor de tamaño rellenado de un UAV. Para crear este búfer de destino, el entorno de ejecución debe haber llamado previamente a la función CreateResource(D3D11) del controlador con la función ResourceDimension miembro de la estructura 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 anexada que el parámetro hSrcView especifica para este desplazamiento en hDstBuffer. DstAlignedByteOffset debe ser un múltiplo de cuatro.

unnamedParam4

hSrcView [in]

Identificador del 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 entorno 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

Ninguno

Observaciones

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

El controlador no debe encontrar ningún error, excepto 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 que se rellenan en el UAV del búfer de anexión.

Requisitos

Requisito Valor
cliente mínimo admitido CopyStructureCount se admite a partir del sistema operativo Windows 7.
de la plataforma de destino de Escritorio
encabezado de d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb de