Condividi tramite


Metodo IMiniportMidiStream::Write (portcls.h)

Il metodo Write 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 dal 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 altre informazioni, vedere la sezione Osservazioni seguente.

Valore restituito

Write restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato. La tabella seguente illustra 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 chiamando Write in un flusso di input MIDI.

Osservazioni

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

  • Lo stesso valore di BytesToWrite. Questo valore indica che il metodo ha avuto esito positivo nella scrittura di tutti i byte BytesToWrite byte di dati nel dispositivo.
  • Multiplo di quattro che è minore di BytesToWrite. 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 i dati del chiamante durante la chiamata corrente, ma che il chiamante deve riprovare più tardi. Il driver miniport è responsabile della distinzione di un dispositivo occupato da un errore del dispositivo. Il metodo deve evitare di generare una successione infinita di chiamate che restituiscono sempre esito positivo ma scrivere zero byte.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione portcls.h (include Portcls.h)
IRQL DISPATCH_LEVEL

Vedere anche

IMiniportMidiStream

IMiniportMidiStream::Read