MarshalMode Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje różne tryby marshalingu używane przez, CustomMarshallerAttribute aby wskazać, kiedy ma zastosowanie marshaller.
public enum class MarshalMode
public enum MarshalMode
type MarshalMode =
Public Enum MarshalMode
- Dziedziczenie
Pola
| Nazwa | Wartość | Opis |
|---|---|---|
| Default | 0 | Wszystkie tryby. Marshaller określony w tym trybie będzie używany, jeśli nie ma określonego marshallera dla danego trybu użycia. |
| ManagedToUnmanagedIn | 1 | Według wartości i |
| ManagedToUnmanagedRef | 2 |
|
| ManagedToUnmanagedOut | 3 |
|
| UnmanagedToManagedIn | 4 | Według wartości i |
| UnmanagedToManagedRef | 5 |
|
| UnmanagedToManagedOut | 6 |
|
| ElementIn | 7 | Elementy tablic przekazanych za pomocą |
| ElementRef | 8 | Elementy tablic przekazanych |
| ElementOut | 9 | Elementy tablic przekazanych |
Uwagi
Każda nazwa elementu członkowskiego jest zgodna ze wzorcem {CallDirection}{DataFlow}:
-
Kierunek wywołania (
ManagedToUnmanagedlubUnmanagedToManaged) wskazuje, która strona inicjuje wywołanie.ManagedToUnmanageddotyczy wywołań P/Invoke.UnmanagedToManageddotyczy scenariuszy reverse P/Invoke lub COM, w których kod natywny wywołuje kod zarządzany. -
Przepływ danych (
In,Out, lubRef) wskazuje sposób, w jaki dane są przesuwane względem wywołania.Inoznacza przepływ danych z obiektu wywołującego do wywoływania.Outoznacza przepływ danych z wywoływania do obiektu wywołującego, który zawiera zarówno parametry, jakouti wartości zwracane.Refoznacza przepływy danych w obu kierunkach.
Dotyczy to na przykład sytuacji, ManagedToUnmanagedOut gdy kod zarządzany wywołuje niezarządzany kod (P/Invoke) i dane przepływa z powrotem do obiektu wywołującego — obejmuje out to parametry i zwracane wartości. Marshaller dla tego trybu konwertuje typ niezarządzany na typ zarządzany.