IDiaPropertyStorage
Ermöglicht es Ihnen, die beibehaltenen Eigenschaften eines Durchmesser-Eigenschaftensatzes zu lesen.
IDiaPropertyStorage : IUnknown
Methoden in die Vtable-Reihenfolge
In der folgenden Tabelle werden die Methoden von IDiaPropertyStoragean.
Methode |
Beschreibung |
---|---|
Ruft einen Zeiger auf einen Enumerator für Eigenschaften innerhalb dieses Satzes. |
|
Liest BOOL-Werte in einem Eigenschaft. |
|
Liest BSTR-Werte in einem Eigenschaft. |
|
Liest DWORD-Werte in einem Eigenschaft. |
|
Liest LONG-Werte in einem Eigenschaft. |
|
Liest Eigenschaftswerte in einem Eigenschaft. |
|
Ruft entsprechende Zeichenfolgennamens für den angegebenen Eigenschaftenbezeichner ab. |
|
Liest ULONGLONG-Werte in einem Eigenschaft. |
Hinweise
Jede Eigenschaft innerhalb des Eigenschaftensatzes wird durch einen Eigenschaftenbezeichner (ID), ein Wert BYTEs Vier ULONG identifiziert, der zum eindeutig ist, festlegen.Die Eigenschaften, die von der IDiaPropertyStorage-Schnittstelle verfügbar gemacht werden, entsprechen den Eigenschaften, die in der übergeordneten Schnittstelle zur Verfügung stehen.Zum Beispiel können die Eigenschaften der IDiaSymbol-Schnittstelle durch die IDiaPropertyStorage-Schnittstelle über den Namen zugegriffen werden. (Beachten Sie jedoch, dass, obwohl die Eigenschaft zugegriffen werden kann, möglicherweise nicht die Eigenschaft impliziert, ist für ein bestimmtes IDiaSymbol-Objekt gültig.)
Hinweise für Aufrufer
Rufen Sie diese Schnittstelle, indem sie die QueryInterface-Methode auf einer anderen Schnittstelle aufruft.Die folgenden Schnittstellen können für die IDiaPropertyStorage-Schnittstelle abgefragt werden:
Beispiel
In diesem Beispiel wird eine Funktion veranschaulicht, die alle Eigenschaften anzeigt, die vom IDiaPropertyStorage-Objekt verfügbar gemacht werden.Zeigen Sie die IDiaEnumInjectedSources-Schnittstelle als ein Beispiel dafür, wie die IDiaPropertyStorage-Schnittstelle aus der IDiaInjectedSource-Schnittstelle ermittelt wird.
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();
}
}
Anforderungen
Header: Dia2.h
Bibliothek: diaguids.lib
DLLs: msdia80.dll