Handles de ressources de communication
Un processus utilise la fonction CreateFile pour ouvrir un handle vers une ressource de communication. Par exemple, la spécification de COM1 ouvre un handle sur un port série et LPT1 ouvre un handle sur un port parallèle. Si la ressource spécifiée est actuellement utilisée par un autre processus, CreateFile échoue. Tout thread du processus peut utiliser le handle retourné par CreateFile pour identifier la ressource dans l’une des fonctions qui accèdent à la ressource.
Lorsque le processus appelle CreateFile pour ouvrir une ressource de communication, il spécifie les attributs suivants :
- Quel type d’accès en lecture/écriture existe pour la ressource spécifiée.
- Indique si le handle peut être hérité par les processus enfants.
- Indique si le handle peut être utilisé dans les opérations d’E/S superposées (asynchrones). (Pour obtenir une description des opérations superposées, consultez Synchronisation.)
Lorsque le processus utilise CreateFile pour ouvrir une ressource de communication, il doit spécifier certaines valeurs pour les paramètres suivants :
- Le paramètre fdwShareMode doit être égal à zéro, ouvrant la ressource pour un accès exclusif.
- Le paramètre fdwCreate doit spécifier l’indicateur OPEN_EXISTING.
- Le paramètre hTemplateFile doit être NULL.
Lorsque vous utilisez CreateFile pour ouvrir un handle directement sur un appareil, une application doit utiliser les caractères spéciaux « \\ .\ » pour identifier l’appareil. Par exemple, pour ouvrir un handle pour le lecteur A, spécifiez \\ .\a : pour le paramètre lpszName de CreateFile. Le processus appelant peut utiliser le handle dans la fonction DeviceIoControl pour envoyer des codes de contrôle à l’appareil.