¿Cómo puedo pasar un mapa de bits .NET a una DLL nativa?

Esto es lo que tengo:

Una DLL externa, he escrito en C. Esta DLL enlaza con opencv. No quiero llamar a OpenCV directamente desde C #: ya hay grandes cantidades de código C que acceden a OpenCV que se usarán en la DLL. Hay una función exportada:passbitmap (void * mem, size_t s);

Un proyecto C # desde el que quiero llamar a la DLL.

Un objeto System.Drawing.Bitmap desde el que quiero pasar los datos de píxeles / mapa de bits de alguna manera a mi DLL.

Supongo que es algún tipo de P / Invoke, pero nunca lo he hecho, y no sé cómo puedo hacerlo correctamente en este caso. ¿Cómo debo proceder

Respuestas a la pregunta(2)

Su respuesta a la pregunta