2010-01-17 5 views
19

Ich fand es zum ersten Mal und fand keine dedizierte Seite auf msdn. Was bedeutet APIENTRY?Was macht APIENTRY?

+0

Zeigen Sie einige * Kontext *. Kopieren Sie einen Code, und fügen Sie ihn dort ein, wo Sie ihn gesehen haben. Es ist wahrscheinlich ein Makro; Hast du seine Definition betrachtet? –

+0

Es war im Einstiegspunkt einer DLL: BOOL APIENTRY DllMain (HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) – lhj7362

Antwort

17

APIENTRY ist ein Alias ​​für WINAPI.

WINAPI selbst ist eine Definition für den Typ calling convention, der für Windows-API-Aufrufe verwendet wird, die stdcall.

Im Grunde erklärt dies dem Compiler, wie der Stack und Argumente beim Aufruf dieser Funktion behandelt werden. Normalerweise müssen Sie sich keine Gedanken darüber machen, es sei denn, Sie machen Funktionszeiger für diese Arten von Funktionen.

9

Es ist nur ein #define für WINAPI, das die Standard-Dekoration für einen Windows-Einstiegspunkt ist.

#define APIENTRY WINAPI 
+0

Ich denke, WINAPI ist auch irgendwo definiert? Was ist der Typ von WINAPI? – RajSharma

+0

@RajSharma #define WINAPI __stdcall – Zebrafish