Поделиться через


структура D3DDDI_LOCKASYNCFLAGS (d3dumddi.h)

Структура D3DDDI_LOCKASYNCFLAGS определяет способ блокировки ресурса.

Синтаксис

typedef struct _D3DDDI_LOCKASYNCFLAGS {
  union {
    struct {
      UINT NoOverwrite : 1;
      UINT Discard : 1;
      UINT RangeValid : 1;
      UINT AreaValid : 1;
      UINT BoxValid : 1;
      UINT NoExistingReferences : 1;
      UINT NotifyOnly : 1;
      UINT Reserved : 25;
    };
    UINT Value;
  };
} D3DDDI_LOCKASYNCFLAGS;

Члены

NoOverwrite

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

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

Discard

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

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

RangeValid

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

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

AreaValid

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

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

BoxValid

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

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

NoExistingReferences

Значение UINT, указывающее, есть ли в среде выполнения Microsoft Direct3D ссылки на заблокированный ресурс в очереди. Если задано значение NoExistingReferences , драйвер определяет, что ссылки на ресурс из внутренней очереди недоступны. Затем драйвер может установить флаг битового поля NoExistingReferencesструктуры D3DDDICB_LOCK , когда драйвер вызывает функцию pfnLockCb для выполнения операции блокировки и отмены.

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

NotifyOnly

Значение UINT, указывающее, предназначен ли вызов блокировки только для уведомления. Среда выполнения Direct3D устанавливает для NotifyOnlyзначение TRUE , когда она блокирует поверхности системной памяти, выделенные средой выполнения. В этом случае среда выполнения игнорирует указатель, возвращаемый драйвером в элементе pSurfDataструктуры D3DDDIARG_LOCKASYNC .

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

Reserved

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

Value

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

Требования

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

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

D3DDDIARG_LOCKASYNC