IOCTL_SERIAL_LSRMST_INSERT IOCTL (winioctl.h)

启用或禁用在应用程序通过 ReadFile 函数获取的常规数据流中放置行状态和调制解调器状态值。

启用此行状态和调制解调器状态数据放置模式后,数据流中的状态值前面有转义字符。 用户可定义的转义字符由 IOCTL_SERIAL_LSRMST_INSERT 控制代码设置。 有关状态值的详细信息,请参阅“备注”部分。

若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。

BOOL DeviceIoControl(
  (HANDLE) hDevice,             // handle to device
  IOCTL_SERIAL_LSRMST_INSERT,   // dwIoControlCode
  (LPVOID) lpInBuffer,          // input buffer 
  (DWORD) nInBufferSize,        // size of input buffer 
  NULL,                         // lpOutBuffer
  0,                            // nOutBufferSize
  (LPDWORD) lpBytesReturned,    // number of bytes returned
  (LPOVERLAPPED) lpOverlapped   // OVERLAPPED structure
);

注解

注意

使用此方案的应用程序必须检查数据流中的每个字符,以确定是否存在调制解调器状态或行状态数据。

如果 已打开LSRMST_INSERT 模式,则以下值遵循数据流中指定的转义字符。

含义
SERIAL_LSRMST_ESCAPE 指示转义字符本身在数据流中的接收。
SERIAL_LSRMST_LSR_DATA 指示发生了行状态更改,并且数据在接收硬件缓冲区中可用。 此 BYTE 之后是行状态寄存器的 BYTE 值,是处理行状态更改时接收硬件缓冲区中存在的 BYTE
SERIAL_LSRMST_LSR_NODATA 指示发生了行状态更改,但接收硬件缓冲区中没有数据可用。
SERIAL_LSRMST_MST 指示发生了调制解调器状态更改。 此 BYTE 之后是 一个 BYTE ,它是处理调制解调器状态更改时调制解调器状态寄存器的值。

要求

   
最低受支持的客户端 Windows XP
最低受支持的服务器 Windows Server 2003
标头 winioctl.h (包括 Windows.h)

另请参阅