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 alanlarının uzaklıklarını alır.
Sözdizimi
HRESULT GetClassLayout(
[in] ClassID classID,
[in, out] COR_FIELD_OFFSET rFieldOffset[],
[in] ULONG cFieldOffset,
[out] ULONG *pcFieldOffset,
[out] ULONG *pulClassSize);
Parametreler
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 bir 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ın bayt cinsinden boyutunu içeren bir konumun işaretçisi.
Açıklamalar
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ıfta çağrısı GetClassLayout
yapması gerekir.
Dize sınıfları ile kullanırsanız GetClassLayout
yöntemi E_INVALIDARG hata koduyla 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ünmüş COR_FIELD_OFFSET
boyutuyla rFieldOffset
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 ilk GetClassLayout
olarak sıfır uzunlukta rFieldOffset
bir arabellek çağırabilirsiniz. Daha sonra arabellek boyutunu döndürülen pcFieldOffset
değere ayarlayabilir ve yeniden çağırabilirsiniz GetClassLayout
.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: CorProf.idl, CorProf.h
Kitaplığı: CorGuids.lib
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir