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()を呼び出してバージョンを調べているだけです。
0 件のコメント:
コメントを投稿