IDiaPropertyStorageIDiaPropertyStorage

Ermöglicht das Lesen der persistenten Eigenschaften eines Dia-Eigenschaften Satzes.Allows you to read the persistent properties of a DIA property set.

SyntaxSyntax

IDiaPropertyStorage : IUnknown

Methoden in Vtable-ReihenfolgeMethods in Vtable Order

In der folgenden Tabelle sind die Methoden von IDiaPropertyStorage aufgeführt.The following table shows the methods of IDiaPropertyStorage.

MethodeMethod BeschreibungDescription
IDiaPropertyStorage::EnumIDiaPropertyStorage::Enum Ruft einen Zeiger auf einen Enumerator für Eigenschaften in diesem Satz ab.Gets a pointer to an enumerator for properties within this set.
IDiaPropertyStorage::ReadBOOLIDiaPropertyStorage::ReadBOOL Liest BOOL Werte in einem Eigenschaften Satz.Reads BOOL values in a property set.
IDiaPropertyStorage::ReadBSTRIDiaPropertyStorage::ReadBSTR Liest BSTR Werte in einem Eigenschaften Satz.Reads BSTR values in a property set.
IDiaPropertyStorage::ReadDWORDIDiaPropertyStorage::ReadDWORD Liest DWORD Werte in einem Eigenschaften Satz.Reads DWORD values in a property set.
IDiaPropertyStorage::ReadLONGIDiaPropertyStorage::ReadLONG Liest LONG Werte in einem Eigenschaften Satz.Reads LONG values in a property set.
IDiaPropertyStorage::ReadMultipleIDiaPropertyStorage::ReadMultiple Liest Eigenschaftswerte in einem Eigenschaften Satz.Reads property values in a property set.
IDiaPropertyStorage::ReadPropertyNamesIDiaPropertyStorage::ReadPropertyNames Ruft die entsprechenden Zeichen folgen Namen für angegebene Eigenschaften Bezeichner ab.Gets corresponding string names for given property identifiers.
IDiaPropertyStorage::ReadULONGLONGIDiaPropertyStorage::ReadULONGLONG Liest ULONGLONG Werte in einem Eigenschaften Satz.Reads ULONGLONG values in a property set.

HinweiseRemarks

Jede Eigenschaft innerhalb eines Eigenschaften Satzes wird durch einen Eigenschafts Bezeichner (ID), einen vier Byte ULONG Wert identifiziert, der für diesen Satz eindeutig ist.Each property within a property set is identified by a property identifier (ID), a four-byte ULONG value unique to that set. Die Eigenschaften, die über die IDiaPropertyStorage-Schnittstelle verfügbar gemacht werden, entsprechen den Eigenschaften in der übergeordneten Schnittstelle.The properties exposed through the IDiaPropertyStorage interface correspond to the properties available in the parent interface. Beispielsweise kann auf die Eigenschaften der idiasymmetribol -Schnittstelle über den Namen über die IDiaPropertyStorage-Schnittstelle zugegriffen werden (Beachten Sie jedoch, dass die-Eigenschaft für ein bestimmtes IDiaSymbol Objekt nicht gültig ist, obwohl die-Eigenschaft möglicherweise zugänglich ist).For example, the properties of the IDiaSymbol interface can be accessed by name through the IDiaPropertyStorage interface (note, however, that even though the property may be accessible, it does not mean the property is valid for a particular IDiaSymbol object).

Hinweise für AufruferNotes for Callers

Rufen Sie diese Schnittstelle durch Aufrufen der QueryInterface-Methode für eine andere Schnittstelle ab.Obtain this interface by calling the QueryInterface method on another interface. Die folgenden Schnittstellen können für die IDiaPropertyStorage-Schnittstelle abgefragt werden:The following interfaces can be queried for the IDiaPropertyStorage interface:

BeispielExample

Dieses Beispiel zeigt eine Funktion, die alle vom IDiaPropertyStorage Objekt verfügbar gemachten Eigenschaften anzeigt.This example shows a function that displays all properties exposed by the IDiaPropertyStorage object. Ein Beispiel dafür, wie die IDiaPropertyStorage-Schnittstelle von der idiainjetedsource -Schnittstelle abgerufen wird, finden Sie unter idiaenuminjetedsources -Schnittstelle.See the IDiaEnumInjectedSources interface for an example of how the IDiaPropertyStorage interface is obtained from the IDiaInjectedSource interface.

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();
    }
}

AnforderungenRequirements

Header: Dia2.hHeader: Dia2.h

Bibliothek: diaguids. libLibrary: diaguids.lib

DLL: msdia80.dllDLL: msdia80.dll

Siehe auchSee also