TerminatePacket 方法终止当前正在映射的数据包。
语法
NTSTATUS TerminatePacket();
返回值
如果调用成功,TerminatePacket 返回STATUS_SUCCESS。 否则,该方法将返回适当的错误代码。
言论
此方法主要用于捕获 I/O 数据包需要以流中特定点结尾的情况(例如,要与视频帧同步)。 音频设备上的捕获引脚的数据缓冲区由一个或多个 I/O 数据包组成。 每个 I/O 数据包都是附加到特定映射 IRP 的数据缓冲区的一部分。 默认情况下,当捕获流处于KSSTATE_RUN状态时,I/O 数据包的内容仅在填充数据包中的最后一个映射时才可供客户端使用。
TerminatePacket 方法使部分填充的数据包立即提供给客户端,而无需等待其他捕获数据。
将捕获流的状态从KSSTATE_RUN更改为KSSTATE_STOP会自动终止当前 I/O 数据包。
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 普遍 |
| 标头 | portcls.h (包括 Portcls.h) |
| IRQL | <=DISPATCH_LEVEL |