次の方法で共有


IDirect3DSurface9::GetContainer

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

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

パラメータ

  • riid
    要求対象のコンテナーの参照識別子。
  • ppContainer
    クエリが成功した場合にコンテナー ポインターが格納されるポインターのアドレス。「解説」を参照してください。

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、D3DERR_INVALIDCALL を返します。

解説 

サーフェスは、IDirect3DDevice9::CreateRenderTargetIDirect3DDevice9::CreateOffscreenPlainSurface、または IDirect3DDevice9::CreateDepthStencilSurface を使って作成されている場合、スタンドアロンであると見なされます。この場合、IDirect3DSurface9::GetContainer は、サーフェスの作成に使った 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;
}

要件

ヘッダー: D3D9.h 宣言