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

適用対象: なし

概要


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


CreateFile() は、ファイル名に "COM1" から "COM9" を使用した場合は、正常に終了しますが、メッセージ
INVALID_HANDLE_VALUE
が、"COM10" またはそれ以上のポート番号を使用すると返されます。


ポート名が、\\.\COM10 となる場合は、CreateFile() で以下の様に設定すれば、シリアル ポートを正しく設定することができます。


CreateFile(
"\\\\.\\COM10", // address of name of the communications device
fdwAccess, // access (read-write) mode
0, // share mode
NULL, // address of security descriptor
OPEN_EXISTING, // how to create
0, // file attributes
NULL // handle of file with attributes to copy
);

注 この構文は COM1 から COM9 までのポートでも有効です。 ボードによっては、ユーザーがポート名を選べるものもあります。 そのような場合でも、自分で付けた名前をポート名の箇所に入れ替えれば、この構文は有効となります。