Método IMiniportMidiStream::Write (portcls.h)
O método Write
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 por 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 por 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.
Valor de retorno
Write
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado. A tabela a seguir mostra alguns dos possíveis códigos de status de retorno.
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).
|
Observações
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 BytesToWrite bytes 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 miniporto é responsável por distinguir um dispositivo ocupado de um erro de dispositivo. O método deve evitar gerar uma sucessão interminável de chamadas que sempre retornam sucesso, mas gravam zero bytes.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | DISPATCH_LEVEL |