Avviso del compilatore (livello 1) C4747
Aggiornamento: novembre 2007
Messaggio di errore
Chiamata a 'punto di ingresso' non gestito: il codice gestito potrebbe non essere eseguito in condizioni di blocco del caricatore, inclusi il punto di ingresso delle DLL e le chiamate raggiunte dal punto di ingresso delle DLL
Calling managed 'entrypoint': Managed code may not be run under loader lock, including the DLL entrypoint and calls reached from the DLL entrypoint
Il compilatore ha rilevato un (probabile) punto di ingresso delle DLL compilato in MSIL (Microsoft Intermediate Language). A causa di potenziali problemi con il caricamento di una DLL il cui punto di ingresso è stato compilato in MSIL, evitare di compilare una funzione del punto di ingresso della DLL in MSIL.
Per ulteriori informazioni, vedere Inizializzazione di assembly misti e Errore degli strumenti del linker LNK1306.
Per correggere l'errore
Non compilare il modulo con /clr.
Contrassegnare la funzione del punto di ingresso con #pragma unmanaged.
Esempio
Nell'esempio seguente viene generato l'errore C4747:
// C4747.cpp
// compile with: /clr /c /W1
// C4747 expected
#include <windows.h>
// Uncomment the following line to resolve.
// #pragma unmanaged
BOOL WINAPI DllMain(HANDLE hInstance, ULONG Command, LPVOID Reserved) {
return TRUE;
};