2010年10月10日日曜日

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

dealWithDevice()
IOReturn dealWithDevice(io_service_t usbDeviceRef)
{
  変数宣言
  err = IOCreatePlugInInterfaceForService(..., ..., ..., ..., ...);
  エラー処理
  err = (*iodev)->QueryInterface(..., CFUUIDGetUUIDBytes(...), ...);
  IODestroyPlugInInterface(...);
  エラー処理
  err = (*dev)->GetIOUSBLibVersion(..., ..., ...);
  エラー処理
  出力
  return err;
}

dealWithDevice()ではIOCreatePlugInInterfaceForService()でプラグインを生成し、さらにQueryInterface()でDevice Interfaceを生成します。このDevice Interfaceを経由して装置とやり取りします。USBの場合はIOUSBLib.hにある関数を利用して、USBのInterfaceを開いて、目的の装置を確認して、必要な作業を行います。今回の場合はGetIOUSBLibVersion()を呼び出してバージョンを調べているだけです。

topに戻る

0 件のコメント: