Метод ID3D11ClassLinkage::CreateClassInstance (d3d11.h)

Инициализирует объект экземпляра класса, представляющий экземпляр класса HLSL.

Синтаксис

HRESULT CreateClassInstance(
  [in]  LPCSTR              pClassTypeName,
  [in]  UINT                ConstantBufferOffset,
  [in]  UINT                ConstantVectorOffset,
  [in]  UINT                TextureOffset,
  [in]  UINT                SamplerOffset,
  [out] ID3D11ClassInstance **ppInstance
);

Параметры

[in] pClassTypeName

Тип: LPCSTR

Имя типа инициализируемого класса.

[in] ConstantBufferOffset

Тип: UINT

Идентифицирует буфер констант, содержащий данные класса.

[in] ConstantVectorOffset

Тип: UINT

Смещение четырехкомпонентного вектора от начала буфера констант, где будут начинаться данные класса. Следовательно, это не смещение в байтах.

[in] TextureOffset

Тип: UINT

Слот текстуры для первой текстуры; после смещения может быть несколько текстур.

[in] SamplerOffset

Тип: UINT

Слот выборки для первого выборки; после смещения может быть несколько выборок.

[out] ppInstance

Тип: ID3D11ClassInstance**

Адрес указателя на инициализируемый интерфейс ID3D11ClassInstance .

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения; в противном случае возвращает один из следующих кодов возврата Direct3D 11.

Комментарии

Экземпляры можно создавать (или получать) до или после создания шейдера. Используйте тот же объект компоновки шейдера, чтобы получить экземпляр класса и создать шейдер, в который будет использоваться экземпляр.

Дополнительные сведения об использовании интерфейса ID3D11ClassLinkage см. в разделе Динамическое связывание.

Windows Phone 8. Этот API поддерживается.

Требования

Требование Значение
Целевая платформа Windows
Header d3d11.h
Библиотека D3D11.lib

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

ID3D11ClassLinkage