Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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