Share via


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

El Write método 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 apunta BufferAddress .

[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 escribió correctamente en el dispositivo de salida MIDI. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

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).

Comentarios

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 BytesToWrite de datos en el dispositivo.
  • 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 minipuerto 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 Value
Plataforma de destino Universal
Encabezado portcls.h (incluir Portcls.h)
IRQL DISPATCH_LEVEL

Consulte también

IMiniportMidiStream

IMiniportMidiStream::Read