[SDK32] COM10 以上のシリアルポートを指定する方法


概要


この資料は COM10 以上のシリアルポートを指定する方法について説明したものです。

詳細


CreateFile() を使用すると、シリアルポートのハンドルを得ることができます。この場合、共有モードパラメータには 0 、クリエイトパラメータには OPEN_EXISTING 、テンプレートパラメータには NULL を設定しなければいけません。詳細は "Win32 Programmer's Reference" の "CreateFile()" を参照してください。


CreateFile() は、ファイル名に "COM1" から "COM9" を使用した場合は、正常に終了しますが、"COM10" またはそれ以上のポート番号を使用すると、
"INVALID_HANDLE_VALUE"
というメッセージが返されます。ポート名が、\\.\COM10 となる場合は、CreateFile() で以下の様に設定すれば、シリアルポートを正しく設定することができます。

CreateFile(
"\\\\.\\COM10", /* 通信デバイスの名前のアドレス */
fdwAccess, /* アクセス (読み取りおよび書き込み) モード */
0, /* 共有モード */
NULL, /* セキュリティ記述子のアドレス */
OPEN_EXISTING, /* 作成方法 */
0, /* ファイル属性 */
NULL /* コピーする属性付きファイルのハンドル */
);
注意 : この構文は COM1 から COM9 でも有効です。ボードによっては、ユーザーがポート名を選べるものもあります。そのような場合でも、自分で付けた名前をポート名の箇所に入れ替えれば、この構文は有効となります。

関連情報


この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID
115831 (最終更新日 1998-03-31) をもとに作成したものです。