次の方法で共有


IDirect3DSurface9::GetContainer メソッド

IDirect3DSurface9::GetContainer メソッド

このサーフェイスがキューブ テクスチャまたはミップマップの子レベルである場合、親のキューブ テクスチャまたはテクスチャ (ミップマップ) オブジェクトへのアクセスを提供する。また、サーフェイスがバックバッファの子の場合は、親スワップ チェーンへのアクセスも提供する。

構文

HRESULT GetContainer(      
    REFIID riid,
    void **ppContainer
);

パラメータ

  • riid
    [in] 要求するコンテナの参照識別子。
  • ppContainer
    [out] 問い合わせが成功した場合にコンテナ ポインタが格納されるポインタのアドレス。「注意」を参照すること。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、D3DERR_INVALIDCALL を返す。

注意

サーフェイスが IDirect3DDevice9::CreateRenderTargetIDirect3DDevice9::CreateOffscreenPlainSurface、または IDirect3DDevice9::CreateDepthStencilSurface を使って作成されている場合、サーフェイスはスタンドアロンであると見なされる。この場合、IDirect3DSurface9::GetContainer は、サーフェイスの作成に使った Microsoft® Direct3D® デバイスを返す。

呼び出しが成功した場合、コンテナの参照カウントが 1 つ増加する。

ミップ サーフェイスの親テクスチャを取得する例を次に示す。

// 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;
}