Метод IDirect3DSurface9::GetContainer (d3d9helper.h)
Предоставляет доступ к родительской текстуре куба или объекту текстуры (MIP-карты), если эта поверхность является дочерним уровнем текстуры куба или MIP-карты. Этот метод также может предоставить доступ к родительской цепочке буферов, если поверхность является дочерним элементом обратного буфера.
Синтаксис
HRESULT GetContainer(
[in] REFIID riid,
[out] void **ppContainer
);
Параметры
[in] riid
Тип: REFIID
Идентификатор ссылки запрашиваемого контейнера.
[out] ppContainer
Тип: void**
Адрес указателя для заполнения указателем контейнера в случае успешного выполнения запроса. См. заметки.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.
Комментарии
Если поверхность создается с помощью CreateRenderTarget или CreateOffscreenPlainSurface или CreateDepthStencilSurface, поверхность считается автономной. В этом случае GetContainer вернет устройство Direct3D, используемое для создания поверхности.
Если вызов выполнен успешно, количество ссылок контейнера увеличивается на единицы.
Ниже приведен пример получения родительской текстуры поверхности MIP.
// Assumes pSurface is a valid IDirect3DSurface9 pointer
void *pContainer = NULL;
IDirect3DTexture9 *pTexture = NULL;
HRESULT hr = pSurface->GetContainer(IID_IDirect3DTexture9, &pContainer);
if (SUCCEEDED(hr) && pContainer)
{
pTexture = (IDirect3DTexture9 *)pContainer;
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |