estrutura D3DDDI_ALLOCATIONINFO2 (d3dukmdt.h)
A estrutura D3DDDI_ALLOCATIONINFO2 descreve uma alocação.
Sintaxe
typedef struct _D3DDDI_ALLOCATIONINFO2 {
D3DKMT_HANDLE hAllocation;
union {
HANDLE hSection;
const VOID *pSystemMem;
} D3DKMT_ALIGN64;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
union {
struct {
UINT Primary : 1;
UINT Stereo : 1;
UINT OverridePriority : 1;
#if ...
UINT Reserved : 29;
#elif
UINT Reserved : 30;
#else
UINT Reserved : 31;
#endif
};
UINT Value;
} Flags;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS GpuVirtualAddress;
union {
UINT Priority;
D3DKMT_ALIGN64 ULONG_PTR Unused;
};
#if ...
D3DKMT_ALIGN64 ULONG_PTR Reserved[5];
#else
D3DKMT_ALIGN64 ULONG_PTR Reserved[6];
#endif
} D3DDDI_ALLOCATIONINFO2;
Membros
hAllocation
[out] Um identificador D3DKMT_HANDLE que representa um identificador de modo kernel para a alocação. Esse identificador está associado ao identificador de recurso do modo kernel (se não NULL) que a função de pfnAllocateCb do runtime do Direct3D retorna no hKMResource membro da estrutura D3DDDICB_ALLOCATE. O driver de exibição do modo de usuário pode usar esse identificador de alocação no modo kernel para fazer referência à alocação no buffer de comandos.
D3DKMT_ALIGN64
União com hSection e pSystemMem.
D3DKMT_ALIGN64.hSection
[in] Um identificador para um objeto de seção válido. Use hSection quando D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection estiver definido.
D3DKMT_ALIGN64.pSystemMem
[in] Um ponteiro para a memória do sistema pré-alocada. Use pSystemMem quando D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection não estiver definido.
pPrivateDriverData
[entrada/saída,opt] Um ponteiro para o buffer que contém dados privados opcionais que podem ser exigidos pelo driver de miniporto de exibição para criar a alocação. O driver de miniporto de exibição também pode retornar dados no buffer. Quando o conteúdo do buffer é passado para o driver de miniporto de exibição, o conteúdo deve estar em um formato que o driver de miniporto de exibição pode processar.
PrivateDriverDataSize
[in] Tamanho em bytes dos dados privados.
VidPnSourceId
[in] O número de identificação VidPN baseado em zero da origem do vídeo presente em um caminho de uma topologia de VidPN (rede presente em vídeo) se a alocação for para a superfície primária. O driver deve definir VidPnSourceId apenas para tipos de alocação primária e não para qualquer outro tipo de alocação. Se o driver definir VidPnSourceId para qualquer outro tipo de alocação em uma chamada para a função pfnAllocateCb, pfnAllocateCb retornará D3DDDI_ID_NOTAPPLICABLE.
Quando o subsistema de kernel de elementos gráficos DirectX inicia a criação da alocação para a superfície primária compartilhada, o driver de miniporto de exibição pode determinar o número de identificação do membro VidPnSourceId
Flags
[in] Uma união que contém uma estrutura ou um valor de 32 bits que identifica o tipo de alocação.
Flags.Primary
[in] Um UINT que especifica se a alocação faz parte da área de trabalho. Essa alocação é implicitamente acessível à CPU. Uma alocação primária pode ser fixada na criação ou não fixada na criação.
Definir esse membro é equivalente a definir o primeiro bit do membro Value de 32 bits (0x00000001).
Flags.Stereo
[in] Com suporte a partir do Windows 8 (WDDM 1.2). Um UINT que especifica se a alocação é uma alocação primária estéreo. O membro Estéreo
Definir esse membro é equivalente a definir o segundo bit do membro de valor
Flags.OverridePriority
[in] Com suporte a partir do Windows 10 versão 1703 (WDDM 2.2). Substitua a prioridade, conforme estabelecido pelo driver de gráficos no modo de usuário.
Flags.Reserved
[in] Esse membro é reservado e deve ser definido como zero.
Flags.Value
[in] Um valor de 32 bits que identifica o tipo de alocação.
GpuVirtualAddress
[out] O endereço virtual gpu da alocação criada.
Priority
[in] A prioridade da alocação.
Unused
Utilizadas.
Reserved[5]
Reserved[6]
Observações
Quando o driver de exibição do modo de usuário define o sinalizador de campo de bits primário do
A alocação é alocada de acordo com as preferências; caso contrário, a alocação padrão para o conjunto de segmentos de gravação com suporte e todos os segmentos especificados no conjunto de segmentos de gravação devem ser acessíveis à CPU.
O driver de miniporto de exibição não pode definir os seguintes sinalizadores de campo de bit no Flags membro do DXGK_ALLOCATIONINFO:
PermanentSysMem
Cache
Protegido
ExistingSysMem
ExistingKernelSysMem
A constante D3DDDI_ID_NOTAPPLICABLE é definida em D3dukmdt.h.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 7 |
cabeçalho | d3dukmdt.h |