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