estructura D3DDDICB_PRESENT (d3dumddi.h)

La estructura de D3DDDICB_PRESENT describe las asignaciones desde las que se copia el contenido.

Sintaxis

typedef struct _D3DDDICB_PRESENT {
  [in] D3DKMT_HANDLE            hSrcAllocation;
  [in] D3DKMT_HANDLE            hDstAllocation;
  [in] HANDLE                   hContext;
  [in] UINT                     BroadcastContextCount;
       HANDLE                   BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
       D3DKMT_HANDLE            *BroadcastSrcAllocation;
       D3DKMT_HANDLE            *BroadcastDstAllocation;
       UINT                     PrivateDriverDataSize;
       PVOID                    pPrivateDriverData;
       BOOLEAN                  bOptimizeForComposition;
       BOOL                     SyncIntervalOverrideValid;
       D3DDDI_FLIPINTERVAL_TYPE SyncIntervalOverride;
} D3DDDICB_PRESENT;

Miembros

[in] hSrcAllocation

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel para la asignación de origen. La función pfnAllocateCb del entorno de ejecución de Microsoft Direct3D devuelve este identificador. Por lo tanto, el controlador de pantalla en modo de usuario debe usar este identificador para copiar contenido.

[in] hDstAllocation

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel para la asignación de destino. hDstAllocation puede ser cero si se desconoce el destino; el modo kernel determinará el destino justo antes de DMA del flujo de comandos de hardware al procesador de gráficos.

[in] hContext

Identificador del contexto al que el controlador envía la operación de copia. El controlador de pantalla en modo de usuario creó este contexto llamando a la función pfnCreateContextCb .

[in] BroadcastContextCount

Número de contextos adicionales de la matriz que especifica el miembro BroadcastContext .

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Matriz de identificadores a los contextos adicionales a los que difundir la operación actual actual. La constante D3DDDI_MAX_BROADCAST_CONTEXT, que se define como 64, define el número máximo de contextos adicionales a los que el controlador de pantalla en modo de usuario puede difundir la operación actual presente.

La difusión solo se admite para las operaciones de volteo. Para difundir una operación de volteo, el controlador de minipuerto de pantalla debe admitir volteos basados en E/S asignadas por memoria (MMIO). Para indicar la compatibilidad con volteos MMIO, el controlador de minipuerto de pantalla establece la marca de campo de bits FlipOnVSyncMmIo en el miembro FlipCaps de la estructura DXGK_DRIVERCAPS cuando se llama a su función DxgkDdiQueryAdapterInfo .

El contexto original que especifica el miembro hContext y que el controlador de visualización en modo de usuario presenta no es un elemento de la matriz BroadcastContext . Por ejemplo, si la matriz BroadcastContext contiene un elemento, el controlador de pantalla en modo de usuario envía la operación presente al contexto propietario (hContext) y transmite a ese contexto adicional.

BroadcastSrcAllocation

Asignaciones a las que se presentará el contenido.

BroadcastDstAllocation

Si no es cero, representa las asignaciones de destino del presente.

PrivateDriverDataSize

Tamaño de datos del controlador privado en bytes.

pPrivateDriverData

Datos del controlador privado que se van a pasar a DdiPresent.

bOptimizeForComposition

DWM está implicado en la composición.

SyncIntervalOverrideValid

Invalidar el intervalo de sincronización de aplicaciones es válido.

SyncIntervalOverride

Invalide el intervalo de sincronización de aplicaciones.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

pfnAllocateCb

pfnPresentCb