Aracılığıyla paylaş


MarshalMode Sabit listesi

Tanım

Bir marshaller'ın ne zaman uygulandığını belirtmek için tarafından CustomMarshallerAttribute kullanılan farklı sıralama modlarını temsil eder.

public enum class MarshalMode
public enum MarshalMode
type MarshalMode = 
Public Enum MarshalMode
Devralma
MarshalMode

Alanlar

Name Değer Description
Default 0

Tüm modlar. Belirli bir kullanım modu için belirli bir marshaller yoksa, bu modla belirtilen bir marshaller kullanılır.

ManagedToUnmanagedIn 1

P/Invoke gibi yönetilen ve yönetilmeyen senaryolardaki değerlere ve in parametrelere göre.

ManagedToUnmanagedRef 2

ref P/Invoke gibi yönetilen ve yönetilmeyen senaryolardaki parametreler.

ManagedToUnmanagedOut 3

out parametreleri ve P/Invoke gibi yönetilmeyen senaryolardaki değerleri döndürür. Marshaller yönetilmeyen türden yönetilen türe dönüştürür.

UnmanagedToManagedIn 4

Ters P/Invoke gibi yönetilmeyen ve yönetilen senaryolardaki değerlere ve in parametrelere göre.

UnmanagedToManagedRef 5

ref Ters P/Invoke gibi yönetilmeyen ve yönetilen senaryolardaki parametreler.

UnmanagedToManagedOut 6

out parametreleri ve ters P/Invoke gibi yönetilmeyen ve yönetilen senaryolardaki dönüş değerleri. Marshaller yönetilen türden yönetilmeyen türe dönüştürür.

ElementIn 7

Birlikte çalışma senaryolarında veya değeriyle in geçirilen dizilerin öğeleri.

ElementRef 8

Hem hem de refInAttribute birlikte çalışma senaryolarında ile OutAttribute geçirilen veya değere göre geçirilen dizilerin öğeleri.

ElementOut 9

Yalnızca birlikte çalışma senaryolarında ile geçirilen out veya değere OutAttribute göre geçirilen dizilerin öğeleri.

Açıklamalar

Her üye adı desenini {CallDirection}{DataFlow}izler:

  • Çağrı yönü (ManagedToUnmanaged veya UnmanagedToManaged), çağrıyı hangi tarafın başlattığını gösterir. ManagedToUnmanaged P/Invoke çağrıları için geçerlidir. UnmanagedToManaged , yerel kodun yönetilen koda çağrı yaptığı Ters P/Invoke veya COM senaryoları için geçerlidir.
  • Veri akışı (In, Outveya Ref) verilerin çağrıya göre nasıl taşıntığını gösterir. In çağırandan çağırana veri akışları anlamına gelir. Out , hem parametreleri hem de out dönüş değerlerini içeren çağrıyı yapandan çağırana veri akışları anlamına gelir. Ref her iki yönde de veri akışları anlamına gelir.

Örneğin, ManagedToUnmanagedOut yönetilen kod yönetilmeyen kodu (P/Invoke) çağırdığında ve veri çağırana geri aktığında geçerlidir; bu, parametreleri ve dönüş değerlerini kapsar out . Bu modun marshaller'ı yönetilmeyen türden yönetilen türe dönüştürülür.

Şunlara uygulanır