Voir ici
Les fonctions utilisées sont CreateFile(), ReadFile(), WriteFile() et CloseHandle().
Le problème pour le débutant avec l'API Win32 (Pas simplement pour les fichiers) est que les fonctions sont très riches en paramètres et en options. Voir filewin32.c
L'exemple suivant fonctionne de 9x à XP. On note que l'API GetLongPathName() ne fonctionne qu'à partir de Windows 98 et Windows 2000 (Donc pas sous 95 et NT4).
Cet exemple utilise simplement GetShortPathName().
C'est la méthode à utiliser si on utilise les fonctions fopen() ou open(). On rappelle que locking() n'existe pas sur tous les Unix.
C'est la méthode à utiliser si on travaille directement avec l'API Win32. Voir aussi LockFileEx() si on souhaite être prévenu (Event, IOCP) lorsqu'un verrouillage d'une zone vient de se libérer (NT/2000/XP seulement).
Les fonctions LZOpenFile(), LZCopy(), LZClose() permettent de décompresser un fichier compressé avec l'utilitaire Microsoft compress.exe.
Microsoft ne fournit malheureusement pas d'API pour compresser les fichiers.