Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
The following function is a helper function in an example program that is discussed in Generating a Table of Contents Automatically.
HRESULT GetToc(IDMOWrapperFilter* pWrap, IToc** ppToc)
{
IPropertyStore* pStore = NULL;
HRESULT hr = pWrap->QueryInterface(IID_IPropertyStore, (VOID**)&pStore);
if(SUCCEEDED(hr))
{
PROPVARIANT pv;
PropVariantInit(&pv);
pv.vt = VT_BOOL;
pv.bVal = VARIANT_TRUE;
hr = pStore->SetValue(MFPKEY_TOCGENERATOR_ENDSIGNAL, pv);
if(SUCCEEDED(hr))
{
for(LONG j = 0; j < 10; ++j)
{
PropVariantClear(&pv);
pv.vt = VT_BOOL;
hr = pStore->GetValue(MFPKEY_TOCGENERATOR_TOCREADY, &pv);
if(SUCCEEDED(hr) && 1 == pv.bVal) // Note: 1 is not equal to VARIANT_TRUE.
{
PropVariantClear(&pv);
pv.vt = VT_UNKNOWN;
hr = pStore->GetValue(MFPKEY_TOCGENERATOR_TOCOBJECT, &pv);
if(SUCCEEDED(hr))
{
*ppToc = (IToc*)pv.punkVal;
}
break;
}
Sleep(200);
hr = ERROR_TIMEOUT;
}
}
pStore->Release();
pStore = NULL;
}
return hr;
}
See Also
Generating a Table of Contents Automatically
Send comments about this topic to Microsoft
Build date: 4/7/2010