Compartir a través de


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;
  void                         D3DKMT_PTR(
    const VOID          *unnamedParam1,
    pPrivateRuntimeData unnamedParam2
  );
  [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;
  void                         D3DKMT_PTR(
    HANDLE                        unnamedParam1,
    hPrivateRuntimeResourceHandle unnamedParam2
  );
} 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 se establece la marca de campo de bits CreateResource 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 , hResource especifica el identificador que el controlador debe usar en llamadas en tiempo de ejecución de OpenGL posteriores para identificar el recurso. El identificador de recursos que se devuelve es específico del dispositivo y solo es válido cuando se usa con el dispositivo en el que se creó.

[out] hGlobalShare

Un controlador cliente en modo de usuario no debe compartir recursos mediante identificadores globales. El controlador debe establecer NtSecuritySharing en Marcas 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 entornos de ejecución 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).

void D3DKMT_PTR( const VOID *unnamedParam1, pPrivateRuntimeData unnamedParam2)

[in] PrivateRuntimeDataSize

Tamaño, en bytes, de los datos privados a los que apunta pPrivateRuntimeData .

[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 apunta pPrivateDriverData .

[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 ninguna asignación asociada inicialmente es válida; por lo tanto, NumAllocations se puede establecer en 0.

[in] pAllocationInfo

Matriz de estructuras de D3DDDI_ALLOCATIONINFO 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 en Marcas, también debe establecer la marca de campo de bits CreateResource .

void D3DKMT_PTR( HANDLE unnamedParam1, hPrivateRuntimeResourceHandle unnamedParam2)

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Encabezado d3dkmthk.h (incluya D3dkmthk.h)

Consulte también

D3DDDI_ALLOCATIONINFO

D3DKMTCreateAllocation

D3DKMT_CREATEALLOCATIONFLAGS