IMiniportMidiStream::Read 方法(portcls.h)

Read 方法从传入的 MIDI 流中读取数据。

语法

NTSTATUS Read(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BufferLength,
  [out] PULONG BytesRead
);

参数

[in] BufferAddress

指定调用方分配的缓冲区的地址。 该方法将传入的 MIDI 数据从设备复制到缓冲区。 此缓冲区的分配大小必须大于或等于 BufferLength

[in] BufferLength

指定 BufferAddress指向的缓冲区的长度(以字节为单位)。

[out] BytesRead

指向调用方分配的变量的输出指针,该方法将计数写入一个计数,该计数指定从设备成功读取到缓冲区的实际字节数。

返回值

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

返回代码 描述
STATUS_INVALID_DEVICE_REQUEST
设备请求无效(例如,在 MIDI 输出流上调用 Read)。

言论

微型端口驱动程序调用 IPortMidi::Notify,以在从捕获设备获取传入 MIDI 数据时通知端口驱动程序。 端口驱动程序调用 IMiniportMidi::Read 来检索数据。 只要有更多数据可用,端口驱动程序将继续调用 Read

Read 方法返回STATUS_SUCCESS,BytesRead 计数为零,以指示设备当前不再提供 MIDI 输入数据。

要求

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

另请参阅

IMiniportMidiStream

IMiniportMidiStream::Write

IPortMidi::Notify