IWMDMStorage4::GetParent メソッド (mswmdm.h)

GetParent メソッドは、ストレージの親を取得します。

構文

HRESULT GetParent(
  [out] IWMDMStorage **ppStorage
);

パラメーター

[out] ppStorage

親ストレージの IWMDMStorage インターフェイスへのポインター。 呼び出し元は、このインターフェイスが終了したら、このインターフェイスを解放する必要があります。

戻り値

このメソッドは HRESULT を返します。 Windows Media デバイス マネージャーのすべてのインターフェイス メソッドは、次のいずれかのエラー コード クラスを返すことができます。

  • 標準 COM エラー コード
  • HRESULT 値に変換された Windows エラー コード
  • Windows Media デバイス マネージャーエラー コード
考えられるエラー コードの詳細な一覧については、「 エラー コード」を参照してください。

注釈

アプリケーションは 、GetParent を再帰的に呼び出すことで、ストレージ階層を上に移動できます。 ルート ストレージに到達すると、 GetParent はS_FALSEを返し、 ppStorage を NULL に設定 します

次の C++ 関数は、ストレージのルート親まで走査します。


HRESULT BubbleUp(IWMDMStorage *pIStorage)
{
    HRESULT hr = S_OK;
    CComPtr<IWMDMStorage4> pStorage4;

    hr = pIStorage->QueryInterface (__uuidof(IWMDMStorage4), reinterpret_cast<void**>(&pStorage4));
    if (SUCCEEDED(hr))
    {
        while ((pStorage4 != NULL))
        {
            CComPtr<IWMDMStorage> pParent;
            hr = pStorage4->GetParent(&pParent);
            if (FAILED(hr))
            {
                break;
            }

            //
            // Do something with pParent....
            //
            
            if (S_FALSE != hr)
            {
                hr = pParent->QueryInterface (__uuidof(IMDSPStorage4), reinterpret_cast<void**>(&pStorage4));
                if (FAILED(hr))
                {
                    break;
                }
            }
        } // Loop up to next parent.
    }

    return hr;
}

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

IWMDMStorage4 インターフェイス