Compartilhar via


estrutura D3DDDICB_ALLOCATE (d3dumddi.h)

A estrutura D3DDDICB_ALLOCATE contém informações para alocar memória.

Sintaxe

typedef struct _D3DDDICB_ALLOCATE {
  [in]  const VOID            *pPrivateDriverData;
  [in]  UINT                  PrivateDriverDataSize;
  [in]  HANDLE                hResource;
  [out] D3DKMT_HANDLE         hKMResource;
  [in]  UINT                  NumAllocations;
  union {
    [in]  D3DDDI_ALLOCATIONINFO  *pAllocationInfo;
    [in]  D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
  };
  [in]  D3DDDI_ALLOCATIONINFO *pAllocationInfo;
} D3DDDICB_ALLOCATE;

Membros

[in] pPrivateDriverData

Um ponteiro para dados privados, que é passado para o driver de miniporto de exibição. Esses dados são por recurso e não por alocação. Se as alocações estiverem anexadas a um recurso existente, os dados atuais deverão substituir os dados anteriores.

[in] PrivateDriverDataSize

O tamanho, em bytes, dos dados privados apontados por pPrivateDriverData.

[in] hResource

Um identificador para o recurso associado às alocações.

Quando o driver de exibição do modo de usuário chama a função pfnAllocateCb , o driver deve atribuir o valor que foi recebido do membro hResource da estrutura D3DDDIARG_CREATERESOURCE em uma chamada para CreateResource ou o parâmetro hRTResource em uma chamada para CreateResource(D3D10) ou CreateResource(D3D11). Ele deve atribuir o valor para associar as alocações ao recurso ou atribuir NULL para associar as alocações ao dispositivo. O driver deve atribuir um valor não NULL para alocações criadas em resposta a recursos compartilhados. Os recursos compartilhados podem resultar de chamadas CreateResource com o sinalizador de campo de bit SharedResource definido no membro Flags do D3DDDIARG_CREATERESOURCE. Eles também podem resultar de chamadas CreateResource(D3D10) ou CreateResource(D3D11), com o valor D3D10_DDI_RESOURCE_MISC_SHARED definido no membro MiscFlags de D3D10DDIARG_CREATERESOURCE ou D3D11DDIARG_CREATERESOURCE.

O runtime do Microsoft Direct3D deve usar esse identificador em chamadas de driver para identificar o recurso.

[out] hKMResource

Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para o recurso associado às alocações.

O runtime do Direct3D criará e retornará um identificador de recurso do modo kernel somente se o driver de exibição do modo de usuário definir o membro hResource de D3DDDICB_ALLOCATE para o identificador de recurso de runtime do modo de usuário que foi recebido do membro hResource da estrutura D3DDDIARG_CREATERESOURCE . Esse identificador é recebido em uma chamada para CreateResource ou do parâmetro hResource em uma chamada para CreateResource(D3D10) ou CreateResource(D3D11).

O runtime do Direct3D gera um identificador exclusivo e o passa de volta para o driver de exibição do modo de usuário. O driver de exibição do modo de usuário pode inserir o identificador de recurso do modo kernel no fluxo de comandos para uso subsequente pelo driver de miniporto de exibição.

[in] NumAllocations

O número de elementos na matriz em pAllocationInfo, que representa o número de alocações a serem alocadas.

[in] pAllocationInfo

Uma matriz de estruturas de D3DDDI_ALLOCATIONINFO que descrevem as alocações a serem alocadas.

[in] Uma matriz de estruturas de D3DDDI_ALLOCATIONINFO que descrevem as alocações a serem alocadas.

[in] pAllocationInfo2

Esse membro é reservado e deve ser definido como zero.

Esse membro está disponível a partir do Windows 7.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

CreateResource

CreateResource(D3D10)

CreateResource(D3D11)

D3D10DDIARG_CREATERESOURCE

D3D11DDIARG_CREATERESOURCE

D3DDDIARG_CREATERESOURCE

D3DDDI_ALLOCATIONINFO

pfnAllocateCb