Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La estructura DXGK_SEGMENTDESCRIPTOR3 contiene información sobre un segmento compatible con controladores que se compone de memoria reservada del BIOS (que se purga durante una transición a un estado de baja potencia) y memoria reservada del controlador.
Sintaxis
typedef struct _DXGK_SEGMENTDESCRIPTOR3 {
[out] DXGK_SEGMENTFLAGS Flags;
[out] PHYSICAL_ADDRESS BaseAddress;
[out] PHYSICAL_ADDRESS CpuTranslatedAddress;
[out] SIZE_T Size;
[out] UINT NbOfBanks;
[out] SIZE_T *pBankRangeTable;
[out] SIZE_T CommitLimit;
SIZE_T SystemMemoryEndAddress;
SIZE_T Reserved;
} DXGK_SEGMENTDESCRIPTOR3;
Miembros
[out] Flags
Estructura DXGK_SEGMENTFLAGS que identifica las propiedades, en marcas de campo de bits, para el segmento.
Tenga en cuenta que para un segmento de apertura de tipo AGP, el controlador debe establecer exclusivamente el miembro Agp de la estructura de la unión que DXGK_SEGMENTFLAGS contiene. Aunque el segmento de apertura de tipo AGP es una abertura y es accesible para la CPU, si se establecen otros miembros, el adaptador no se puede inicializar.
[out] BaseAddress
Dirección base del segmento, según lo determinado por la unidad de procesamiento de gráficos (GPU). La dirección física de una asignación que el administrador de memoria de vídeo paginado en el segmento tiene asignada una dirección GPU que se desplaza desde la dirección base que BaseAddress especifica.
El administrador de memoria de vídeo omite la dirección base de los segmentos de apertura de tipo AGP (donde el Agp marca de campo de bits se especifica en el miembro Flags) y, en su lugar, usa la dirección física real del segmento dentro de la apertura de AGP, tal como se determina en el bus donde se encuentra la GPU. En esta situación, el controlador puede usar direcciones que el administrador de memoria de vídeo generó para la asignación directamente sin necesidad de traducción.
[out] CpuTranslatedAddress
Dirección base del segmento, en relación con el bus en el que está conectada la GPU. Por ejemplo, cuando la GPU está conectada en el bus PCI, CpuTranslatedAddress es la dirección base del intervalo utilizable especificado por un registro de direcciones base de PCI (BAR). El controlador especifica esta dirección solo si especifica un segmento accesible para la CPU estableciendo el CpuVisible marca de campo de bits en el miembro Flags.
Este miembro se omite para los segmentos de apertura, incluido el segmento de apertura de tipo AGP. La única excepción se produce cuando el controlador de pantalla en modo de usuario no ha configurado una dirección virtual alternativa para una asignación principal (es decir, cuando el controlador no ha establecido UseAlternateVA en la Flags miembro de la estructura de D3DDDICB_LOCKFLAGS durante una llamada a la función pfnLockCb).
Antes de que el administrador de memoria de vídeo asigne una dirección virtual al intervalo físico, el administrador de memoria de vídeo traduce esta dirección física en función de la vista de CPU del bus e informa al controlador sobre la operación para que el controlador pueda configurar una apertura para acceder al contenido del segmento en la ubicación especificada.
[out] Size
Tamaño, en bytes, del segmento. Este tamaño debe ser un múltiplo del tamaño de página host nativo (por ejemplo, 4 KB en la arquitectura x86).
Para los segmentos de apertura de tipo AGP (donde el Agp marca de campo de bits se especifica en el miembro Flags), el administrador de memoria de vídeo asigna tanto espacio de apertura como sea posible, por lo que se omite este miembro.
[out] NbOfBanks
Número de bancos del segmento, si se usa la banca (es decir, si se establece la marca de campo de bits useBanking en el miembro Flags).
[out] pBankRangeTable
Matriz de valores que indica los intervalos que delimitan cada banco del segmento. El controlador especifica esta matriz solo si también establece el UseBanking marca de campo de bits en el miembro Flags.
La matriz especifica las direcciones finales del primer banco a través del NbOfBanksbanco (es decir, los desplazamientos finales en el segmento de cada banco). Tenga en cuenta lo siguiente:
Los bancos son contiguos.
El primer banco comienza en cero de desplazamiento del segmento.
El último banco termina al final del segmento, por lo que el controlador no es necesario para especificar la dirección final del último banco.
[out] CommitLimit
Número máximo de bytes que se pueden confirmar en el segmento. Para un segmento de memoria, el límite de confirmación siempre es el mismo que el tamaño del segmento, que se especifica en el miembro Size de. Para un segmento de apertura, el controlador puede limitar la cantidad de memoria que se puede confirmar en el segmento en sistemas con pequeñas cantidades de memoria física.
SystemMemoryEndAddress
En el caso de los segmentos que se componen parcialmente de la memoria del sistema, todas las asignaciones que comienzan después de esta dirección se purgan en un estado de hibernación. Las asignaciones que existen completamente en la memoria del sistema, donde la dirección del segmento es menor o igual que SystemMemoryEndAddress, no se expulsan en esta transición.
El controlador de minipuerto para mostrar debe establecer este miembro en un valor que no seaNULL si el segmento se conserva parcialmente en un estado de hibernación, en cuyo caso se debe establecer el ParcialmentePreservedDuringHibernate miembro de la estructura DXGK_SEGMENTFLAGS.
La memoria reservada del controlador se ejecuta desde la dirección de segmento 0 hasta SystemMemoryEndAddress, ambos incluidos. La memoria reservada del BIOS se ejecuta desde (SystemMemoryEndAddress+1) hasta el final del segmento.
Reserved
Este miembro está reservado y debe establecerse en cero.
Observaciones
Esta estructura la usa un miniporte de pantalla de modo kernel WDDM 1.2 o posterior para devolver información sobre los segmentos de memoria en respuesta a una llamada de función de DxgkDdiQueryAdapterInfo en la que el subsistema de gráficos especifica el valor DXGKQAITYPE_QUERYSEGMENT3 en el tipo miembro de la estructura DXGKARG_QUERYADAPTERINFO.
Esta estructura apunta a la pSegmentDescriptor miembro de la estructura DXGK_QUERYSEGMENTOUT3.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 8 |
servidor mínimo admitido | Windows Server 2012 |
encabezado de | d3dkmddi.h |