Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Dia özellik kümesinin kalıcı özelliklerini okumanızı sağlar.
Sözdizimi
IDiaPropertyStorage : IUnknown
Vtable Sırasına Göre Yöntemler
Aşağıdaki tabloda yönteminin yöntemleri gösterilmektedir IDiaPropertyStorage.
| Metot | Açıklama |
|---|---|
| IDiaPropertyStorage::Enum | Bu küme içindeki özellikler için bir numaralandırıcıya işaretçi alır. |
| IDiaPropertyStorage::ReadBOOL | BOOL Bir özellik kümesindeki değerleri okur. |
| IDiaPropertyStorage::ReadBSTR | BSTR Bir özellik kümesindeki değerleri okur. |
| IDiaPropertyStorage::ReadDWORD | DWORD Bir özellik kümesindeki değerleri okur. |
| IDiaPropertyStorage::ReadLONG | LONG Bir özellik kümesindeki değerleri okur. |
| IDiaPropertyStorage::ReadMultiple | Özellik kümesindeki özellik değerlerini okur. |
| IDiaPropertyStorage::ReadPropertyNames | Belirli özellik tanımlayıcıları için karşılık gelen dize adlarını alır. |
| IDiaPropertyStorage::ReadULONGLONG | ULONGLONG Bir özellik kümesindeki değerleri okur. |
Açıklamalar
Özellik kümesindeki her özellik, bu kümeye özgü dört baytlık ULONG bir değer olan özellik tanımlayıcısı (ID) ile tanımlanır. Arabirim aracılığıyla kullanıma sunulan IDiaPropertyStorage özellikler, üst arabirimde kullanılabilen özelliklere karşılık gelir. Örneğin, IDiaSymbol arabiriminin özelliklerine arabirim aracılığıyla adla IDiaPropertyStorage erişilebilir (ancak, özelliğin erişilebilir olmasına rağmen, özelliğin belirli IDiaSymbol bir nesne için geçerli olduğu anlamına gelmez).
Arayanlar İçin Notlar
Yöntemini başka bir arabirimde QueryInterface çağırarak bu arabirimi alın. Arabirim için IDiaPropertyStorage aşağıdaki arabirimler sorgulanabilir:
Örnek
Bu örnekte, nesne tarafından kullanıma sunulan tüm özellikleri görüntüleyen bir işlev gösterilmektedir IDiaPropertyStorage . Arabirimin IDiaInjectedSource arabiriminden nasıl alındığına IDiaPropertyStorage ilişkin bir örnek için IDiaEnumInjectedSources arabirimine bakın.
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();
}
}
Gereksinimler
Üst bilgi: Dia2.h
Kitaplık: diaguids.lib
DLL: msdia80.dll