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 値。 このメンバーの設定は、32 ビット Value メンバー (0x00000001) の最初のビットを設定することと同じです。
WriteOnly
ロックされたリソースのみを書き込むことができるかどうかを示す UINT 値。 このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。
NoOverwrite
ロックされたリソースにデータを追加できるが、リソース内の既存のデータを変更できないかどうかを指定する UINT 値。 このメンバーは、Direct3D 頂点バッファー ロックでのみ使用されます。
このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。
Discard
ロックされたリソース全体が変更されるかどうかを示す UINT 値。 そのため、既存のコンテンツを破棄できるため、事前処理は必要ありません。
このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。
RangeValid
ロックされたリソースが線形であるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。
AreaValid
ロックされたリソースがサーフェスであるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。
BoxValid
ロックされたリソースがボリュームであるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 ビットを設定することと同じです。
NotifyOnly
ロック呼び出しが通知専用かどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000080) の 8 ビットを設定することと同じです。
MightDrawFromLocked
Direct3D ランタイムによって頂点バッファーがロックされている場合でも、ドライバーが頂点バッファーからの描画を要求される可能性があるかどうかを指定する UINT 値。 MightDrawFromLocked では、Lockの呼び出しに続いて、ドライバーが DrawIndexedPrimitive、DrawIndexedPrimitive2、DrawPrimitive2、および DrawPrimitive2 関数の呼び出しを受け取る保証はありません。 MightDrawFromLocked は、作成時に D3DDDIARG_CREATERESOURCE 構造体の Flags メンバーに MightDrawFromLocked ビット フィールド フラグを設定して作成された頂点バッファーでのみ設定されます。
このメンバーの設定は、32 ビット Value メンバー (0x00000100) の 9 番目のビットを設定することと同じです。
DoNotWait
ユーザー モード ディスプレイ ドライバーがリソースがアイドル状態になるまで待機する必要があるかどうかを指定する UINT 値。 DoNotWait 設定すると、ユーザー モードのディスプレイ ドライバーは、リソースがアイドル状態になるまで待機しないことを示します。
このメンバーの設定は、32 ビット Value メンバー (0x00000200) の 10 ビットを設定することと同じです。
Reserved
このメンバーは予約されており、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 22 ビット (0xFFFFFC00) をゼロに設定することと同じです。
Value
リソースをロックする方法を識別する 1 つの 32 ビット値を保持できる、D3DDDI_LOCKFLAGSに含まれる共用体内のメンバー。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |