共用方式為


D3DDDI_LOCKFLAGS 結構 (d3dumddi.h)

D3DDDI_LOCKFLAGS結構會識別如何鎖定資源。

語法

typedef struct _D3DDDI_LOCKFLAGS {
  union {
    struct {
      UINT ReadOnly : 1;
      UINT WriteOnly : 1;
      UINT NoOverwrite : 1;
      UINT Discard : 1;
      UINT RangeValid : 1;
      UINT AreaValid : 1;
      UINT BoxValid : 1;
      UINT NotifyOnly : 1;
      UINT MightDrawFromLocked : 1;
      UINT DoNotWait : 1;
      UINT Reserved : 22;
    };
    UINT Value;
  };
} D3DDDI_LOCKFLAGS;

成員

ReadOnly

UINT 值,指定鎖定的資源是否只能從中讀取。 設定此成員相當於 (0x00000001) 設定 32 位 Value 成員的第一個位。

WriteOnly

UINT 值,指定是否只能寫入鎖定的資源。 設定此成員相當於 (0x00000002) 設定 32 位 Value 成員的第二個位。

NoOverwrite

UINT 值,指定鎖定的資源是否可以附加數據,但無法修改資源中的現有數據。 這個成員只會與 Direct3D 頂點緩衝區鎖定搭配使用。

設定此成員相當於 (0x00000004) 設定 32 位 Value 成員的第三個位。

Discard

UINT 值,指定是否修改整個鎖定的資源。 因此,由於可以捨棄現有的內容,因此不需要初步處理。

設定此成員相當於 (0x00000008) 設定 32 位 Value 成員的第四個位。

RangeValid

UINT 值,指定鎖定的資源是否為線性。

設定此成員相當於設定 32 位 Value 成員的第五位 (0x00000010) 。

AreaValid

UINT 值,指定鎖定的資源是否為表面。

設定此成員相當於 (0x00000020) 設定 32 位 Value 成員的第六個位。

BoxValid

UINT 值,指定鎖定的資源是否為磁碟區。

設定此成員相當於設定 32 位 Value 成員的第七個位 (0x00000040) 。

NotifyOnly

UINT 值,指定鎖定呼叫是否僅供通知使用。

設定此成員相當於設定 32 位 Value 成員的第八位 (0x00000080) 。

MightDrawFromLocked

UINT 值,指定驅動程式是否可能要求從頂點緩衝區繪製,即使頂點緩衝區已由 Direct3D 運行時間鎖定也一樣。 MightDrawFromLocked 不保證驅動程式會在呼叫 Lock 之後收到其 DrawIndexedPrimitiveDrawIndexedPrimitive2DrawPrimitive2DrawPrimitive2 函式的呼叫。 MightDrawFromLocked 只會在建立期間,在D3DDDIARG_CREATERESOURCE 結構之Flags 成員中設定的 MightDrawFromLocked 位欄位旗標所建立的頂點緩衝區上。

設定此成員相當於設定 32 位 Value 成員 (0x00000100) 的第九個位。

DoNotWait

UINT 值,指定使用者模式顯示驅動程式是否應該等待資源閑置。 設定 DoNotWait 表示使用者模式顯示驅動程式不應該等待資源變成閑置。

設定此成員相當於 (0x00000200) 設定 32 位 Value 成員的第十位。

Reserved

這個成員是保留的,而且應該設定為零。 將此成員設定為零相當於將 32 位 Value 成員的剩餘 22 位 (0xFFFFFC00) 設定為零。

Value

包含在D3DDDI_LOCKFLAGS的成員,可保存一個32位值,以識別如何鎖定資源。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
標頭 d3dumddi.h (include D3dumddi.h)

另請參閱

D3DDDIARG_LOCK