مشاركة عبر


أسلوب IMetaDataEmit::SetClassLayout

اكتمال تخطيط حقول لفئة ما قد تم تعريف على استدعاء سابق إلى أسلوب IMetaDataEmit::DefineTypeDef.

HRESULT SetClassLayout (
    [in]  mdTypeDef           td, 
    [in]  DWORD               dwPackSize, 
    [in]  COR_FIELD_OFFSET    rFieldOffsets[], 
    [in]  ULONG               ulClassSize 
);

المعلمات

  • td
    [في] mdTypeDefالمميزة التي تعين الفئة تخطيط السحب.

  • dwPackSize
    [في] الحجم الحزمة: 1، 2، 4، 8 أو 16 وحدات البايت. الحجم الحزمة هو عدد البايتات بين حقول متجاورة.

  • rFieldOffsets
    [في] صفيفة بنيات COR_FIELD_OFFSET ، كل منها بتحديد حقل من فئة و الإزاحة الحقل داخل فئة. ينهي الصفيف مع mdTokenNil.

  • ulClassSize
    [في] الحجم، بالبايتات، فئة.

ملاحظات

الفئة هو معرفة مبدئياً بواسطة استدعاء IMetaDataEmit::DefineTypeDef الطريقة، وقم بتحديد واحد من ثلاثة تخطيطات لحقول الفئة: تلقائي متسلسل أو صريح. عادة، سيتم استخدام التخطيط auإلىmatic والسماح لوقت التشغيل اختيار أفضل طريقة إلى تخطيط حقول.

ومع ذلك، قد تحتاج حقول تخطيط طبقاً إلى يستخدم الترتيب الذي تعليمة برمجية مدارة. في هذه الحالة، اختيار متسلسل أو صريح في التخطيط واستدعاء SetClassLayoutإلى اكتمال تخطيط حقول:

  • متسلسلة التخطيط: قم بتعيين الحجم الحزمة. حقل هو محاذاة وفقا لحجم الحزمة أو حجمها الطبيعي، أيهما ينتج الإزاحة أصغر من الحقل. تعيين rFieldOffsetsو ulClassSizeإلى الصفر.

  • تخطيط واضح: أما تحديد إزاحة كل حقل أو قم بتحديد الحجم الفئة وحجم الحزمة.

المتطلبات

الأنظمة الأساسية: See متطلبات النظام إطار عمل .NET.

**Header:**Cor.h

المكتبة: Used كـ a مورد في MSCorEE.dll

.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

راجع أيضًا:

المرجع

واجهة IMetaDataEmit

واجهة IMetaDataEmit2