Método IMiniportMidiStream::Write (portcls.h)
O Write
método grava dados em um fluxo MIDI de saída.
Sintaxe
NTSTATUS Write(
[in] PVOID BufferAddress,
[in] ULONG BytesToWrite,
[out] PULONG BytesWritten
);
Parâmetros
[in] BufferAddress
Ponteiro para um buffer alocado pelo chamador que contém os dados MIDI de saída
[in] BytesToWrite
Especifica o número de bytes de dados MIDI contidos no buffer para o qual BufferAddress aponta.
[out] BytesWritten
Ponteiro de saída para uma variável alocada pelo chamador na qual o método grava uma contagem especificando o número real de bytes que o método conseguiu gravar no dispositivo de saída MIDI. Para obter mais informações, consulte a seção Comentários a seguir.
Retornar valor
Write
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retorna um código de erro apropriado. A tabela a seguir mostra alguns dos possíveis códigos de retorno status.
Código de retorno | Descrição |
---|---|
|
A chamada falhou devido a um erro de dispositivo. |
|
Solicitação de dispositivo inválida (por exemplo, chamando Write em um fluxo de entrada MIDI).
|
Comentários
Se o método for bem-sucedido, ele gerará um dos seguintes valores para o chamador por meio do parâmetro BytesWritten :
- O mesmo valor que BytesToWrite. Esse valor indica que o método conseguiu gravar todos os bytes BytesToWrite de dados no dispositivo.
- Um múltiplo de quatro que é menor que BytesToWrite. Se o método for capaz de gravar alguns, mas não todos os dados do chamador no dispositivo, ele deverá escrever um número de bytes que seja um múltiplo de quatro. Esse valor indica que o chamador deve fazer outra chamada para o método para gravar os dados restantes.
- Zero. Esse valor indica que o dispositivo está muito ocupado para gravar qualquer um dos dados do chamador durante a chamada atual, mas que o chamador deve tentar novamente mais tarde. O driver de miniporte é responsável por distinguir um dispositivo ocupado de um erro de dispositivo. O método deve evitar gerar uma sucessão infinita de chamadas que sempre retornam êxito, mas gravam zero bytes.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | DISPATCH_LEVEL |