D3DDDI_LOCKASYNCFLAGS结构(d3dumddi.h)
D3DDDI_LOCKASYNCFLAGS结构标识如何锁定资源。
语法
typedef struct _D3DDDI_LOCKASYNCFLAGS {
union {
struct {
UINT NoOverwrite : 1;
UINT Discard : 1;
UINT RangeValid : 1;
UINT AreaValid : 1;
UINT BoxValid : 1;
UINT NoExistingReferences : 1;
UINT NotifyOnly : 1;
UINT Reserved : 25;
};
UINT Value;
};
} D3DDDI_LOCKASYNCFLAGS;
成员
NoOverwrite
一个 UINT 值,该值指定锁定的资源是否可以向其追加数据,但无法修改资源中的现有数据。 此成员仅用于 direct3D 顶点缓冲区锁Microsoft。
设置此成员等效于设置 32 位 值 成员的第一位(0x00000001)。
Discard
一个 UINT 值,该值指定是否修改了整个锁定的资源。 如果设置了此值,因为现有内容可以丢弃,则内容无需进行初步处理。
设置此成员等效于设置 32 位 值 成员的第二位(0x00000002)。
RangeValid
一个 UINT 值,该值指定锁定的资源是否为线性资源。
设置此成员相当于设置 32 位 值 成员(0x00000004)的第三位。
AreaValid
一个 UINT 值,该值指定锁定的资源是否为图面。
设置此成员相当于设置 32 位 值 成员的第四位(0x00000008)。
BoxValid
一个 UINT 值,该值指定锁定的资源是否为卷。
设置此成员相当于设置 32 位 值 成员(0x00000010)的第五位。
NoExistingReferences
一个 UINT 值,该值指定 Microsoft Direct3D 运行时是否具有对要锁定的资源的任何排队引用。 如果设置了 NoExistingReferences,驱动程序将确定没有对资源进行内部排队的引用可用。 然后,当驱动程序调用 pfnLockCb 函数来执行锁定放弃作时,驱动程序可以设置 D3DDDICB_LOCK 结构的 NoExistingReferences 位字段标志。
设置此成员相当于设置 32 位 值 成员的第六位(0x00000020)。
NotifyOnly
一个 UINT 值,该值指定锁调用是否仅用于通知。 Direct3D 运行时将 NotifyOnly 设置为锁定运行时分配的系统内存图面时 TRUE。 在这种情况下,运行时将忽略驱动程序在 D3DDDIARG_LOCKASYNC 结构的 pSurfData 成员中返回的指针。
设置此成员相当于设置 32 位 值 成员的第七位(0x00000040)。
Reserved
此成员是保留的,应设置为零。 将此成员设置为零相当于将 32 位 值 成员的剩余 25 位(0xFFFFFF80)设置为零。
Value
联合中包含的成员,该成员包含在D3DDDI_LOCKASYNCFLAGS中,可以保存一个 32 位值,用于标识如何锁定资源。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 和更高版本的 Windows作系统中可用。 |
标头 | d3dumddi.h (包括 D3dumddi.h) |