IDiaPropertyStorage
Permet de lire les propriétés persistantes dans un jeu de propriétés de diamètre.
IDiaPropertyStorage : IUnknown
méthodes en commande de Vtable
Le tableau suivant répertorie les méthodes d' IDiaPropertyStorage.
Méthode |
Description |
---|---|
Obtient un pointeur vers un énumérateur pour les propriétés de cet ensemble. |
|
Lit les valeurs d' BOOL dans un jeu de propriétés. |
|
Lit les valeurs d' BSTR dans un jeu de propriétés. |
|
Lit les valeurs d' DWORD dans un jeu de propriétés. |
|
Lit les valeurs d' LONG dans un jeu de propriétés. |
|
Lit les valeurs de propriété dans un jeu de propriétés. |
|
Obtient les noms de chaîne correspondants pour les identificateurs donnés de propriété. |
|
Lit les valeurs d' ULONGLONG dans un jeu de propriétés. |
Notes
chaque propriété dans un jeu de propriétés est identifiée par un identificateur de propriété (ID), une valeur de quatre octets d' ULONG unique à celle définit. Les propriétés exposées via l'interface d' IDiaPropertyStorage correspondent aux propriétés disponibles dans l'interface parente. Par exemple, les propriétés de l'interface d' IDiaSymbol sont accessibles par nom via l'interface d' IDiaPropertyStorage (notez, cependant, qui bien que la propriété puisse être accessible, il ne signifie pas la propriété est valide pour un objet particulier d' IDiaSymbol ).
Remarques pour les appelants
obtenez cette interface en appelant la méthode d' QueryInterface sur une autre interface. les interfaces suivantes peuvent être interrogées pour l'interface d' IDiaPropertyStorage :
Exemple
Cet exemple illustre une fonction qui affiche toutes les propriétés exposées par l'objet d' IDiaPropertyStorage . Consultez l'interface d' IDiaEnumInjectedSources pour obtenir un exemple de la façon dont l'interface d' IDiaPropertyStorage est fournie par l'interface d' 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();
}
}
Configuration requise
en-tête : Dia2.h
bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Référence
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)