Identificadores de recursos de comunicação
Um processo usa a função CreateFile para abrir um identificador para um recurso de comunicação. Por exemplo, especificar COM1 abre um identificador para uma porta serial e LPT1 abre um identificador para uma porta paralela. Se o recurso especificado estiver sendo usado por outro processo, CreateFile falhará. Qualquer thread do processo pode usar o identificador retornado por CreateFile para identificar o recurso em qualquer uma das funções que acessam o recurso.
Quando o processo chama CreateFile para abrir um recurso de comunicação, ele especifica os seguintes atributos:
- Que tipo de acesso de leitura/gravação existe para o recurso especificado.
- Se o identificador pode ser herdado por processos filho.
- Se o identificador pode ser usado em operações de E/S sobrepostas (assíncronas). (Para obter uma descrição das operações sobrepostas, consulte Sincronização.)
Quando o processo usa CreateFile para abrir um recurso de comunicação, ele deve especificar determinados valores para os seguintes parâmetros:
- O parâmetro fdwShareMode deve ser zero, abrindo o recurso para acesso exclusivo.
- O parâmetro fdwCreate deve especificar o sinalizador OPEN_EXISTING.
- O parâmetro hTemplateFile deve ser NULL.
Ao usar CreateFile para abrir um identificador diretamente para um dispositivo, um aplicativo deve usar os caracteres especiais " \\ .\" para identificar o dispositivo. Por exemplo, para abrir um identificador para a unidade A, especifique \\ .\a: para o parâmetro lpszName de CreateFile. O processo de chamada pode usar o identificador na função DeviceIoControl para enviar códigos de controle para o dispositivo.