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)

另请参阅

D3DDDIARG_LOCKASYNC