Ich konvertiere eine verwaltete System.Action in eine nicht verwaltete std :: -Funktion in einem C++/CLI-Projekt; sollte ich das angegebene IntPtr nach der Verwendung des Callbacks freigeben oder ist es unnötig?Marshal :: GetFunctionPointerForDelegate: Soll ich das Ergebnis freigeben?
void MyClass::Execute(System::Action^ callback)
{
IntPtr callbackPtr = Marshal::GetFunctionPointerForDelegate(callback);
std::function<void (void)> nativeCallback = static_cast<void (__stdcall *) (void)>(callbackPtr.ToPointer());
m_nativeObject->Execute(wrappedCallback);
// should I release callbackPtr here?
}
auch wenn m_nativeObject-> Execute (wrappedCallback) synchron ist? – Notoriousxl
Ein Thread wird Ihren Tag ruinieren. Naja, Woche. –