estructura D3DKMT_CREATEALLOCATION (d3dkmthk.h)
La estructura D3DKMT_CREATEALLOCATION describe los parámetros para crear asignaciones.
Sintaxis
typedef struct _D3DKMT_CREATEALLOCATION {
[in] D3DKMT_HANDLE hDevice;
[in/out] D3DKMT_HANDLE hResource;
[out] D3DKMT_HANDLE hGlobalShare;
[in] const VOID *pPrivateRuntimeData;
[in] UINT PrivateRuntimeDataSize;
union {
[in] D3DKMT_CREATESTANDARDALLOCATION *pStandardAllocation;
[in] const VOID *pPrivateDriverData;
};
[in/out] UINT PrivateDriverDataSize;
[in] UINT NumAllocations;
union {
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
[in] D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
};
[in] D3DKMT_CREATEALLOCATIONFLAGS Flags;
[in] HANDLE hPrivateRuntimeResourceHandle;
} D3DKMT_CREATEALLOCATION;
Miembros
[in] hDevice
Identificador del dispositivo al que está asociado el recurso o la asignación.
[in/out] hResource
Un D3DKMT_HANDLE tipo de datos que representa un identificador en modo kernel para el recurso asociado a las asignaciones. El valor de hResource siempre debe ser cero a menos que se agregue una asignación a un recurso existente, en cuyo caso hResource contiene el identificador de recursos.
Cuando el marca CreateResource campo de bits se establece en el miembro Flags, el entorno de ejecución de OpenGL genera un identificador único y lo pasa al controlador. En la salida de la función D3DKMTCreateAllocation de
[out] hGlobalShare
Un controlador cliente en modo de usuario no debe compartir recursos mediante identificadores globales. El controlador debe establecer NtSecuritySharing en Flags y llamar a D3DKMTShareObjects para obtener un identificador NT. El uso de identificadores globales no es seguro. Cualquier proceso puede adivinar un identificador global y abrir un objeto compartido. Los identificadores globales solo se admiten por motivos de compatibilidad con tiempos de ejecución de D3D antiguos. (Cuando no se establece NtSecuritySharing, el identificador global se devuelve en hGlobalShare. Nada impide que un UMD comparta un recurso mediante un identificador global, pero los controladores no deben hacerlo).
[in] pPrivateRuntimeData
Puntero a datos privados opcionales que se pueden adjuntar a un recurso con fines de depuración. Estos datos son por recurso y no por asignación.
[in] PrivateRuntimeDataSize
Tamaño, en bytes, de los datos privados a los que pPrivateRuntimeData apunta.
[in] pStandardAllocation
Puntero a una estructura de D3DKMT_CREATESTANDARDALLOCATION que describe la asignación estándar que se va a crear.
[in] pPrivateDriverData
Puntero a un búfer que contiene datos privados opcionales que el controlador de miniporte de pantalla podría requerir para crear el recurso o la asignación. El contenido del búfer normalmente procede del ICD y debe estar en un formato que el controlador de miniporte de pantalla pueda procesar.
[in/out] PrivateDriverDataSize
Tamaño, en bytes, de los datos privados a los que pPrivateDriverData apunta.
[in] NumAllocations
Número de elementos de la matriz que pAllocationInfo especifica, que representa el número de asignaciones que se van a crear. Tenga en cuenta que la creación de un recurso sin asignaciones asociadas inicialmente con él es válida; Por lo tanto, NumAllocations se puede establecer en 0.
[in] pAllocationInfo
Matriz de D3DDDI_ALLOCATIONINFO estructuras que describen propiedades específicas para cada asignación que se va a crear.
[in] pAllocationInfo2
Este miembro está reservado y debe establecerse en cero.
Este miembro está disponible a partir de Windows 7.
[in] Flags
Estructura D3DKMT_CREATEALLOCATIONFLAGS que identifica los atributos para crear la asignación, en marcas de campo de bits.
Si establece la marca de campo de bits createShared de
[in] hPrivateRuntimeResourceHandle
Un identificador opaco que puede usar en el seguimiento de eventos. Este identificador se puede usar para asociar asignaciones en modo kernel con punteros de superficie en modo de usuario al analizar los registros de eventos de Seguimiento de eventos para Windows (ETW).
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
encabezado de |
d3dkmthk.h (incluya D3dkmthk.h) |