Advertencia del compilador (nivel 1) C4747
Llamada a "entrypoint" administrado: no se puede ejecutar código administrado bajo el bloqueo del cargador, incluido el punto de entrada del archivo DLL y las llamadas alcanzadas desde dicho punto
El compilador encontró un punto de entrada de DLL (probable) compilado en MSIL. Debido a posibles problemas con la carga de un archivo DLL cuyo punto de entrada se ha compilado en MSIL, se desaconseja totalmente compilar una función de punto de entrada de DLL en MSIL.
Para más información, consulte Inicialización de ensamblados mixtos y Error de las herramientas del enlazador LNK1306.
Para corregir este error
No compile el módulo con /clr.
Marque la función de punto de entrada con
#pragma unmanaged
.
Ejemplo
El ejemplo siguiente genera la advertencia 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;
};