IDirect3DSurface9::GetContainer 方法 (d3d9helper.h)
如果此图面是立方体纹理或 mipmap 的子级别,则提供对父立方体纹理或纹理 (mipmap) 对象的访问。 如果图面是后台缓冲区子级,此方法还可以提供对父交换链的访问。
语法
HRESULT GetContainer(
[in] REFIID riid,
[out] void **ppContainer
);
参数
[in] riid
类型: REFIID
正在请求的容器的引用标识符。
[out] ppContainer
类型: void**
如果查询成功,则用容器指针填充的指针的地址。 请参阅“备注”。
返回值
类型: HRESULT
如果该方法成功,则返回值D3D_OK。 如果方法失败,则可以D3DERR_INVALIDCALL返回值。
注解
如果使用 CreateRenderTarget 或 CreateOffscreenPlainSurface 或 CreateDepthStencilSurface 创建图面,则图面被视为独立图面。 在这种情况下, GetContainer 将返回用于创建图面的 Direct3D 设备。
如果调用成功,容器的引用计数将增加 1。
下面是获取 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 |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |