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