拡張関数
EscapeCommFunction 関数を使用して、デバイスに対して一部の通信関数を呼び出すことができます。 この関数は、拡張関数を実行するようにデバイスに指示するコードを送信します。 たとえば、アプリケーションでは、SETBREAK コードを使用して文字の転送を中断し、CLRBREAK コードを使用して転送を再開できます。 これらの特定の操作は、SetCommBreak を呼び出して ClearCommBreak関数することによっても開始できます。 EscapeCommFunction を使用して、手動モデム制御を実装することもできます。 たとえば、CLRDTR コードと SETDTR コードを使用して、手動の DTR (データターミナル対応) フロー制御を実装できます。 ただし、DTR ハンドシェイクを有効にするようにデバイスが構成されている場合はプロセスが DTR 行 EscapeCommFunction を使用する場合、または RTS ハンドシェイクが有効になっている場合は RTS (送信要求) 行を操作すると、エラーが発生することに注意してください。
DeviceIoControl 関数を使用すると、拡張関数コードを指定されたデバイス ドライバーに直接送信し、デバイスが特定の操作を実行できるようになります。 DeviceIoControl は、標準のシリアル通信機能でサポートされていない通信リソース機能に関連付けられたデバイスを提供します。 これにより、アプリケーションは、そのデバイス固有のパラメーターを使用してデバイスを構成し、デバイス固有の関数を呼び出すこともできます。