структура 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).

NoOverwrite

Значение UINT, указывающее, могут ли к заблокированным ресурсам добавляться данные, но существующие данные в ресурсе нельзя изменить. Этот член используется только с блокировками буфера вершин Direct3D.

Задание этого элемента эквивалентно установке третьего бита 32-разрядного элемента Value (0x00000004).

Discard

Значение UINT, указывающее, изменяется ли весь заблокированный ресурс. Поэтому, поскольку существующее содержимое можно удалить, предварительная обработка не требуется.

Задание этого элемента эквивалентно установке четвертого бита 32-разрядного элемента Value (0x00000008).

RangeValid

Значение UINT, указывающее, является ли заблокированный ресурс линейным.

Задание этого элемента эквивалентно установке пятого бита 32-разрядного элемента Value (0x00000010).

AreaValid

Значение UINT, указывающее, является ли заблокированный ресурс поверхностью.

Задание этого элемента эквивалентно установке шестого бита 32-разрядного элемента Value (0x00000020).

BoxValid

Значение UINT, указывающее, является ли заблокированный ресурс томом.

Задание этого элемента эквивалентно установке седьмого бита 32-разрядного элемента Value (0x00000040).

NotifyOnly

Значение UINT, указывающее, предназначен ли вызов блокировки только для уведомления.

Задание этого элемента эквивалентно установке восьмого бита 32-разрядного элемента Value (0x00000080).

MightDrawFromLocked

Значение UINT, указывающее, может ли драйвер получить данные из буфера вершин, даже если буфер вершин заблокирован средой выполнения Direct3D. MightDrawFromLocked не гарантирует, что драйвер будет получать вызовы своих функций DrawIndexedPrimitive, DrawIndexedPrimitive2, DrawPrimitive и DrawPrimitive2 после вызова Lock. Параметр MightDrawFromLocked задается только для буферов вершин, созданных с флагом битового поля MightDrawFromLocked , установленным в элементе Flags структуры D3DDDIARG_CREATERESOURCE во время создания.

Задание этого элемента эквивалентно установке девятого бита 32-разрядного элемента Value (0x00000100).

DoNotWait

Значение UINT, указывающее, должен ли драйвер отображения пользовательского режима ожидать, пока ресурс не станет бездействующим. Параметр DoNotWait указывает, что драйвер отображения пользовательского режима не должен ждать, пока ресурс не станет бездействующим.

Задание этого элемента эквивалентно установке десятого бита 32-разрядного элемента Value (0x00000200).

Reserved

Этот элемент зарезервирован и должен иметь нулевое значение. Установка для этого элемента нулевого значения эквивалентна установке оставшихся 22 битов (0xFFFFFC00) 32-разрядного элемента Value равными нулям.

Value

Член объединения, содержащийся в D3DDDI_LOCKFLAGS, который может содержать одно 32-разрядное значение, определяющее способ блокировки ресурса.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Верхняя часть d3dumddi.h (включая D3dumddi.h)

См. также раздел

D3DDDIARG_LOCK