2010年10月10日日曜日

ハードウェアをアクセスするサンプルコード3rd

サンプルコードの説明

main.cファイルに書かれている内容を紹介します。サンプルコードと見比べながらご覧ください。

#include 
 省略
#include 

#ifndef __DebugSettin__
 省略
#endif // __DebugSettin__

mach_port_t  masterPort = 0;

IOReturn dealWithDevice(io_service_t usbDeviceRef)
{
 省略
}

int main (void)
{
 省略
}

まず、#includeで宣言されているファイルはポートを開いたり、IOKitとやり取りするためのヘッダファイルです。CoreFoundationは基本的な文字列操作から始まり、Mac OS Xのさまざまな基礎データを扱うライブラリです。

次の#ifndef...#endifはデバッグ用のコンソールやシステム ログへの出力を切り替えるマクロです。

グローバル変数のmasterPortはポートを参照するオブジェクトです。

関数はdealWithDevice()main()の二つです。main()で作業の対象となるオブジェクト(USBのドライバ)を探し出し、dealWithDevice()で作業(USB バージョンの取得)をしています。今回はUSBのドライバを見つけ出してやり取りしていますが、通常はUSB装置やPCI拡張カードなどを探し出して、見つけた装置とやり取りします。

戻る

0 件のコメント: