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 之後收到其 DrawIndexedPrimitive、DrawIndexedPrimitive2、DrawPrimitive2 和 DrawPrimitive2 函式的呼叫。 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) |