Share via


Função de retorno de chamada MMIOPROC (mmiscapi.h)

A função MMIOProc é um procedimento de E/S (entrada/saída) personalizado instalado pela função mmioInstallIOProc . MMIOProc é um espaço reservado para o nome da função definida pelo aplicativo. O endereço dessa função pode ser especificado no parâmetro callback-address de mmioInstallIOProc.

Sintaxe

MMIOPROC Mmioproc;

LRESULT Mmioproc(
  LPSTR lpmmioinfo,
  UINT uMsg,
  LPARAM lParam1,
  LPARAM lParam2
)
{...}

Parâmetros

lpmmioinfo

Aponta para uma estrutura MMIOINFO que contém informações sobre o arquivo aberto.

O procedimento de E/S deve manter o membro lDiskOffset nessa estrutura para indicar o deslocamento do arquivo para o próximo local de leitura ou gravação. O procedimento de E/S pode usar o membro adwInfo[] para armazenar informações de estado. O procedimento de E/S não deve modificar nenhum outro membro da estrutura MMIOINFO .

uMsg

Especifica uma mensagem que indica a operação de E/S solicitada. As mensagens que podem ser recebidas incluem MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ, MMIOM_SEEK, MMIOM_WRITE e MMIOM_WRITEFLUSH.

lParam1

Especifica um parâmetro definido pelo aplicativo para a mensagem.

lParam2

Especifica um parâmetro definido pelo aplicativo para a mensagem.

Retornar valor

O valor retornado depende da mensagem especificada por uMsg. Se o procedimento de E/S não reconhecer uma mensagem, ele deverá retornar zero.

Comentários

O código de quatro caracteres especificado pelo membro fccMMIOProc na estrutura MMIOINFO associada a um arquivo identifica uma extensão de nome de arquivo para um sistema de armazenamento personalizado. Quando um aplicativo chama mmioOpen com um nome de arquivo como "one.xyz+two", o procedimento de E/S associado ao código de quatro caracteres "XYZ" é chamado para abrir o elemento "dois" do arquivo "one.xyz".

A função mmioInstallIOProc mantém uma lista separada de procedimentos de E/S instalados para cada aplicativo baseado no Windows. Portanto, aplicativos diferentes podem usar o mesmo identificador de procedimento de E/S para diferentes procedimentos de E/S sem conflitos. No entanto, a instalação de um procedimento de E/S globalmente permite que qualquer processo use o procedimento.

Se um aplicativo chamar mmioInstallIOProc mais de uma vez para registrar o mesmo procedimento de E/S, ele deverá chamar mmioInstallIOProc para remover o procedimento uma vez para cada vez que instalou o procedimento.

mmioInstallIOProc não impedirá que um aplicativo instale dois procedimentos de E/S diferentes com o mesmo identificador ou instale um procedimento de E/S com um dos identificadores predefinidos ("DOS", "MEM "). O procedimento instalado mais recentemente tem precedência e o procedimento instalado mais recentemente é o primeiro a ser removido.

Ao pesquisar um procedimento de E/S especificado, os procedimentos locais são pesquisados primeiro e, em seguida, procedimentos globais.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mmiscapi.h (inclua Mmiscapi.h, Windows.h)