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 |