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)

另请参阅

D3DDDIARG_LOCKASYNC