Platform SDK: DirectX

オブジェクト デスクリプタの取得

[Visual Basic]

ここでは、C++ で記述されたアプリケーションに関連のある内容だけを説明する。

[C++]

オブジェクトをロードした後で、そのオブジェクトの IDirectMusicObject インターフェイスを使って、DMUS_OBJECTDESC 構造体内の情報を取り出さなければならない。最初にそのオブジェクトの IDirectMusicObject インターフェイスを取得しなければならない。

次のコード例では、IDirectMusicObject::GetDescriptor メソッドを使ってスタイル名を取得している。

/* pStyle は、DirectMusicPerformance インターフェイスへの
   有効なポインタを表す。*/
 
if (pStyle)
{
    IDirectMusicObject *pIObject;
    DMUS_OBJECTDESC Desc;
 
    if (SUCCEEDED(pStyle->QueryInterface(IID_IDirectMusicObject,
            (void **) &pIObject)
    {
        if (SUCCEEDED(pIObject->GetDescriptor(&Desc))
        {
            if (Desc.dwValidData & DMUS_OBJ_NAME)
            {
                TRACE("スタイル名は、%S です。\n",Desc.wszName);
            }
        }
        pIObject->Release();
    }
}