{{div_begin}} [[← 17 章に戻る|C/C++ Sync Suite Reference601/15]] [[↑トップへ|C/C++ Sync Suite Reference601]] [[付録 A に進む →|C/C++ Sync Suite Reference601/A]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!18 デスクトップ アプリケーション通知機能 API {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *{{goto Desktop Application Notifier Constants,デスクトップ アプリケーション通知機能定数}} **{{goto Notification Messages,通知メッセージ}} *{{goto Notifier-Defined API Functions,通知機能定義 API 関数}} **{{goto GetNotifierVersion,GetNotifierVersion}} **{{goto HS_Notify,HS_Notify}} {{div_end}} {{div_begin "style='position:relative;padding:0px;padding-right:5px;padding-left:10px;margin-right:250px;margin-top:20px;width:auto;border-right-style:dotted;border-right-width:2px;border-right-color:silver;'"}} あなたが通知機能を作成する必要がある場合、その通知機能はこの章で説明されているデスクトップ アプリケーション通知機能 API を実装しなければなりません。{{goto notifier,通知機能|Introduction to Conduit Development601/Glossary}} は開発者が彼らのデスクトップ アプリケーションに同期活動について通知するために実装することができるオプションの DLL です。HotSync マネージャは同期を開始する前に登録されているすべての通知機能を呼び出し、デスクトップ アプリケーションにメッセージを渡します。デスクトップ アプリケーションはそのメッセージに従って動作します。例えば、ある通知機能はデスクトップ アプリケーションにデータを保存して、データの変更を停止するように伝えることができます。HotSync マネージャは同期の後に再び通知機能を呼び出し、それにより今度は通知機能はデスクトップ アプリケーションに同期が成功裏に完了したかどうかを知らせることができます。 デスクトップ アプリケーション通知関数は {{span style='color:blue;font-family:monospace;',HSNotify.h}} の中で宣言されています。 この章は以下の節に分かれています: *{{goto Desktop Application Notifier Constants,デスクトップ アプリケーション通知機能定数}} *{{goto Notifier-Defined API Functions,通知機能定義 API 関数}} !!{{anchor Desktop Application Notifier Constants}}デスクトップ アプリケーション通知機能定数 {{goto top,^TOP^}} この節では、以下のデスクトップ アプリケーション通知機能 API のための関連プロセッサ定数のグループについて説明します: {{goto Notification Messages,通知メッセージ}} !{{anchor Notification Messages}}通知メッセージ {{goto top,^TOP^}} '''目的''' HotSync マネージャが HotSync の最中に通知機能の {{goto HS_Notify,HS_Notify()}} 関数を呼び出したときに通知機能に渡すことができるメッセージを定義します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',HSNotify.h}} '''定数''' *{{span style='color:blue;font-family:monospace;',#define HS_SYNC_FAILURE 3}} **HotSync マネージャは同期が成功裏には完了しなかったことを示すためにこのメッセージを送ります。あなたの {{span style='color:blue;font-family:monospace;',HS_Notify()}} 実装は HotSync を継続させるために {{span style='color:blue;font-family:monospace;',TRUE}} の値を返さなければなりません。 *{{span style='color:blue;font-family:monospace;',#define HS_SYNC_QUERYOK 0}} **同期が開始される前に、HotSync マネージャは各通知機能に同期を開始することができるかどうかを尋ねるためにこのメッセージを送ります。あなたの {{span style='color:blue;font-family:monospace;',HS_Notify()}} 実装は HotSync を継続させるために {{span style='color:blue;font-family:monospace;',TRUE}} の値を返さなければなりません。*{{span style='color:blue;font-family:monospace;',#define HS_SYNC_STARTED 1}} **HotSync マネージャは同期が開始されたことを示すためにこのメッセージを送ります。あなたの {{span style='color:blue;font-family:monospace;',HS_Notify()}} 実装は HotSync を継続させるために {{span style='color:blue;font-family:monospace;',TRUE}} の値を返さなければなりません。 *{{span style='color:blue;font-family:monospace;',#define HS_SYNC_SUCCESS 2}} **HotSync マネージャは同期が成功裏に完了したことを示すためにこのメッセージを送ります。あなたの {{span style='color:blue;font-family:monospace;',HS_Notify()}} 実装は HotSync を継続させるために {{span style='color:blue;font-family:monospace;',TRUE}} の値を返さなければなりません。 *{{span style='color:blue;font-family:monospace;',#define HS_USER_UPDATE 4}} **HotSync マネージャはユーザ データ ファイルが変更されたことを示すためにこのメッセージを送ります。あなたの {{span style='color:blue;font-family:monospace;',HS_Notify()}} 実装は HotSync を継続させるために {{span style='color:blue;font-family:monospace;',TRUE}} の値を返さなければなりません。 '''互換性''' *HotSync マネージャ バージョン: すべて *Palm OS バージョン: すべて '''参照''' {{goto HS_Notify,HS_Notify()}} !!{{anchor Notifier-Defined API Functions}}通知機能定義 API 関数 {{goto top,^TOP^}} この節では、通知機能が実装する以下の関数について説明します。 ,関数,説明 ,"{{goto GetNotifierVersion,GetNotifierVersion}}",通知機能定義バージョン番号を返します。 ,"{{goto HS_Notify,HS_Notify}}",HotSync マネージャから通知メッセージを受け取り、返り値で HotSync マネージャを継続できるかどうかを示します。 !{{anchor GetNotifierVersion}}GetNotifierVersion 関数 {{goto top,^TOP^}} '''目的''' 通知機能定義バージョン番号を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',HSNotify.h}} '''Prototype''' DWORD GetNotifierVersion () typedef DWORD (*PGETNOTIFIERVERSIONFUNC) () '''パラメータ''' あるません。 '''返り値''' 通知機能のバージョン番号を返します。この値は通知機能によって定義されます。 '''コメント''' {{span style='color:blue;font-family:monospace;',GetNotifierVersion()}} の実装はオプションです。HotSync マネージャはこの関数が返すべきものを定義しませんし、この関数を呼び出しもしません。しかしながら、この関数はあなたの通知機能のバージョンを示すためにこの関数を呼び出すことができるためあなたのデスクトップ アプリケーションにとって有用かもしれません。 '''互換性''' *HotSync マネージャ バージョン: すべて *Palm OS バージョン: すべて !{{anchor HS_Notify}}HS_Notify 関数 {{goto top,^TOP^}} '''目的''' HotSync マネージャから通知メッセージを受け取り、返り値で HotSync マネージャを継続できるかどうかを示します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',HSNotify.h}} '''Prototype''' BOOL HS_Notify ( int nCode, int nUserId ) typedef BOOL ( *PHSNOTIFYFUNC ) ( int nCode, int nUserId ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ nCode}} **HotSync マネージャからのメッセージ。これは {{goto Notification Messages,「通知メッセージ」}} で定義されている定数のなかの 1 つです。 *{{span style='color:blue;font-family:monospace;',→ nUserId}} **同期を行っているユーザの ID。 '''返り値''' あなたの通知機能が HotSync を開始 (訳者補足: 継続も含む) することを望む場合、{{span style='color:blue;font-family:monospace;',TRUE}} を返します。 あなたの通知機能が HotSync を開始 (訳者補足: 継続も含む) することを望まない場合、{{span style='color:blue;font-family:monospace;',FALSE}} を返します。 '''コメント''' 通知機能はこの関数を実装しなければなりません。HotSync マネージャは通知機能の {{span style='color:blue;font-family:monospace;',HS_Notify()}} 関数を呼び出して HotSync を開始したユーザの ID ({{span style='color:blue;font-family:monospace;',nUserID}}) と基本的なステータス メッセージ ({{span style='color:blue;font-family:monospace;',nCode}}) を渡します。あなたの {{span style='color:blue;font-family:monospace;',HS_Notify()}} 実装は {{span style='color:blue;font-family:monospace;',TRUE}} の値を返さなければなりません。さもないと、HotSync マネージャは同期を中止します。あなたの通知機能がこれらの最小必須要素以上に何をするかはあなたしだいです。一般的な通知機能はデスクトップ アプリケーションにそのデスクトップ アプリケーションがコンジットにデスクトップ データを同期させる準備が整っているかどうかを問い合わせます。あなたの通知機能は同期操作全体を停止させるために {{span style='color:blue;font-family:monospace;',FALSE}} を返すことができます; 例えば、あなたのデスクトップ アプリケーションが目下のところ同期させるデータにアクセスしている場合にです。 {{div_end}} {{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 17 章に戻る|C/C++ Sync Suite Reference601/17]] [[↑トップへ|C/C++ Sync Suite Reference601]] [[付録 A に進む →|C/C++ Sync Suite Reference601/A]] {{div_end}}