Serviços Básicos

[A funcionalidade associada a esta página, Multimedia File I/O, é uma funcionalidade herdada. Foi substituído por Source Reader. Source Reader foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize Source Reader em vez de de E/S de ficheiros multimédia, sempre que possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O uso dos serviços básicos de E/S é semelhante ao uso dos serviços de E/S de arquivo em tempo de execução da biblioteca de tempo de execução C. Os ficheiros têm de ser abertos antes de poderem ser lidos ou escritos. Após a leitura ou escrita, o arquivo deve ser fechado. Você também pode alterar o local atual de leitura ou gravação em um arquivo aberto.

Antes de iniciar qualquer operação de E/S em um arquivo, você deve abrir o arquivo usando a funçãommioOpen. Esta função retorna um identificador de arquivo do tipo HMMIO. Você pode usar esse identificador de arquivo para identificar o arquivo aberto ao chamar outras funções de E/S de arquivo.

Observação

Um identificador de arquivo HMMIO não é um identificador de arquivo padrão. Não use identificadores de arquivo HMMIO com funções de E/S de arquivo em tempo de execução Win32 ou C.

 

Quando você usa mmioOpen para abrir um arquivo, você usa um sinalizador para especificar se você está abrindo-o para leitura, gravação ou ambos. Você também pode especificar sinalizadores que permitem criar ou excluir um arquivo. Use a função mmioClose para fechar um arquivo quando terminar de ler ou gravar nele.

Você pode ler e gravar arquivos usando as funções mmioRead e mmioWrite, respectivamente. A próxima operação de leitura ou gravação ocorre na posição atual do arquivo ou no ponteiro do arquivo em um arquivo. A posição atual do arquivo é avançada cada vez que um arquivo é lido ou gravado.

Você também pode alterar a posição atual do arquivo usando a função mmioSeek. Certifique-se de especificar um local válido em um arquivo. Se você especificar um local inválido, como após o final do arquivo, mmioSeek pode não retornar um erro, mas as operações de E/S subsequentes podem falhar.

Há sinalizadores que você pode usar com a função mmioOpen para operações além da E/S básica do arquivo. Ao especificar uma estruturaMMIOINFO, por exemplo, você pode abrir arquivos de memória, especificar um procedimento de E/S personalizado ou fornecer um buffer para E/S em buffer.