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 ビット メンバー (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 の呼び出しの後に、ドライバーが DrawIndexedPrimitiveDrawIndexedPrimitive2DrawPrimitive2DrawPrimitive2 関数の呼び出しを受け取る保証はありません。 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 オペレーティング システムで使用できます。
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

D3DDDIARG_LOCK