D3DDDICB_ALLOCATE 结构 (d3dumddi.h)
D3DDDICB_ALLOCATE 结构包含用于分配内存的信息。
语法
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;
成员
[in] pPrivateDriverData
指向传递到显示微型端口驱动程序的专用数据的指针。 此数据按资源而不是按分配。 如果分配附加到现有资源,则当前数据应覆盖以前的数据。
[in] PrivateDriverDataSize
pPrivateDriverData 指向的私有数据的大小(以字节为单位)。
[in] hResource
与分配关联的资源的句柄。
当用户模式显示驱动程序调用 pfnAllocateCb 函数时,驱动程序应在调用 CreateResource 中分配从 D3DDDIARG_CREATERESOURCE 结构的 hResource 成员收到的值,或者在调用 CreateResource (D3D10) 或 CreateResource (D3D11) 分配 hRTResource 参数。 它应分配值以将分配与资源相关联,或分配 NULL 以将分配与设备相关联。 驱动程序必须为为响应共享资源而创建的分配分配分配非 NULL 值。 共享资源可能是由于 CreateResource 调用而生成的,该调用在 D3DDDIARG_CREATERESOURCE 的 Flags 成员中设置了 SharedResource 位字段标志。 它们也可能由 CreateResource (D3D10) 或 CreateResource (D3D11) 调用导致,D3D10_DDI_RESOURCE_MISC_SHARED值在 D3D10DDIARG_CREATERESOURCE 或 D3D11DDIARG_CREATERESOURCE 的 MiscFlags 成员中设置。
Microsoft Direct3D 运行时应在驱动程序调用中使用此句柄来标识资源。
[out] hKMResource
D3DKMT_HANDLE数据类型,表示与分配关联的资源的内核模式句柄。
仅当用户模式显示驱动程序将 D3DDDICB_ALLOCATE 的 hResource 成员设置为从 D3DDDIARG_CREATERESOURCE 结构的 hResource 成员接收的用户模式运行时资源句柄时,Direct3D 运行时才会创建并返回 内核 模式资源句柄。 此句柄是在对 CreateResource 的调用中接收的,或者从对 CreateResource (D3D10) 或 CreateResource (D3D11) 的调用中的 hResource 参数接收。
Direct3D 运行时生成唯一句柄,并将其传递回用户模式显示驱动程序。 用户模式显示驱动程序可以在命令流中插入内核模式资源句柄,供显示微型端口驱动程序后续使用。
[in] NumAllocations
数组中 pAllocationInfo 处的元素数,表示要分配的分配数。
[in] pAllocationInfo
描述要分配的分配的 D3DDDI_ALLOCATIONINFO 结构的数组。
[in]描述要分配的分配的 D3DDDI_ALLOCATIONINFO 结构的数组。
[in] pAllocationInfo2
此成员是保留成员,应设置为零。
此成员从 Windows 7 开始可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
标头 | d3dumddi.h (包括 D3dumddi.h) |