Compartir a través de


estructura D3DKMT_PRESENT (d3dkmthk.h)

La estructura D3DKMT_PRESENT describe la operación actual.

Sintaxis

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  [in] HWND                           hWindow;
  [in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  [in] D3DKMT_HANDLE                  hSource;
  [in] D3DKMT_HANDLE                  hDestination;
  [in] UINT                           Color;
  [in] RECT                           DstRect;
  [in] RECT                           SrcRect;
  [in] UINT                           SubRectCnt;
  [in] const RECT                     *pSrcSubRects;
  [in] UINT                           PresentCount;
  [in] D3DDDI_FLIPINTERVAL_TYPE       FlipInterval;
  [in] D3DKMT_PRESENTFLAGS            Flags;
  [in] ULONG                          BroadcastContextCount;
       D3DKMT_HANDLE                  BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [in] HANDLE                         PresentLimitSemaphore;
  [in] D3DKMT_PRESENTHISTORYTOKEN     PresentHistoryToken;
       D3DKMT_PRESENT_RGNS            *pPresentRegions;
  union {
         D3DKMT_HANDLE hAdapter;
         D3DKMT_HANDLE hIndirectContext;
  };
       UINT                           Duration;
       D3DKMT_HANDLE                  *BroadcastSrcAllocation;
       D3DKMT_HANDLE                  *BroadcastDstAllocation;
       UINT                           PrivateDriverDataSize;
       PVOID                          pPrivateDriverData;
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

Miembros

[in] hDevice

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel al que se va a presentar el dispositivo. Se proporciona un identificador de dispositivo a la función D3DKMTPresent de en la unión que D3DKMT_PRESENT contiene por compatibilidad con Microsoft Direct3D versión 10.

[in] hContext

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel al contexto del dispositivo al que se va a presentar.

[in] hWindow

Identificador de la ventana a la que se aplica la transferencia de bloques de bits (bitblt). Un valor de NULL indica la ventana de escritorio. El valor de hWindow puede ser NULL a menos que el Blt de o ColorFill marca de campo de bits se especifique en el miembro Flags.

[in] VidPnSourceId

El número de identificación de base cero del origen del vídeo presente en una ruta de acceso de una topología de red (VidPN) de vídeo en la que restringir la visualización, si el RestrictVidPnSource marca de campo de bits se establece en el miembro Flags.

Si se establece la marca de campo de bits RestrictVidPnSource y el miembro hWindow es NULL, el miembro VidPnSourceId indica qué salida es bitblt de pantalla completa. dirigido a Si se establece restrictVidPnSource y hWindow no esNULL, VidPnSourceId indica a qué salida restringir la transferencia de bloques de bits con ventana.

[in] hSource

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel para la memoria del sistema o la asignación principal desde la que se va a presentar, si el ColorFill marca de campo de bits no está establecido en el miembro Flags.

[in] hDestination

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel para la asignación de destino. de hDestination puede ser cero si se desconoce el destino.

El identificador de hDestination solo es válido si el Blt marca de campo de bits está establecida en el miembro Flags.

Si el identificador de la hDestination miembro es distinto de cero, el hDestination y los identificadores de hWindow deben hacer referencia a dos asignaciones principales diferentes del mismo tamaño, El dispositivo del miembro hDevice debe ser propietario del origen del vídeo presente identificado por el miembro VidPnSourceId y la marca de SrcRectValid campo de bits debe establecerse en el miembro Flags.

[in] Color

El valor de relleno de color o clave de color arGB de 32 bits (vea el valor de relleno de color o clave de color de D3DDDIFORMAT). Se establece un valor para el relleno de color cuando el ColorFill marca de campo de bits se establece en el miembro Marcas de . Se establece un valor para la clave de color cuando el SrcColorKey o DstColorKey marca de campo de bits se establece en el miembro Flags. Tenga en cuenta que solo se establece una de las marcas de ColorFill, SrcColorKeyy DstColorKey marcas de campo de bits.

Si el formato principal es RGB pálido, Color contiene el índice de paleta en lugar del valor de D3DDDIFMT_A8R8G8B8 de D3DDDIFORMAT.

[in] DstRect

El destino opcional RECT para el bitblt. El RECT de destino solo se usa si el DstRectValid marca de campo de bits se establece en el miembro Flags.

[in] SrcRect

RECT de origen opcional para el bitblt. El RECT de origen solo se usa si el SrcRectValid marca de campo de bits se establece en el miembro Flags.

[in] SubRectCnt

Número de regiones subrectangulares que pSrcSubRects apunta a que se especifican al presentar.

[in] pSrcSubRects

Puntero a una matriz de regiones subrectangulares (RECT) que se especifican al presentar.

[in] PresentCount

Número de operaciones presentes que se pueden poner en cola para el dispositivo especificado por hDevice.

[in] FlipInterval

Valor de tipo D3DDDI_FLIPINTERVAL_TYPEque indica el intervalo de volteo (es decir, si el volteo se produce después de cero, uno, dos, tres o cuatro sincronizaciones verticales).

[in] Flags

Estructura D3DKMT_PRESENTFLAGS que identifica, en marcas de campo de bits, cómo mostrar. Tenga en cuenta que los ColorFill, SrcColorKeyy DstColorKey marcas de campo de bits son mutuamente excluyentes.

[in] BroadcastContextCount

Número de contextos adicionales de la matriz que broadcastContext especifica.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Matriz de D3DKMT_HANDLE tipos de datos que representan identificadores del modo kernel 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 a los que openGL ICD puede difundir la operación actual actual.

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 asignados a memoria (MMIO). Para indicar la compatibilidad con volteos MMIO, el controlador de minipuerto de pantalla establece el FlipOnVSyncMmIo marca de campo de bits en el FlipCaps miembro de la estructura de DXGK_DRIVERCAPS cuando se llama a su función DxgkDdiQueryAdapterInfo.

El contexto original al que especifica el miembro hContext y que openGL ICD presenta no es un elemento de la matriz BroadcastContext de . Por ejemplo, si la matriz BroadcastContext contiene un elemento, openGL ICD envía la operación actual al contexto propietario (hContext) y transmite a ese contexto adicional.

[in] PresentLimitSemaphore

Identificador del semáforo de límite actual.

Se admite a partir de Windows 7.

[in] PresentHistoryToken

Estructura D3DKMT_PRESENTHISTORYTOKEN que identifica el tipo de operación actual.

Se admite a partir de Windows 7.

pPresentRegions

Puntero a una estructura de D3DKMT_PRESENT_RGNS que identifica regiones desfasadas y de movimiento.

Se admite a partir de Windows 8.

hAdapter

Identificador del adaptador de gráficos.

hIndirectContext

Contexto de adaptador indirecto para redirigir a través de la ruta de acceso actual de DoD. Este miembro solo es válido si se establece la marca PresentIndirect.

Duration

Duración por presente. Válido solo cuando se establece la marca DurationValid.

BroadcastSrcAllocation

Adaptador de pantalla vinculado para el origen.

BroadcastDstAllocation

Adaptador de pantalla vinculado para el destino.

PrivateDriverDataSize

Tamaño de datos del controlador privado.

pPrivateDriverData

Puntero a un búfer que contiene datos de controladores privados opcionales.

bOptimizeForComposition

Indica si el dispositivo está optimizado para la composición.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
encabezado de d3dkmthk.h (incluya D3dkmthk.h)

Consulte también

D3DDDIFORMAT

D3DKMTPresent de

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT