D3DDDI_ALLOCATIONLIST结构(d3dukmdt.h)

D3DDDI_ALLOCATIONLIST 结构描述有关直接内存访问(DMA)缓冲中使用的分配规范的信息。

语法

typedef struct _D3DDDI_ALLOCATIONLIST {
  D3DKMT_HANDLE hAllocation;
  union {
    struct {
      UINT WriteOperation : 1;
      UINT DoNotRetireInstance : 1;
      UINT OfferPriority : 3;
#if ...
      UINT Reserved : 27;
#else
      UINT Reserved : 30;
#endif
    };
    UINT Value;
  };
} D3DDDI_ALLOCATIONLIST;

成员

hAllocation

[in]D3DKMTOpenResource 函数在 D3DDDI_OPENALLOCATIONINFO 结构的 hAllocation 成员或 D3DKMTCreateAllocationD3DDDI_ALLOCATIONINFO 函数 返回的分配句柄。

WriteOperation

[in]一个 UINT,可以保存有关是否可以写入分配的信息。 设置为 1 表示可以写入分配。

设置此成员等效于设置 32 位 成员的第一位(0x00000001)。

DoNotRetireInstance

[in]一个 UINT,可以保存有关是否可以停用分配的信息。 设置为 1 表示视频内存管理器不应停用分配实例,因为驱动程序将在后续 DMA 缓冲区中再次引用它(例如,手动将 DMA 缓冲区广播到多个上下文)。 分配的所有实例最终都会停用。 此标志很少使用。

设置此成员等效于设置 32 位 成员的第二位(0x00000002)。

OfferPriority

[in]D3DDDI_OFFER_PRIORITY 枚举中的一个值,该值指示用户模式显示驱动程序为重复使用提供的视频内存资源的重要性。

如果 OfferPriority 没有 D3DDDI_OFFER_PRIORITY_NONE值,则处理 DMA 缓冲区后,将考虑提供分配。

设置此成员等效于设置 32 位 成员(0x0000001C)中的 3 到 5 位。

从 Windows 8 开始支持。

Reserved

[in]此成员是保留的,应设置为零。

Value

[in]一个 32 位值,用于标识有关 DMA 缓冲中使用的分配规范的信息。

要求

要求 价值
最低支持的客户端 Windows Vista
标头 d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h)

另请参阅

CreateDevice

D3DDDIARG_CREATEDEVICE

D3DDDICB_RENDER

D3DDDI_OFFER_PRIORITY

pfnRenderCb