2010-01-17 8 views
19

Je l'ai rencontré la première fois et n'ai trouvé aucune page dédiée sur msdn. Que signifie APIENTRY?Que fait APIENTRY?

+0

Afficher un * contexte *. Copiez et collez du code où vous l'avez vu utilisé. C'est probablement une macro; avez-vous regardé sa définition? –

+0

Il était dans le point d'entrée d'une DLL: BOOL APIENTRY DllMain (HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) – lhj7362

Répondre

17

APIENTRY est un alias pour WINAPI.

WINAPI lui-même est une définition pour le type de calling convention utilisé pour les appels d'API Windows, le stdcall.

Fondamentalement, cela explique au compilateur comment gérer la pile et les arguments lors de l'appel de cette fonction. Vous n'avez généralement pas à vous inquiéter à ce sujet, sauf si vous faites des pointeurs de fonction à ces types de fonctions.

9

C'est juste un #define pour WINAPI, qui est la décoration standard pour un point d'entrée Windows.

#define APIENTRY WINAPI 
+0

Je pense que WINAPI est également défini quelque part? Quel est le type de WINAPI? – RajSharma

+0

@RajSharma #define WINAPI __stdcall – Zebrafish