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.
Belirtilen sınıf tarafından tanımlanan alanların bellekteki düzeni hakkında bilgi alır. Başka bir ifadeyle, bu yöntem sınıfın alanlarının uzaklıklarını alır.
Syntax
HRESULT GetClassLayout(
[in] ClassID classID,
[in, out] COR_FIELD_OFFSET rFieldOffset[],
[in] ULONG cFieldOffset,
[out] ULONG *pcFieldOffset,
[out] ULONG *pulClassSize);
Parameters
classID [in] Düzenin alınacağı sınıfın kimliği.
rFieldOffset [in, out] Her biri sınıf alanlarının belirteçlerini ve uzaklıklarını içeren COR_FIELD_OFFSET yapıları dizisi.
cFieldOffset [in] Dizinin boyutu rFieldOffset .
pcFieldOffset [out] Kullanılabilir öğelerin toplam sayısına ilişkin bir işaretçi. 0 ise cFieldOffset , bu değer gereken öğe sayısını gösterir.
pulClassSize [out] Sınıfın bayt cinsinden boyutunu içeren bir konuma işaretçi.
Remarks
GetClassLayout yöntemi yalnızca sınıfı tarafından tanımlanan alanları döndürür. Sınıfın üst sınıfı da tanımlı alanlara sahipse, profil oluşturucunun bu alanları almak için üst sınıfı çağırması GetClassLayout gerekir.
Dize sınıfları ile kullanırsanız GetClassLayout , yöntem hata kodu E_INVALIDARG başarısız olur. Bir dizenin düzeni hakkında bilgi almak için ICorProfilerInfo2::GetStringLayout kullanın.
GetClassLayout bir dizi sınıfıyla çağrıldığında da başarısız olur.
Döndürdükten sonra GetClassLayout , arabelleğin rFieldOffset kullanılabilir COR_FIELD_OFFSET tüm yapıları içerecek kadar büyük olduğunu doğrulamanız gerekir. Bunu yapmak için, işaret eden pcFieldOffset değeri bir yapının boyutuna bölünen boyutuyla rFieldOffsetCOR_FIELD_OFFSET karşılaştırın. Yeterince büyük değilse rFieldOffset , daha büyük rFieldOffset bir arabellek ayırın, yeni, daha büyük boyutla güncelleştirin cFieldOffset ve yeniden çağırın GetClassLayout .
Alternatif olarak, doğru arabellek boyutunu elde etmek için önce sıfır uzunlukta GetClassLayout bir arabellekle çağırabilirsinizrFieldOffset. Ardından arabellek boyutunu içinde döndürülen pcFieldOffset değere ayarlayabilir ve yeniden çağırabilirsiniz GetClassLayout .
Requirements
Platformlar: Bkz. Sistem Gereksinimleri.
Üstbilgi: CorProf.idl, CorProf.h
Library: CorGuids.lib
.NET Framework Sürümleri : 2.0 sürümünden itibaren kullanılabilir