
現在PCMCIAカードを使って、シリアル通信のプログラムを作成中です。
市販品なので、サンプルプログラムがあり、
サンプルの中にはシリアル通信するための関数(C言語)が多々あります。
その関数を呼び出すときにどれもデバイスハンドルのポインタ情報が入っている変数を
含んでいるようです。
(コンピュータの内部には詳しくなく、日本語がおかしいかもしれません)
例えば、aがデバイスハンドルのポインタで関数がFだとすると、メインでは
F(a)
となっております。
このデバイスハンドルというのはどういうものなのでしょうか?
またこの場合のデバイスハンドルはどのように調べれば値がわかるのでしょうか?
(Windowsのシステム情報を見れば分かる等)
もし情報が足りなければ補足いたします。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
> このデバイスハンドルというのはどういうものなのでしょうか?
Windows が管理しているリソース (この場合はデバイス) 情報へのポインタのようなものです.
ハンドル (アスキー デジタル用語辞典)
http://yougo.ascii24.com/gh/15/001551.html
アプリケーションは直接その情報にアクセスするのではなく,
Windows API 関数にハンドルを渡すことでアクセスします.
> またこの場合のデバイスハンドルはどのように調べれば値がわかるのでしょうか?
ハンドルは WinNT.h の中で,次のように定義されています.
typedef void *HANDLE;
ですから,アプリケーションがハンドルを普通のポインタのように参照して
デバイス情報にアクセスすることはできませんし,してはいけません.
上に書いたように,デバイス情報を得る場合には専用の API 関数を使用してください.
アプリケーションがハンドルの値を調べるのは,それが有効か否か
(INVALID_HANDLE_VALUE (ハンドルの種類によっては NULL) と等しいか否か)
を調べるだけにしてください.
MSDN がインストールされていれば,COM ポート用に関連する API の一覧は,
"Communications Functions" で検索すれば出てきます.
これらを用いると,COM ポートの情報を取得・設定したり,制御したりすることができます.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
init関数の意味
-
C++で関数ポインタから関数名を...
-
fopne で失敗する原因
-
Run-Time Check Failure #3とい...
-
エラーの意味
-
型変換について
-
トリプルポインタが必須!とな...
-
ハンドルはポインタか
-
C言語のポインタに直接アドレス...
-
HOSTENT構造体を宣言する必要は...
-
プロトタイプ宣言について
-
C言語でのconstを返す関数
-
セグメントエラー
-
x64プログラムでアドレスが32bi...
-
戻り値で構造体を返すことは可...
-
基本アルゴリズムの『返す』の...
-
ExcelVBAでのkernel32(64bit)
-
#include <stdio.h> #include <...
-
CStringからchar*への型変換に...
-
VBAのプログラムで、DIAG = 1# ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
ExcelVBAでのkernel32(64bit)
-
セグメントエラー
-
#define NULL ((void *)0) の弊害
-
fopne で失敗する原因
-
LPSTR型の初期化について
-
トリプルポインタが必須!とな...
-
戻り値で構造体を返すことは可...
-
c言語で任意のファイルから読み...
-
参照型で受け取った引数をポイ...
-
ポインタについて
-
アプリを32bitから64bit移行
-
ハンドル、アドレス、ポインタ...
-
ポインタが文字化けしてる?!...
-
NULLポインタが0でない処理系と...
-
ハンドルはポインタか
-
リトルエンディアンというもの...
-
【C言語】戻り値が構造体の関数
おすすめ情報