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