C
						
					
					
						
					
				
				
					#define AS __declspec(dllexport)
#define SP if (Output == NULL) return (1); *Output = calloc(3,sizeof(char));	if (*Output == NULL) return (2);
BOOL APIENTRY DllMain ( HINSTANCE hInst, DWORD reason, LPVOID reserved )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
        OutputDebugString ("DLL_PROCESS_ATTACH"); break;
      case DLL_PROCESS_DETACH:
        OutputDebugString ("DLL_PROCESS_DETACH"); break;
      case DLL_THREAD_ATTACH:
        OutputDebugString ("DLL_THREAD_ATTACH"); break;
      case DLL_THREAD_DETACH:
        OutputDebugString ("DLL_THREAD_DETACH"); break;
    }
    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}
int AS asInfo (char **Output, char **Input, int param_cnt)
{SP;
  FILE *f = fopen("test.txt", "a+");
  OutputDebugString ("Diese DLL ist von coolzero");
  MessageBox(0,TEXT("Diese DLL ist von coolzero :-)"),TEXT("DLL Funktionen"),0);
  sprintf(*Output, "Error von %s\n\n", *Input);
  fprintf(f, "Input[0] <%s>\n", Input[0]);
  fprintf(f, "Input[1] <%s>\n", Input[1]);
  fprintf(f, "Input[2] <%s>\n", Input[2]);
  free(Output); close(f);
  return (1);
}
#define SP if (Output == NULL) return (1); *Output = calloc(3,sizeof(char)); if (*Output == NULL) return (2);
// Hier wird Speicher angefordert für das was du übergeben willst!
Das Prog. Dependencies, zeigt: " asInfo " als Funktionsname!
"OutputDebugString" kann man mit dem Programm 'DebugView von Sysinternals' auslesen!
Im DevC++, unter den Proj.-Einstellungen sind folgende Werte drinn:
Compiler: "-DBUILDING_DLL=1"
C++Compiler: "-DBUILDING_DLL=1"
Linker: "--no-export-all-symbols --add-stdcall-alias -lgmon"
Ich hoffe, ich habe jetzt nichts vergessen!