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