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 |
---|---|
|
La chiamata non è riuscita a causa di un errore del dispositivo. |
|
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 |