# MI_ReadDevice

## 構文

  `#include <nitro/mi.h>
  int MI_ReadDevice(MIDevice *device, void *buffer, u32 offset, u32 length);`

## 引数

device | アクセスする`MIDevice`構造体へのポインタ `MI_InitDevice()`で初期化されている必要があります。
buffer | 読み込んだデータを格納する転送先メモリ
offset | データを読み込むべきデバイス上の先頭アドレス
length | 読み込むサイズ

## 返り値

成功すれば実際に読み込まれたデータサイズ、失敗すれば負の値。

## 説明

`MIDevice`構造体を使用してデバイスからデータを読み込みます。
内部では、単に`MI_InitDevice()`で指定された読み込み用コールバック関数を呼び出します。

この機能は、モジュール設計からデバイス制御部分を分離するためのユーティリティです。
詳細は`MIDevice`構造体のリファレンスをご参照ください。

## 参照

`MI_InitDevice, MI_WriteDevice
MIDevice, MIDeviceReadFunction, MIDeviceWriteFunction
`

## 履歴

2007/05/09 初版