Qu’est-ce qu’un appel système dans Windows écrit en c?

Qu’est-ce qu’un appel système dans Windows écrit en c? Impossible de trouver une explication sur ce que c’est dans Google.

C’est ce qu’on nous demande de faire: Votre tâche consiste à implémenter l’utilitaire Windows nommé HeadTail qui reçoit un nom de fichier et un entier N comme parameters, et à sortir vers la console (sortie standard) N premières lignes du fichier suivies de N dernier lignes inversées.

http://en.wikipedia.org/wiki/System_call

En informatique, un appel système est la manière dont un programme demande un service à partir du kernel d’un système d’exploitation qu’il n’est normalement pas autorisé à exécuter. Les appels système constituent l’interface entre un processus et le système d’exploitation. La plupart des opérations qui interagissent avec le système nécessitent des permissions non disponibles pour un processus de niveau utilisateur, par exemple, les E / S exécutées avec un périphérique présent sur le système ou toute forme de communication avec d’autres processus nécessite l’utilisation d’appels système.

Par exemple, fopen n’est pas un appel système et ReadFile est.

Ou plus d’informations sur Appel système vs Appel de fonction

Toutes les API Windows principales exscopes depuis kernel32.dll et advapi32.dll sont généralement considérées comme des appels système (il y en a d’autres et il existe des API de niveau inférieur, mais elles répondront probablement à vos besoins (les API de niveau inférieur ne sont pas documentées et beaucoup plus difficiles à utiliser). ).

Pour les utiliser dans votre application C, si vous utilisez Visual Studio ou l’environnement de création Windows SDK, il vous suffit d’append:

 #include  

à votre fichier source. Vous pouvez ensuite effectuer des appels API à partir de votre programme C.

Vous devrez peut-être append kernel32.lib lorsque vous liez votre application.