# WM_StartDCF

## 構文

      #include <nitro/wm.h>

      WMErrCode WM_StartDCF(
              WMCallbackFunc  callback ,
              WMDcfRecvBuf*   recvBuf ,
              u16             recvBufSize
      );

## 引数

callback | 非同期処理の状況通知、及び完了した際に呼び出されるコールバック関数を指定します。 このコールバックは割り込みハンドラ内から呼び出されます。
recvBuf | データ受信バッファへのポインタを指定します。 ARM7がこのバッファに直接データを書き出しますので、キャッシュに注意して下さい。
recvBufSize | データ受信バッファのサイズを指定します。

## 返り値

WMErrCode列挙型の処理結果を返します。

## 説明

インフラストラクチャモードでの通信を開始します。WMがCHILDステートの時のみ実行可能です。 APIの戻り値がWM_ERRCODE_OPERATINGであった場合、通信モード移行処理が完了した後にコールバックが発生します。 WMはDCF_CHILDステートに移行します。
また、インフラストラクチャモードでデータを受信した際にもコールバックが発生します。

## 注意

引数に渡したデータ(recvBuf) は内部で強制的にキャッシュストアされます。キャッシュのトラブルを回避するには、32バイト境界に揃ったデータを渡す必要があります。
注意点などの詳細は「ワイヤレス通信ライブラリ解説 (AboutWirelessManager.pdf)」を参照してください。

## 参照

`WM_SetDCFData, WM_EndDCF`

## 履歴

2008/12/17 引数に渡したデータが内部で強制的にキャッシュストアされる点について注意を追記
2005/06/08 コールバックが割り込みハンドラから呼び出される旨を補足
2004/10/22 返り値の型を変更
2004/08/02 構造体名の統一
2004/07/29 説明の追加等
2004/07/23 初版