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à permanente di un set di proprietà di diametro.
IDiaPropertyStorage : IUnknown
Metodi nell'ordine di Vtable
Nella tabella seguente sono elencati i metodi di IDiaPropertyStorage.
Metodo |
Descrizione |
|---|---|
Ottiene un puntatore a un enumeratore per le proprietà all'interno di questo set. |
|
legge BOOL valori in una raccolta di proprietà. |
|
legge BSTR valori in una raccolta di proprietà. |
|
legge DWORD valori in una raccolta di proprietà. |
|
legge LONG valori in una raccolta di proprietà. |
|
Legge i valori delle proprietà in un insieme di proprietà. |
|
Ottiene i nomi delle stringhe corrispondenti per gli identificatori di proprietà specificati. |
|
legge ULONGLONG valori in una raccolta di proprietà. |
Note
Ogni proprietà all'interno di una proprietà è contrassegnata da un identificatore di (ID) proprietà, a quattro byte ULONG il valore univoco a quello riportato di seguito.Le proprietà esposte tramite IDiaPropertyStorage l'interfaccia corrisponde alle proprietà disponibili nell'interfaccia padre.Ad esempio, le proprietà di IDiaSymbol l'interfaccia è possibile accedere per nome a IDiaPropertyStorage interfaccia (si noti, tuttavia, che anche se la proprietà è possibile accedere a, non significa la proprietà è valida per un determinato IDiaSymbol oggetto).
Note per i chiamanti
Leggi questa interfaccia chiamando QueryInterface metodo in un'altra interfaccia.Le interfacce seguenti è possibile eseguire una query per IDiaPropertyStorage interfaccia:
Esempio
In questo esempio viene illustrata una funzione che visualizza tutte le proprietà esposte da IDiaPropertyStorage oggetto.vedere IDiaEnumInjectedSources interfaccia per un esempio di come IDiaPropertyStorage l'interfaccia viene ottenuta da IDiaInjectedSource interfaccia.
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
raccolta: diaguids.lib
DLL: msdia80.dll