IMiniportMidiStream::Write 方法(portcls.h)

Write 方法将数据写入传出 MIDI 流。

语法

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

参数

[in] BufferAddress

指向包含传出 MIDI 数据的调用方分配的缓冲区的指针

[in] BytesToWrite

指定 BufferAddress 指向的缓冲区中包含的 MIDI 数据的字节数。

[out] BytesWritten

指向调用方分配的变量的输出指针,该方法将写入计数,指定该方法在写入 MIDI 输出设备时成功写入的实际字节数。 有关详细信息,请参阅以下“备注”部分。

返回值

如果调用成功,Write 返回STATUS_SUCCESS。 否则,该方法将返回适当的错误代码。 下表显示了一些可能的返回状态代码。

返回代码 描述
STATUS_IO_DEVICE_ERROR
由于设备错误,调用失败。
STATUS_INVALID_DEVICE_REQUEST
无效的设备请求(例如,在 MIDI 输入流上调用 Write)。

言论

如果方法成功,则通过 BytesWritten 参数将以下值之一输出给调用方:

  • BytesToWrite相同的值。 此值指示该方法成功地将所有 BytesToWrite 字节的数据写入设备。
  • 小于 BytesToWrite的四个的倍数。 如果该方法能够将部分但并非所有调用方的数据写入设备,则应写入多个字节,该字节数是四个的倍数。 此值指示调用方应对该方法进行另一次调用以写入剩余数据。
  • 零。 此值表示设备太忙,无法在当前调用期间写入任何调用方的数据,但调用方应稍后重试。 微型端口驱动程序负责区分繁忙设备与设备错误。 该方法应避免生成始终返回成功但写入零字节的无休止的调用。

要求

要求 价值
目标平台 普遍
标头 portcls.h (包括 Portcls.h)
IRQL DISPATCH_LEVEL

另请参阅

IMiniportMidiStream

IMiniportMidiStream::Read