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 的调用中从 hResourceD3DDDIARG_CREATERESOURCE 成员接收的值,或在对 CreateResource(D3D10) 或 CreateResource(D3D11)调用中 hRTResource 参数。 它应分配值以将分配与资源相关联,或分配 NULL 将分配与设备相关联。 驱动程序必须为为响应共享资源而创建的分配分配非NULL 值。 共享资源可能会导致 CreateResource 调用,SharedResource 位字段标志在 标志 D3DDDIARG_CREATERESOURCE成员中设置。 它们也可能 CreateResource(D3D10) 或 CreateResource(D3D11) 调用,MiscFlagsD3D10DDIARG_CREATERESOURCE 成员 D3D11DDIARG_CREATERESOURCE中设置D3D10_DDI_RESOURCE_MISC_SHARED值。
Microsoft Direct3D 运行时应在驱动程序调用中使用此句柄来标识资源。
[out] hKMResource
D3DKMT_HANDLE数据类型,表示与分配关联的资源的内核模式句柄。
仅当用户模式显示驱动程序将 D3DDDICB_ALLOCATE hResource 成员设置为从 hResourceD3DDDIARG_CREATERESOURCE 结构的成员接收的用户模式运行时资源句柄时,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) |