概要
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 までのポートでも有効です。 ボードによっては、ユーザーがポート名を選べるものもあります。 そのような場合でも、自分で付けた名前をポート名の箇所に入れ替えれば、この構文は有効となります。