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。 否则,该方法将返回适当的错误代码。 下表显示了一些可能的返回状态代码。
返回代码 | 描述 |
---|---|
|
由于设备错误,调用失败。 |
|
无效的设备请求(例如,在 MIDI 输入流上调用 Write )。
|
言论
如果方法成功,则通过 BytesWritten 参数将以下值之一输出给调用方:
- 与 BytesToWrite相同的值。 此值指示该方法成功地将所有 BytesToWrite 字节的数据写入设备。
- 小于 BytesToWrite的四个的倍数。 如果该方法能够将部分但并非所有调用方的数据写入设备,则应写入多个字节,该字节数是四个的倍数。 此值指示调用方应对该方法进行另一次调用以写入剩余数据。
- 零。 此值表示设备太忙,无法在当前调用期间写入任何调用方的数据,但调用方应稍后重试。 微型端口驱动程序负责区分繁忙设备与设备错误。 该方法应避免生成始终返回成功但写入零字节的无休止的调用。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | portcls.h (包括 Portcls.h) |
IRQL | DISPATCH_LEVEL |