Sdílet prostřednictvím


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

IDiaPropertyStorage::Enum

Ukazatel se získá na čítač výčtu pro vlastnosti v rámci této sady.

IDiaPropertyStorage::ReadBOOL

Čte BOOL hodnot v sadě vlastností.

IDiaPropertyStorage::ReadBSTR

Čte BSTR hodnot v sadě vlastností.

IDiaPropertyStorage::ReadDWORD

Čte DWORD hodnot v sadě vlastností.

IDiaPropertyStorage::ReadLONG

Čte LONG hodnot v sadě vlastností.

IDiaPropertyStorage::ReadMultiple

Přečte hodnoty vlastností v sadě vlastností.

IDiaPropertyStorage::ReadPropertyNames

Získá odpovídající řetězec názvy uvedeny vlastnosti identifikátory.

IDiaPropertyStorage::ReadULONGLONG

Č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

Viz také

Referenční dokumentace

IDiaSession::getEnumTables

IDiaSectionContrib

IDiaSegment

IDiaInjectedSource

IDiaFrameData

IDiaSymbol

IDiaSourceFile

IDiaLineNumber

IDiaEnumInjectedSources

Další zdroje

Rozhraní (ladění přístupu k rozhraní SDK)