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。 否则,该方法将返回相应的错误代码。 下表显示了一些可能的返回状态代码。
返回代码 | 说明 |
---|---|
|
无效的设备请求 (例如,在 MIDI 输出流上调用 Read ) 。
|
注解
微型端口驱动程序调用 IPortMidi::Notify ,以在捕获设备提供传入 MIDI 数据时通知端口驱动程序。 端口驱动程序调用 IMiniportMidi::Read 来检索数据。 只要有更多数据可用,端口驱动程序将继续调用 Read
。
方法 Read
返回STATUS_SUCCESS和 BytesRead 计数为零,以指示设备当前没有更多的 MIDI 输入数据可用。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | portcls.h (包括 Portcls.h) |
IRQL | DISPATCH_LEVEL |