Compartilhar via


Função mmioGetInfo (mmiscapi.h)

A função mmioGetInfo recupera informações sobre um arquivo aberto usando a função mmioOpen . Essas informações permitem que o aplicativo acesse diretamente o buffer de E/S, se o arquivo for aberto para E/S em buffer.

Sintaxe

MMRESULT mmioGetInfo(
  HMMIO      hmmio,
  LPMMIOINFO pmmioinfo,
  UINT       fuInfo
);

Parâmetros

hmmio

Identificador de arquivo do arquivo.

pmmioinfo

Ponteiro para um buffer que recebe uma estrutura MMIOINFO que o mmioGetInfo preenche com informações sobre o arquivo.

fuInfo

Reservados; deve ser zero.

Valor retornado

Retorna zero se tiver êxito ou um erro de outra forma.

Comentários

Para acessar diretamente o buffer de E/S de um arquivo aberto para E/S em buffer, use os seguintes membros da estrutura MMIOINFO preenchida por mmioGetInfo:

  • O membro pchNext aponta para o próximo byte no buffer que pode ser lido ou gravado. Ao ler ou gravar, incremente pchNext pelo número de bytes lidos ou gravados.
  • O membro pchEndRead aponta para 1 byte após o último byte válido no buffer que pode ser lido.
  • O membro pchEndWrite aponta para 1 byte após o último local no buffer que pode ser gravado.
Depois de ler ou gravar no buffer e modificar pchNext, não chame nenhuma função de E/S de arquivo multimídia, exceto mmioAdvance até chamar a função mmioSetInfo . Chame mmioSetInfo quando terminar de acessar diretamente o buffer.

Quando você chegar ao final do buffer especificado pelo membro pchEndRead ou pchEndWrite , chame mmioAdvance para preencher o buffer do disco ou gravar o buffer no disco. A função mmioAdvance atualiza os membros pchNext, pchEndRead e pchEndWrite na estrutura MMIOINFO do arquivo.

Antes de chamar mmioAdvance ou mmioSetInfo para liberar um buffer para o disco, defina o sinalizador MMIO_DIRTY no membro dwFlags da estrutura MMIOINFO para o arquivo. Caso contrário, o buffer não será gravado em disco.

Não decremente pchNext nem modifique nenhum membro na estrutura MMIOINFO diferente de pchNext e dwFlags. Não defina nenhum sinalizador em dwFlags , exceto MMIO_DIRTY.

Requisitos

   
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)
Biblioteca Winmm.lib
DLL Winmm.dll