|
Quellcode
|
1
|
hInstance: Instanzhandle des Modules der .exe
|
ja aber wozu ist das vonnöten
z.B. bei CreateWindow() als Parameter, damit windows weis, zu welchem modul das fenster gehört.
und gleich noch eine andere frage zu stdcall.
[...]
_stdcall ist eine Aufrufkonvention, sprich, es sagt, das die parameter auf eine bestimmte weise an die funktion übergeben werden. Solange du dich nicht mit (inline-)assembler beschäftigst, musst du eigentlich nur wissen, das man die Aufrufkonvention korrekt angeben muss (korrekt kann auch heißen nicht), weil es sonst zu speicherfehlern kommt
__declspec fingegen sagt aus, das das Symbol aus der dll exportiert wird. Alle Sachen aus dll dateien, die du von deinem Programm aus aufrufen willst (und auch tatsächlich in der dll stecken, keine inlines o.ä.), müssen beim build der dll mit __declspec(dllexport) deklariert sein, damit der Linker entsprechende verweise in die importbiliothek packt, und beim build eines gegen die dll linkenden programms mit __declspec(dllimport), damit der linekr die entsprechenden verweise in der importbiliothek sucht.