Condividi tramite


IDiaPropertyStorage

Consente di leggere le proprietà persistenti di un set di proprietà DIA.

Sintassi

IDiaPropertyStorage : IUnknown

Metodi nell'ordine Vtable

Nella tabella seguente vengono illustrati i metodi di IDiaPropertyStorage.

metodo Descrizione
IDiaPropertyStorage::Enum Ottiene un puntatore a un enumeratore per le proprietà all'interno di questo set.
IDiaPropertyStorage::ReadBOOL Legge i BOOL valori in un set di proprietà.
IDiaPropertyStorage::ReadBSTR Legge i BSTR valori in un set di proprietà.
IDiaPropertyStorage::ReadDWORD Legge i DWORD valori in un set di proprietà.
IDiaPropertyStorage::ReadLONG Legge i LONG valori in un set di proprietà.
IDiaPropertyStorage::ReadMultiple Legge i valori delle proprietà in un set di proprietà.
IDiaPropertyStorage::ReadPropertyNames Ottiene i nomi di stringa corrispondenti per gli identificatori di proprietà specificati.
IDiaPropertyStorage::ReadULONGLONG Legge i ULONGLONG valori in un set di proprietà.

Osservazioni:

Ogni proprietà all'interno di un set di proprietà viene identificata da un identificatore di proprietà (ID), un valore a quattro byte ULONG univoco per tale set. Le proprietà esposte tramite l'interfaccia IDiaPropertyStorage corrispondono alle proprietà disponibili nell'interfaccia padre. Ad esempio, è possibile accedere alle proprietà dell'interfaccia IDiaSymbol tramite il nome tramite l'interfaccia IDiaPropertyStorage . Si noti tuttavia che, anche se la proprietà può essere accessibile, non significa che la proprietà sia valida per un oggetto specifico IDiaSymbol .

Note per i chiamanti

Ottenere questa interfaccia chiamando il QueryInterface metodo su un'altra interfaccia. È possibile eseguire query sulle interfacce seguenti per l'interfaccia IDiaPropertyStorage :

Esempio

Questo esempio mostra una funzione che visualizza tutte le proprietà esposte dall'oggetto IDiaPropertyStorage . Vedere l'interfaccia IDiaEnumInjectedSources per un esempio di come l'interfaccia IDiaPropertyStorage viene ottenuta dall'interfaccia IDiaInjectedSource .

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();
    }
}

Requisiti

Intestazione: Dia2.h

Libreria: diaguids.lib

DLL: msdia80.dll

Vedi anche