我有一个非托管 C++ 库。我想公开 .NET 应用程序的功能。我不确定如何处理一个特定的功能:
typedef void (free_fn*) (void*); void put (void *data, free_fn deallocation_function);
这个想法是您将动态分配的缓冲区传递给函数并提供一个释放函数。库将异步处理数据,并在以后不再需要数据时释放缓冲区:
无效 *p = malloc (100); ... 填充缓冲区... put (p, free);
我怎样才能将这种东西暴露给 .NET 应用程序?