IDiaPropertyStorage
Umožňuje číst trvalé vlastnosti sadu vlastností DIA.
IDiaPropertyStorage : IUnknown
Metody v pořadí virtuální tabulka
Následující tabulka obsahuje metody IDiaPropertyStorage.
Metoda |
Description |
---|---|
Ukazatel se získá na čítač výčtu pro vlastnosti v rámci této sady. |
|
Čte BOOL hodnot v sadě vlastností. |
|
Čte BSTR hodnot v sadě vlastností. |
|
Čte DWORD hodnot v sadě vlastností. |
|
Čte LONG hodnot v sadě vlastností. |
|
Přečte hodnoty vlastností v sadě vlastností. |
|
Získá odpovídající řetězec názvy uvedeny vlastnosti identifikátory. |
|
Čte ULONGLONG hodnot v sadě vlastností. |
Poznámky
Každá vlastnost v rámci sady vlastností je identifikována vlastnost identifikátor (ID) čtyř bajtů ULONG pro tuto sadu jedinečné hodnoty.Vlastnosti vystaven IDiaPropertyStorage rozhraní odpovídat vlastnosti dostupné v nadřazené rozhraní.Například vlastnosti IDiaSymbol rozhraní lze přistupovat pomocí názvu až IDiaPropertyStorage rozhraní (Uvědomte si však, že i když vlastnost může být přístupné, neznamená to je platný pro určitou vlastnost IDiaSymbol objektu).
Poznámky pro volající
Získat voláním rozhraní QueryInterface metodu na jiného rozhraní.Následující rozhraní mohou být zadávány dotazy IDiaPropertyStorage rozhraní:
Příklad
Tento příklad ukazuje funkci, která zobrazí všechny vlastnosti vystavený IDiaPropertyStorage objektu.Najdete IDiaEnumInjectedSources rozhraní pro příklad jak IDiaPropertyStorage získané z rozhraní IDiaInjectedSource rozhraní.
void PrintPropertyStorage(IDiaPropertyStorage* pPropertyStorage)
{
IEnumSTATPROPSTG* pEnumProps;
STATPROPSTG prop;
DWORD celt = 1;
if (pPropertyStorage->Enum(&pEnumProps) == S_OK)
{
while (pEnumProps->Next(celt, &prop, &celt) == S_OK)
{
PROPSPEC pspec = { PRSPEC_PROPID, prop.propid };
PROPVARIANT vt = { VT_EMPTY };
if (pPropertyStorage->ReadMultiple( 1, &pspec, &vt) == S_OK)
{
switch( vt.vt ){
case VT_BOOL:
wprintf( L"%32s:\t %s\n", prop.lpwstrName, vt.bVal ? L"true" : L"false" );
break;
case VT_I2:
wprintf( L"%32s:\t %d\n", prop.lpwstrName, vt.iVal );
break;
case VT_UI2:
wprintf( L"%32s:\t %d\n", prop.lpwstrName, vt.uiVal );
break;
case VT_I4:
wprintf( L"%32s:\t %d\n", prop.lpwstrName, vt.intVal );
break;
case VT_UI4:
wprintf( L"%32s:\t 0x%0x\n", prop.lpwstrName, vt.uintVal );
break;
case VT_UI8:
wprintf( L"%32s:\t 0x%x\n", prop.lpwstrName, vt.uhVal.QuadPart );
break;
case VT_BSTR:
wprintf( L"%32s:\t %s\n", prop.lpwstrName, vt.bstrVal );
break;
case VT_UNKNOWN:
wprintf( L"%32s:\t %p\n", prop.lpwstrName, vt.punkVal );
break;
case VT_SAFEARRAY:
break;
default:
break;
}
VariantClear((VARIANTARG*) &vt);
}
}
pEnumProps->Release();
}
}
Požadavky
Záhlaví: Dia2.h
Knihovny: diaguids.lib
Knihovna DLL: msdia80.dll