IDiaPropertyStorage
Umożliwia trwałe właściwości DIA zestaw właściwości do odczytu.
IDiaPropertyStorage : IUnknown
Metody w kolejności Vtable
W poniższej tabeli przedstawiono metody IDiaPropertyStorage.
Metoda |
Opis |
---|---|
Pobiera wskaźnik do moduł wyliczający dla właściwości w ramach tego zestawu. |
|
Odczytuje BOOL wartości w zestawie właściwości. |
|
Odczytuje BSTR wartości w zestawie właściwości. |
|
Odczytuje DWORD wartości w zestawie właściwości. |
|
Odczytuje LONG wartości w zestawie właściwości. |
|
Odczytuje wartości właściwości w zestawie właściwości. |
|
Pobiera ciąg nazwy odpowiadające podane identyfikatory właściwości. |
|
Odczytuje ULONGLONG wartości w zestawie właściwości. |
Uwagi
Każda właściwość w obrębie zestawu właściwości jest identyfikowany przez właściwość identyfikator (ID), 4 bajtowy ULONG wartości unikatowe dla tego zestawu.Właściwości dostępne za pośrednictwem IDiaPropertyStorage interfejsu odpowiadają właściwości dostępne w interfejsie nadrzędnej.Na przykład właściwości IDiaSymbol interfejsu jest możliwy przez nazwę poprzez IDiaPropertyStorage interfejsu (należy jednak zauważyć, że nawet jeśli właściwość może być dostępny, nie oznacza właściwość jest prawidłowa dla konkretnej IDiaSymbol obiektu).
Uwagi do wywoływania
Ten interfejs uzyskać, wywołując QueryInterface metody na innego interfejsu.Następujące interfejsy mogą być wysyłane kwerendy do IDiaPropertyStorage interfejsu:
Przykład
W przykładzie pokazano funkcję, która wyświetla wszystkie właściwości udostępniane przez IDiaPropertyStorage obiektu.Zobacz IDiaEnumInjectedSources interfejsu, na przykład sposób, w jaki IDiaPropertyStorage interfejsu są uzyskiwane z IDiaInjectedSource interfejsu.
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();
}
}
Wymagania
Nagłówek: Dia2.h
Biblioteki: diaguids.lib
Biblioteka DLL: msdia80.dll