Avviso del compilatore (livello 1) C4747

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

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

  1. Non compilare il modulo con /clr.

  2. 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;
};