D3DDDIARG_LOCKASYNC 结构 (d3dumddi.h)

D3DDDIARG_LOCKASYNC结构描述要锁定的资源或资源中的图面。

语法

typedef struct _D3DDDIARG_LOCKASYNC {
  [in]  HANDLE                 hResource;
  [in]  UINT                   SubResourceIndex;
  [in]  D3DDDI_LOCKASYNCFLAGS  Flags;
  union {
    [in]  D3DDDIRANGE Range;
    [in]  RECT        Area;
    [in]  D3DDDIBOX   Box;
  };
  [out] HANDLE                 hCookie;
  [out] VOID                   *pSurfData;
  [out] UINT                   Pitch;
  [out] UINT                   SlicePitch;
        D3DGPU_VIRTUAL_ADDRESS GpuVirtualAddress;
} D3DDDIARG_LOCKASYNC;

成员

[in] hResource

要锁定的资源的句柄。

[in] SubResourceIndex

hResource 指定的资源中的从零开始的索引。 此索引指示要锁定的子资源或图面。

[in] Flags

一个D3DDDI_LOCKASYNCFLAGS结构,指示在位字段标志中如何锁定资源。

注意 某些标志与其他标志互斥。 有关更多信息,请参见下面的“备注”部分。
 

[in] Range

如果 RangeValid 位字段标志是在 Flags 指定的 D3DDDI_LOCKASYNCFLAGS结构中设置的,则描述要锁定的线性资源的子范围D3DDDIRANGE结构。

[in] Area

如果 AreaValid 位字段标志是在 Flags 指定的D3DDDI_LOCKASYNCFLAGS结构中设置的,则描述要锁定的图面的子对象角RECT 结构。

[in] Box

如果 BoxValid 位字段标志是在 Flags 指定的D3DDDI_LOCKASYNCFLAGS结构中设置的,则描述要锁定的卷的子卷 D3DDDIBOX结构。

[out] hCookie

表示重命名的资源的句柄。 仅当在 Flags 指定的D3DDDI_LOCKASYNCFLAGS结构中设置放弃位字段标志时,此句柄才有效。

[out] pSurfData

指向已锁定资源的内存区域的指针。 用户模式显示驱动程序的 LockAsync 函数返回指向 Microsoft Direct3D 运行时的此指针。

[out] Pitch

已锁定的图面的间距(以字节为单位)。 用户模式显示驱动程序的 LockAsync 函数将此间距值返回到 Direct3D 运行时。

[out] SlicePitch

已锁定的图面的切片间距(以字节为单位)。 用户模式显示驱动程序的 LockAsync 函数将此切片间距值返回到 Direct3D 运行时。

GpuVirtualAddress

此成员为保留成员,应设置为零。

此成员从 Windows 7 开始可用。

注解

Flags 成员指定的D3DDDI_LOCKASYNCFLAGS结构的成员必须遵守以下规则:

  • NoOverwrite 位字段标志不能与放弃位字段标志同时设置。
  • 在任何时候,只能设置 RangeValidAreaValidBoxValid 位字段标志之一。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDI_LOCKASYNCFLAGS

LockAsync

矩形