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