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 件のコメント:
コメントを投稿