Metodo IMiniportMidiStream::Write (portcls.h)

Il Write metodo scrive i dati in un flusso MIDI in uscita.

Sintassi

NTSTATUS Write(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BytesToWrite,
  [out] PULONG BytesWritten
);

Parametri

[in] BufferAddress

Puntatore a un buffer allocato del chiamante che contiene i dati MIDI in uscita

[in] BytesToWrite

Specifica il numero di byte di dati MIDI contenuti nel buffer a cui BufferAddress punta.

[out] BytesWritten

Puntatore di output a una variabile allocata dal chiamante in cui il metodo scrive un conteggio specificando il numero effettivo di byte che il metodo ha avuto esito positivo nella scrittura nel dispositivo di output MIDI. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

Valore restituito

Write restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato. La tabella seguente mostra alcuni dei possibili codici di stato restituiti.

Codice restituito Descrizione
STATUS_IO_DEVICE_ERROR
La chiamata non è riuscita a causa di un errore del dispositivo.
STATUS_INVALID_DEVICE_REQUEST
Richiesta di dispositivo non valida, ad esempio chiamata Write su un flusso di input MIDI.

Commenti

Se il metodo ha esito positivo, restituisce uno dei valori seguenti al chiamante tramite il parametro ByteScritto :

  • Lo stesso valore di ByteToWrite. Questo valore indica che il metodo ha avuto esito positivo nella scrittura di tutti i byte di dati nel dispositivo.
  • Un multiplo di quattro che è minore di ByteToWrite. Se il metodo è in grado di scrivere alcuni dati, ma non tutti i dati del chiamante nel dispositivo, deve scrivere un numero di byte che è un multiplo di quattro. Questo valore indica che il chiamante deve effettuare un'altra chiamata al metodo per scrivere i dati rimanenti.
  • Zero. Questo valore indica che il dispositivo è troppo occupato per scrivere uno dei dati del chiamante durante la chiamata corrente, ma che il chiamante dovrebbe riprovare più tardi. Il driver miniport è responsabile della differenza tra un dispositivo occupato e un errore del dispositivo. Il metodo deve evitare di generare una successione infinita di chiamate che restituiscono sempre esito positivo ma scrivono zero byte.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione portcls.h (includere Portcls.h)
IRQL DISPATCH_LEVEL

Vedi anche

IMiniportMidiStream

IMiniportMidiStream::Read