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]由 D3DDDI_OPENALLOCATIONINFO 结构的 hAllocation 成员中的 D3DKMTOpenResource 函数或D3DDDI_ALLOCATIONINFO 结构的 hAllocation 成员中的 D3DKMTCreateAllocation 函数返回的分配句柄。

WriteOperation

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

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

DoNotRetireInstance

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

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

OfferPriority

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

如果 OfferPriority 的值为 D3DDDI_OFFER_PRIORITY_NONE,则分配被视为在处理 DMA 缓冲区后提供。

设置此成员等效于将 32 位 Value 成员 (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