MarshalMode Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar de olika marshallinglägen som används av CustomMarshallerAttribute för att ange när en marshaller gäller.
public enum class MarshalMode
public enum MarshalMode
type MarshalMode =
Public Enum MarshalMode
- Arv
Fält
| Name | Värde | Description |
|---|---|---|
| Default | 0 | Alla lägen. En marshaller som anges med det här läget används om det inte finns någon specifik marshaller för ett visst användningsläge. |
| ManagedToUnmanagedIn | 1 | Eftervärde och |
| ManagedToUnmanagedRef | 2 |
|
| ManagedToUnmanagedOut | 3 |
|
| UnmanagedToManagedIn | 4 | Eftervärde och |
| UnmanagedToManagedRef | 5 |
|
| UnmanagedToManagedOut | 6 |
|
| ElementIn | 7 | Element i matriser som skickas med |
| ElementRef | 8 | Element i matriser som skickas med |
| ElementOut | 9 | Element i matriser som skickas med |
Kommentarer
Varje medlemsnamn följer mönstret {CallDirection}{DataFlow}:
-
Samtalsriktning (
ManagedToUnmanagedellerUnmanagedToManaged) anger vilken sida som initierar anropet.ManagedToUnmanagedgäller för P/Invoke-anrop.UnmanagedToManagedgäller för omvända P/Invoke- eller COM-scenarier där inbyggd kod anropar till hanterad kod. -
Dataflödet (
In,Out, ellerRef) anger hur data flyttas i förhållande till anropet.Ininnebär dataflöden från anropare till samtalsmottagare.Outinnebär dataflöden från anropare till anropare, som innehåller bådeoutparametrar och returvärden.Refinnebär dataflöden i båda riktningarna.
Till exempel ManagedToUnmanagedOut gäller när hanterad kod anropar ohanterad kod (P/Invoke) och dataflöden tillbaka till anroparen – detta omfattar out parametrar och returvärden. Marshaller för det här läget konverterar från den ohanterade typen till den hanterade typen.