É possível chamar uma função C de c # .net

Eu tenho um lib C e quero chamar a função nesta biblioteca do aplicativo c #. Eu tentei criar um wrapper C ++ / CLI no C lib adicionando o arquivo C lib como entrada do vinculador e adicionando os arquivos de origem como dependências adicionais.

Existe alguma maneira melhor de conseguir isso, como não tenho certeza de como adicionar saída C para o aplicativo c #.

Meu código C -

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

Meu CPP Wrapper -

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

questionAnswers(3)

yourAnswerToTheQuestion