Marshalling dei dati con chiamata al sistema operativo

Per chiamare le funzioni esportate da una libreria non gestita, un'applicazione .NET Framework richiede un prototipo di funzione nel codice gestito che rappresenta la funzione non gestita. Per creare un prototipo che consenta il marshalling corretto dei dati mediante la chiamata al sistema operativo, occorre procedere nel modo seguente:

  • Applicare l'attributo DLLImportAttribute alla funzione o al metodo static nel codice gestito.
  • Sostituire i tipi di dati non gestiti con i tipi di dati gestiti.

È possibile utilizzare la documentazione fornita con una funzione non gestita per costruire un prototipo gestito equivalente applicando l'attributo con i relativi campi facoltativi e sostituendo i tipi di dati non gestiti con quelli gestiti. Per istruzioni su come applicare l'attributo DllImportAttribute, vedere Utilizzo delle funzioni di DLL non gestite.

In questa sezione vengono forniti esempi che dimostrano come creare i prototipi di funzioni gestite per passare argomenti e ricevere valori restituiti da funzioni esportate dalle librerie non gestite. Gli esempi consentono anche di dimostrare quando utilizzare l'attributo MarshalAsAttribute e la classe Marshal per effettuare il marshalling esplicito dei dati.

In questa sezione

Argomenti correlati