Handle di risorse di comunicazione
Un processo usa la funzione CreateFile per aprire un handle a una risorsa di comunicazione. Se ad esempio si specifica COM1, viene aperto un handle su una porta seriale e LPT1 apre un handle a una porta parallela. Se la risorsa specificata è attualmente usata da un altro processo, CreateFile ha esito negativo. Qualsiasi thread del processo può usare l'handle restituito da CreateFile per identificare la risorsa in una delle funzioni che accedono alla risorsa.
Quando il processo chiama CreateFile per aprire una risorsa di comunicazione, specifica gli attributi seguenti:
- Tipo di accesso in lettura/scrittura per la risorsa specificata.
- Indica se l'handle può essere ereditato dai processi figlio.
- Indica se l'handle può essere usato nelle operazioni di I/O sovrapposte (asincrone). Per una descrizione delle operazioni sovrapposte, vedere Sincronizzazione.
Quando il processo usa CreateFile per aprire una risorsa di comunicazione, è necessario specificare determinati valori per i parametri seguenti:
- Il parametro fdwShareMode deve essere zero, aprendo la risorsa per l'accesso esclusivo.
- Il parametro fdwCreate deve specificare il flag OPEN_EXISTING.
- Il parametro hTemplateFile deve essere NULL.
Quando si usa CreateFile per aprire un handle direttamente in un dispositivo, un'applicazione deve usare i caratteri speciali " \\ .\" per identificare il dispositivo. Ad esempio, per aprire un handle per l'unità A, specificare \\ .\a: per il parametro lpszName di CreateFile. Il processo chiamante può usare l'handle nella funzione DeviceIoControl per inviare codici di controllo al dispositivo.