Compartir a través de


estructura D3DKMT_RENDER (d3dkmthk.h)

La estructura D3DKMT_RENDER describe el búfer de comandos actual que se va a representar.

Sintaxis

typedef struct _D3DKMT_RENDER {
  union {
    [in]     D3DKMT_HANDLE hDevice;
    [in]     D3DKMT_HANDLE hContext;
  };
  [in]     UINT                                  CommandOffset;
  [in]     UINT                                  CommandLength;
  [in]     UINT                                  AllocationCount;
  [in]     UINT                                  PatchLocationCount;
  [out]    VOID                                  *pNewCommandBuffer;
  [in/out] UINT                                  NewCommandBufferSize;
  [out]    D3DDDI_ALLOCATIONLIST                 *pNewAllocationList;
  [in/out] UINT                                  NewAllocationListSize;
  [out]    D3DDDI_PATCHLOCATIONLIST              *pNewPatchLocationList;
  [in/out] UINT                                  NewPatchLocationListSize;
  [in]     D3DKMT_RENDERFLAGS                    Flags;
  [in]     D3DKMT_ALIGN64 ULONGLONG              PresentHistoryToken;
  [in]     ULONG                                 BroadcastContextCount;
           D3DKMT_HANDLE                         BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [out]    ULONG                                 QueuedBufferCount;
  [out]    D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
           VOID                                  *pPrivateDriverData;
           UINT                                  PrivateDriverDataSize;
} D3DKMT_RENDER;

Miembros

[in] hDevice

Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel para el dispositivo al que se representa el búfer de comandos. Se proporciona un identificador de dispositivo a la función D3DKMTRender de D3DKMTRender en la unión que D3DKMT_RENDER contiene para la 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 en el que se representa el búfer de comandos.

[in] CommandOffset

Desplazamiento, en bytes, al primer comando del búfer de comandos.

[in] CommandLength

Tamaño, en bytes, del búfer de comandos a partir del desplazamiento cero.

[in] AllocationCount

Número de elementos de la lista de asignación enviada.

[in] PatchLocationCount

Número de elementos de la lista de ubicación de revisión enviada.

[out] pNewCommandBuffer

Puntero a un búfer de comandos que recibe openGL ICD en su siguiente llamada a la función D3DKMTRender de . El controlador siempre debe actualizar su puntero al búfer de comandos después de cualquier llamada a D3DKMTRender independientemente de si la llamada se realiza correctamente.

Compatible con Windows 7 y versiones posteriores:

[in] Puntero al búfer de comandos que se va a representar si la marca RenderKm está establecida en el miembro Flags.

[in/out] NewCommandBufferSize

Tamaño, en bytes, que openGL ICD solicita para el siguiente búfer de comandos si el ResizeCommandBuffer marca de campo de bits se especifica en el miembro Flags. Si no se especifica resizeCommandBuffer, se omite el valor de NewCommandBufferSize. En la salida, el controlador recibe el tamaño, en bytes, del siguiente búfer de comandos que se va a usar.

En función de las condiciones de memoria actuales, es posible que el tamaño de salida no coincida con el tamaño de entrada.

[out] pNewAllocationList

Matriz de estructuras de D3DDDI_ALLOCATIONLIST que recibe openGL ICD para usarla como lista de asignación en su siguiente llamada a la función D3DKMTRender de . El controlador siempre debe actualizar su puntero a la lista de asignación después de cualquier llamada a D3DKMTRender independientemente de si la llamada se realiza correctamente.

Compatible con Windows 7 y versiones posteriores:

[in] Puntero a la lista de asignación que se va a representar si la marca RenderKm está establecida en el miembro Flags.

[in/out] NewAllocationListSize

Número de elementos que openGL ICD solicita para la siguiente lista de asignación si el ResizeAllocationList marca de campo de bits se especifica en el miembro Flags. Si no se especifica ResizeAllocationList, se omite el valor de NewAllocationListSize. En la salida, el controlador recibe el número de elementos que estarán disponibles en una matriz de asignaciones cuando se envíe el siguiente búfer de comandos.

En función de las condiciones de memoria actuales, es posible que el tamaño de salida no coincida con el tamaño de entrada.

[out] pNewPatchLocationList

Matriz de D3DDDI_PATCHLOCATIONLIST estructuras que recibe openGL ICD como lista de ubicación de revisión en su siguiente llamada a la función D3DKMTRender. El controlador siempre debe actualizar su puntero a la lista de ubicación de revisión después de cualquier llamada a D3DKMTRender independientemente de si la llamada se realiza correctamente.

[in/out] NewPatchLocationListSize

Número de elementos que openGL ICD solicita para la siguiente lista de ubicación de revisión si el ResizePatchLocationList marca de campo de bits se especifica en el miembro Flags. Si no se especifica ResizePatchLocationList, se omite el valor de NewPatchLocationListSize. En la salida, el controlador recibe el número de elementos que estarán disponibles en una matriz de ubicaciones de revisión cuando se envíe el siguiente búfer de comandos.

En función de las condiciones de memoria actuales, es posible que el tamaño de salida no coincida con el tamaño de entrada.

[in] Flags

Estructura D3DKMT_RENDERFLAGS que indica el tipo de búfer de comandos, en marcas de campo de bits, que se van a representar.

[in] PresentHistoryToken

El token de historial actual para las llamadas redirigidas a la función dxgkDdiPresent del controlador de miniporte de pantalla.

Un token de historial actual es un paquete de datos que envía la aplicación de representación para informar al Administrador de ventanas de escritorio (DWM) que la representación está completa y que el búfer de retroceso de la cadena de intercambio está listo para presentarse.

[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 el búfer de comandos 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 el búfer de comandos actual.

El contexto original que especifica el miembro hContext y que posee el búfer de comandos no es un elemento de la matriz BroadcastContext. Por ejemplo, si la matriz BroadcastContext contiene un elemento, openGL ICD envía el búfer de comandos al contexto propietario (hContext) y transmite a ese contexto adicional.

[out] QueuedBufferCount

Número de búferes DMA que se ponen en cola en el contexto que el miembro hContext especifica después del envío.

[out] NewCommandBuffer

Puntero a un búfer de comandos que recibe openGL ICD en su siguiente llamada a la función D3DKMTRender de . El controlador siempre debe actualizar su puntero al búfer de comandos después de cualquier llamada a D3DKMTRender independientemente de si la llamada se realiza correctamente.

Compatible con Windows 7 y versiones posteriores:

[in] Puntero al búfer de comandos que se va a representar si la marca RenderKm está establecida en el miembro Flags.

pPrivateDriverData

Este miembro está reservado y debe establecerse en cero.

Este miembro está disponible a partir de Windows 7.

PrivateDriverDataSize

Este miembro está reservado y debe establecerse en cero.

Este miembro está disponible a partir de Windows 7.

Requisitos

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

Consulte también

D3DKMTRender

D3DKMT_RENDERFLAGS

DxgkDdiPresent