Comment puis-je définir un point d'entrée pour une dll

J'ai d'abord pensé dll point d'entrée dans la fonction DLLMain mais lorsque j'essaie d'importer en C#, j'obtiens une erreur que point d'entrée n'a pas été trouvé, Voici mon code:

#include <Windows.h>

int Test(int x,int y)
{
    return x+y;
}

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        MessageBox(0,L"Test",L"From unmanaged dll",0);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
} 

Comment puis-je définir un point d'entrée pour ma dll? Et si vous n'avez pas l'esprit peut tu me donner un peu d'explications sur point d'entrée?

Comme dois-je le mettre à l'importation de la même dll, et de changer le point d'entrée afin que je puisse utiliser d'autres fonctions dans la même dll? merci à l'avance.

OriginalL'auteur method | 2011-10-04