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返回值。

注解

如果使用 CreateRenderTargetCreateOffscreenPlainSurfaceCreateDepthStencilSurface 创建图面,则图面被视为独立图面。 在这种情况下, 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

另请参阅

IDirect3DSurface9