Compartir a través de


Método IMiniportMidiStream::Write (portcls.h)

El método Write escribe datos en una secuencia MIDI saliente.

Sintaxis

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

Parámetros

[in] BufferAddress

Puntero a un búfer asignado por el autor de la llamada que contiene los datos MIDI salientes

[in] BytesToWrite

Especifica el número de bytes de datos MIDI contenidos en el búfer al que BufferAddress apunta.

[out] BytesWritten

Puntero de salida a una variable asignada por el autor de la llamada en la que el método escribe un recuento que especifica el número real de bytes que el método realizó correctamente al escribir en el dispositivo de salida MIDI. Para obtener más información, vea la siguiente sección Comentarios.

Valor devuelto

Write devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de estado de retorno.

Código devuelto Descripción
STATUS_IO_DEVICE_ERROR
Error en la llamada debido a un error de dispositivo.
STATUS_INVALID_DEVICE_REQUEST
Solicitud de dispositivo no válida (por ejemplo, llamar a Write en un flujo de entrada MIDI).

Observaciones

Si el método se realiza correctamente, genera uno de los siguientes valores al autor de la llamada a través del parámetro BytesWritten:

  • El mismo valor que BytesToWrite. Este valor indica que el método se realizó correctamente al escribir todos los bytes de BytesToWrite bytes de datos en el dispositivo.
  • Un múltiplo de cuatro que es menor que BytesToWrite. Si el método puede escribir algunos datos, pero no todos los datos del autor de la llamada en el dispositivo, debe escribir un número de bytes que sea un múltiplo de cuatro. Este valor indica que el autor de la llamada debe realizar otra llamada al método para escribir los datos restantes.
  • Cero. Este valor indica que el dispositivo está demasiado ocupado para escribir cualquiera de los datos del autor de la llamada durante la llamada actual, pero que el autor de la llamada debe intentarlo de nuevo más tarde. El controlador de miniport es responsable de distinguir un dispositivo ocupado de un error de dispositivo. El método debe evitar generar una sucesión infinita de llamadas que siempre devuelven éxito, pero escriben cero bytes.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de portcls.h (incluya Portcls.h)
irQL DISPATCH_LEVEL

Consulte también

IMiniportMidiStream

IMiniportMidiStream::Read