Partilhar via


Quebra automática de delegados e ponteiros de função não gerenciada

A.NET Framework versão 2.0 e posterior fornece a capacidade de ponteiros de função de marshaling entre código gerenciado e usando os seguintes métodos:

  • Use o Marshal.GetDelegateForFunctionPointer método para empacotar um ponteiro de função não gerenciada em um delegate. Esse método usa o System.IntPtr classe para representar um ponteiro de função não gerenciada.

  • Use o Marshal.GetFunctionPointerForDelegate método para empacotar um delegado em um ponteiro de função que pode ser chamado do código não gerenciado. Quando você usa esse método, você deve manter manualmente o delegado seja coletado pelo coletor de lixo. O coletor de lixo não controla as referências ao código não gerenciado.

Observe que o empacotador de parâmetro também pode empacotar os ponteiros de função para representantes na.NET Framework 2.0 e posterior.

Consulte também

Referência

GetDelegateForFunctionPointer

GetFunctionPointerForDelegate