¿Es posible llamar a una función C desde C # .Net

Tengo una C lib y quiero llamar a la función en esta biblioteca desde la aplicación C #. Intenté crear un contenedor C ++ / CLI en C lib agregando el archivo C lib como entrada del vinculador y agregando los archivos de origen como dependencias adicionales.

¿Hay alguna forma mejor de lograrlo? No estoy seguro de cómo agregar la salida de C a la aplicación c #.

Mi código C -

__declspec(dllexport) unsigned long ConnectSession(unsigned long handle,
                            unsigned char * publicKey,
                            unsigned char   publicKeyLen);

Mi envoltorio de CPP -

long MyClass::ConnectSessionWrapper(unsigned long handle,
                                unsigned char * publicKey,
                                unsigned char   publicKeyLen)
    {
        return ConnectSession(handle, publicKey, publicKeyLen);
    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta