Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Umožňuje číst trvalé vlastnosti sady vlastností DIA.
Syntaxe
IDiaPropertyStorage : IUnknown
Metody v pořadí Vtable
Následující tabulka ukazuje metody IDiaPropertyStorage.
| metoda | Popis |
|---|---|
| IDiaPropertyStorage::Enum | Získá ukazatel na enumerátor pro vlastnosti v rámci této sady. |
| IDiaPropertyStorage::ReadBOOL | BOOL Načte hodnoty v sadě vlastností. |
| IDiaPropertyStorage::ReadBSTR | BSTR Načte hodnoty v sadě vlastností. |
| IDiaPropertyStorage::ReadDWORD | DWORD Načte hodnoty v sadě vlastností. |
| IDiaPropertyStorage::ReadLONG | LONG Načte hodnoty v sadě vlastností. |
| IDiaPropertyStorage::ReadMultiple | Čte hodnoty vlastností v sadě vlastností. |
| IDiaPropertyStorage::ReadPropertyNames | Získá odpovídající názvy řetězců pro dané identifikátory vlastností. |
| IDiaPropertyStorage::ReadULONGLONG | ULONGLONG Načte hodnoty v sadě vlastností. |
Poznámky
Každá vlastnost v rámci sady vlastností je identifikována identifikátorem vlastnosti (ID), čtyři bajtovou ULONG hodnotou jedinečnou pro tuto sadu. Vlastnosti vystavené prostřednictvím IDiaPropertyStorage rozhraní odpovídají vlastnostem dostupným v nadřazené rozhraní. Například vlastnosti rozhraní IDiaSymbol lze získat přístup pomocí názvu prostřednictvím IDiaPropertyStorage rozhraní (poznámka však, že i když vlastnost může být přístupná, neznamená to, že vlastnost je platná pro konkrétní IDiaSymbol objekt).
Poznámky pro volající
Získejte toto rozhraní voláním QueryInterface metody v jiném rozhraní. Na rozhraní se dají dotazovat IDiaPropertyStorage následující rozhraní:
Příklad
Tento příklad ukazuje funkci, která zobrazí všechny vlastnosti vystavené objektem IDiaPropertyStorage . Podívejte se na IDiaEnumInjectedSources rozhraní příklad, jak IDiaPropertyStorage je rozhraní získáno z IDiaInjektSource 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
Hlavička: Dia2.h
Knihovna: diaguids.lib
DLL: msdia80.dll