{{div_begin}} [[← 3 章に戻る|C/C++ Sync Suite Reference601/3]] [[↑トップへ|C/C++ Sync Suite Reference601]] [[5 章に進む →|C/C++ Sync Suite Reference601/5]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!4 クラシック同期マネージャ API (ページ 2) {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *(ページ 1) *{{goto Classic Sync Manager Classes,クラシック同期マネージャ クラス|C/C++ Sync Suite Reference601/4-1}} **{{goto CCallModuleParams,CCallModuleParams|C/C++ Sync Suite Reference601/4-1}} **{{goto CDbCreateDB,CDbCreateDB|C/C++ Sync Suite Reference601/4-1}} **{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} **{{goto CPositionInfo,CPositionInfo|C/C++ Sync Suite Reference601/4-1}} **{{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}} **{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} *{{goto Classic Sync Manager Structures and Types,クラシック同期マネージャ構造体とタイプ|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncDatabaseInfoType,SyncDatabaseInfoType|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncFindDbByNameParams,SyncFindDbByNameParams|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncFindDbByTypeCreatorParams,SyncFindDbByTypeCreatorParams|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncReadOpenDbInfoParams,SyncReadOpenDbInfoParams|C/C++ Sync Suite Reference601/4-1}} *{{goto Classic Sync Manager Constants,クラシック同期マネージャ定数|C/C++ Sync Suite Reference601/4-1}} **{{goto Deprecated Constants,使用を推奨されなくなった定数|C/C++ Sync Suite Reference601/4-1}} *{{goto Classic Sync Manager Functions,クラシック同期マネージャ関数|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncCallRemoteModule,SyncCallRemoteModule|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncChangeCategory,SyncChangeCategory|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncCloseDB,SyncCloseDB|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncCloseDBEx,SyncCloseDBEx|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncCreateDB,SyncCreateDB|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncDeleteAllResourceRec,SyncDeleteAllResourceRec|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncDeleteDB,SyncDeleteDB|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncDeleteRec,SyncDeleteRec|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncDeleteResourceRec,SyncDeleteResourceRec|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncFindDbByName,SyncFindDbByName|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncFindDbByTypeCreator,SyncFindDbByTypeCreator|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncGetDBRecordCount,SyncGetDBRecordCount|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncMaxRemoteRecSize,SyncMaxRemoteRecSize|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncOpenDB,SyncOpenDB|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncPurgeAllRecs,SyncPurgeAllRecs|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncPurgeAllRecsInCategory,SyncPurgeAllRecsInCategory|C/C++ Sync Suite Reference601/4-1}} **{{goto SyncPurgeDeletedRecs,SyncPurgeDeletedRecs|C/C++ Sync Suite Reference601/4-1}} *(ページ 2) **{{goto SyncReadAppPreference,SyncReadAppPreference}} **{{goto SyncReadDBAppInfoBlock,SyncReadDBAppInfoBlock}} **{{goto SyncReadDBList,SyncReadDBList}} **{{goto SyncReadDBSortInfoBlock,SyncReadDBSortInfoBlock}} **{{goto SyncReadNextModifiedRec,SyncReadNextModifiedRec}} **{{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory}} **{{goto SyncReadNextRecInCategory,SyncReadNextRecInCategory}} **{{goto SyncReadOpenDbInfo,SyncReadOpenDbInfo}} **{{goto SyncReadPositionXMap,SyncReadPositionXMap}} **{{goto SyncReadRecordById,SyncReadRecordById}} **{{goto SyncReadRecordByIndex,SyncReadRecordByIndex}} **{{goto SyncReadResRecordByIndex,SyncReadResRecordByIndex}} **{{goto SyncResetRecordIndex,SyncResetRecordIndex}} **{{goto SyncResetSyncFlags,SyncResetSyncFlags}} **{{goto SyncWriteAppPreference,SyncWriteAppPreference}} **{{goto SyncWriteDBAppInfoBlock,SyncWriteDBAppInfoBlock}} **{{goto SyncWriteDBSortInfoBlock,SyncWriteDBSortInfoBlock}} **{{goto SyncWriteRec,SyncWriteRec}} **{{goto SyncWriteResourceRec,SyncWriteResourceRec}} {{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;'"}} [[← 4 章のページ 1 へ|C/C++ Sync Suite Reference601/4-1]] [[↑ 4 章のトップへ|C/C++ Sync Suite Reference601/4]] !{{anchor SyncReadAppPreference}}SyncReadAppPreference 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上の {{goto application preferences,アプリケーション設定|Introduction to Conduit Development601/Glossary}} の 1 つからアプリケーションの設定ブロックを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadAppPreference ( CRawPreferenceInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **アプリケーション設定についての情報を指定し、受け取る {{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_UNKNOWN_REQUEST}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **要求された設定は見つかりませんでした。 すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの中にある {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_creator, m_prefId, m_reqBytes, m_backedUp, m_nBytes}} メンバに情報を埋め込みます。{{span style='color:blue;font-family:monospace;',SyncReadAppPreference()}} はオブジェクトの {{span style='color:blue;font-family:monospace;',m_version, m_retBytes, m_actSize}} フィールドに情報を埋め込み、{{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに設定データを戻してきます。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: 2.0 以降 Palm OS Garnet やそれ以前のリリースと同様に Palm OS Cobalt では、アプリケーション設定は 64 KB よりも大きくなることはできません。それゆえ、あなたはこの関数を使用して上記すべての Palm OS バージョンを実行しているハンドヘルドから設定を読み込むことができます。 '''参照''' {{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncWriteAppPreference,SyncWriteAppPreference()}} !{{anchor SyncReadDBAppInfoBlock}}SyncReadDBAppInfoBlock 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック データベースから {{goto application info,アプリケーション情報|Introduction to Conduit Development601/Glossary}}、それが存在する場合は、を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadDBAppInfoBlock ( HSByte fHandle, CDbGenInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fHandle}} **ハンドヘルド上のクラシック データベースまたはレコード データベースへのハンドル。このハンドルは {{goto SyncOpenDB,SyncOpenDB|C/C++ Sync Suite Reference601/4-1}} または {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} によって返されます。 *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。これはアプリケーション情報ブロックとデータベースについての情報を指定、取得します。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_BytesRead}} フィールドには実際のブロック サイズがセットされます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_BytesRead}} フィールドには実際のブロック サイズがセットされます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_BytesRead}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **要求されたアプリケーション情報ブロックは利用できません。 *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数は読み込むためにオープンされているクラシック データベースまたはリソース データベースからアプリケーション情報ブロックを読み込みます。アプリケーション情報ブロックについての更なる情報は、''Introduction to Conduit Development'' の{{goto Categories and the Application Info Block,カテゴリとアプリケーション情報ブロック|Introduction to Conduit Development601/8}} を参照してください。 この関数を使用するには、{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_TotalBytes}} メンバに情報を埋め込みます。{{span style='color:blue;font-family:monospace;',SyncReadDBAppInfo()}} 関数がオブジェクトの残りのメンバに情報を埋め込みます。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadDBSortInfoBlock,SyncReadDBSortInfoBlock()}}, {{goto SyncWriteDBAppInfoBlock,SyncWriteDBAppInfoBlock()}} !{{anchor SyncReadDBList}}SyncReadDBList 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック データベースのリストについての情報を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadDBList ( HSByte cardNo, UInt16 startIx, SInt32 bRam, CDbList *pList, SInt32 &rCnt ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ cardNo}} **データベースが存在しているメモリ カードの番号。システムの中の最初のメモリ カードはカード番号 0 であり、それに続くカード番号は +1 されていきます。複数の Palm OS メモリ カードをサポートするある特定の HandSpring ハンドヘルドを除き、常に 0 を指定します。 *{{span style='color:blue;font-family:monospace;',→ startIx}} **あなたが情報を取得したいデータベースのリストの開始インデックス。最初のデータベースに対しては 0 を指定し、それに続くデータベースに対しては +1 していきます。 *{{span style='color:blue;font-family:monospace;',→ bRam}} **ブール値。これが {{span style='color:blue;font-family:monospace;',TRUE}} の場合、RAM の中にあるデータベースの情報が取得されます; これが {{span style='color:blue;font-family:monospace;',FALSE}} の場合、ROM 野中にあるデータベースの情報が取得されます。 *{{span style='color:blue;font-family:monospace;',←→ pList}} **それぞれが {{goto CDbList,CDbList|C/C++ Sync Suite Reference601/4-1}} クラスであるオブジェクトの配列。呼び出し元はあらかじめこれらのオブジェクトを割り当てておかなければなりません。返り時には、各オブジェクトはハンドヘルド上のデータベースについての情報を受け取ります。 *{{span style='color:blue;font-family:monospace;',←→ rCnt}} **エントリ時には、呼び出し元が {{span style='color:blue;font-family:monospace;',pList}} に割り当てたオブジェクトの数です。返り時には、この関数によって埋め込まれた連続するオブジェクトの実際の数です。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **リスト アップするデータベースはこれ以上ありません。 すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CDbList,CDbList|C/C++ Sync Suite Reference601/4-1}} オブジェクトの配列に割り当てを行います。{{span style='color:blue;font-family:monospace;',rCnt}} パラメータには、あなたはあなたが配列に割り当てたエントリの数を指定しなければなりません。返り時には、この値はこの関数によって埋め込まれた配列エントリの実際の数に更新されます。 あなたが {{span style='color:blue;font-family:monospace;',CDbList}} オブジェクトの数を大きくした場合同期マネージャはこのトランザクションを最適化することができるということに注意してください。あなたはデータベースの数を決定するために {{goto SyncReadSingleCardInfo,SyncReadSingleCardInfo()}} 関数を呼び出すことができ、それから多くのオブジェクトを割り当てることができます。あなたがこの手法を使用できない場合、40 個のオブジェクトが妥当な配列サイズです。 ハンドヘルド上の RAM または ROM の中にあるすべてのデータベースを初めから終わりまでを反復して処理するには、以下のような方法で繰り返し {{span style='color:blue;font-family:monospace;',SyncReadDBList()}} を呼び出します: *最初の呼び出しで {{span style='color:blue;font-family:monospace;',startIx}} に 0 をセットし、それに続く呼び出しではそれに前の呼び出しで取得されたエントリの数を加えます。 *各呼び出しの前に {{span style='color:blue;font-family:monospace;',rCnt}} をあなたの配列の中にあるエントリの数にリセットします。 Palm OS のバージョン 3.0 よりも前のものを実行しているハンドヘルドと通信する場合、この関数は実行に時間がかかります。なぜなら、それらのバージョンの Palm OS は一度にをエントリを 1 つだけ返すからです。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて '''参照''' {{goto CDbList,CDbList|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadSingleCardInfo,SyncReadSingleCardInfo()}} !{{anchor SyncReadDBSortInfoBlock}}SyncReadDBSortInfoBlock 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック データベースからソート情報ブロックを、もしそれが存在する場合は、取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadDBSortInfoBlock ( HSByte fHandle, CDbGenInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fHandle}} **ハンドヘルド上のクラシック データベースまんたはリソース データベースへのハンドル。このハンドルは {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}} または {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} への呼び出しによって返されます。 *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。これはソート情報ブロックとデータベースについての情報を指定、取得します。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。{{span style='color:blue;font-family:monospace;',SyncReadDBSortInfoBlock()}} はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_BytesRead}} フィールドには実際のブロック サイズがセットされます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_BytesRead}} フィールドには実際のブロック サイズがセットされます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_BytesRead}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **要求されたソート情報ブロックは利用できません。 *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数は読み込むためにオープンされているクラシック データベースからソート情報ブロックを読み込みます。 この関数を使用するには、{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_TotalBytes}} メンバに情報を埋め込みます。この関数がオブジェクトの残りのメンバに情報を埋め込みます。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncWriteDBSortInfoBlock,SyncWriteDBSortInfoBlock()}}, {{goto SyncReadDBAppInfoBlock,SyncReadDBAppInfoBlock()}} !{{anchor SyncReadNextModifiedRec}}SyncReadNextModifiedRec 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック レコード データベースから次の変更、アーカイブ、削除されたレコードを取得します。この反復関数への各呼び出しはすべての変更されたレコードが取得されるまで次の変更されたレコードを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadNextModifiedRec ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。これはレコードとデータベースについての情報を指定、取得します。呼び出し元は {{span style='color:blue;font-family:monospace;',"m_FileHandle, m_RecId, m_TotalBytes"}} メンバに値を指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecIndex, m_RecSize}} フィールドには正しい情報が埋め込まれます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecSize}} フィールドには正しい情報が埋め込まれます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_BytesRead}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **取得すべき変更されたレコードはこれ以上存在しません。 *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BUSY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_TotalBytes}} と {{span style='color:blue;font-family:monospace;',FileHandle}} メンバに情報を埋め込みます。あなたは {{span style='color:blue;font-family:monospace;',m_TotalBytes}} にあなたが割り当てて {{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。 この関数はレコードを取得し、それをバッファの中に保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecSize, m_RecIndex}} フィールドに情報を埋め込みます。 ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、''C/C++ Sync Suite Companion'' の {{goto Iterating Through a Database,「データベースの初めから終わりまでの反復処理」|C/C++ Sync Suite Companion601/4}} を参照してください。 あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}}, {{goto SyncReadNextRecInCategory,SyncReadNextRecInCategory()}}, {{goto SyncResetRecordIndex,SyncResetRecordIndex()}} !{{anchor SyncReadNextModifiedRecInCategory}}SyncReadNextModifiedRecInCategory 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック レコード データベースからあるカテゴリに属する次の変更されたレコード - 削除、アーカイブ、変更されたレコードを含む - を取得します。この反復関数への各呼び出しはすべての変更されたレコードが取得されるまであるカテゴリに属する次の変更されたレコードを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadNextModifiedRecInCategory ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。これはレコード、カテゴリ、それにデータベースについての情報を指定、取得します。呼び出し元は {{span style='color:blue;font-family:monospace;',"m_FileHandle, m_CatId, m_RecId, m_TotalBytes"}} メンバに値を指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_RecIndex, m_RecSize}} フィールドには正しい情報が埋め込まれます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_RecSize}} フィールドには正しい情報が埋め込まれます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_BytesRead}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **取得すべき変更されたレコードはこれ以上存在しません。 *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BUSY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_CatId, m_TotalBytes, m_FileHandle}} メンバに情報を埋め込みます。あなたは {{span style='color:blue;font-family:monospace;',m_TotalBytes}} にあなたが割り当てて {{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。 この関数はレコードを取得し、それをバッファの中に保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_RecSize, m_RecIndex}} フィールドに情報を埋め込みます。 ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、''C/C++ Sync Suite Companion'' の {{goto Iterating Through a Database,「データベースの初めから終わりまでの反復処理」|C/C++ Sync Suite Companion601/4}} を参照してください。 あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadNextModifiedRec,SyncReadNextModifiedRec()}}, {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}}, {{goto SyncResetRecordIndex,SyncResetRecordIndex()}} !{{anchor SyncReadNextRecInCategory}}SyncReadNextRecInCategory 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック レコード データベースからあるカテゴリに属するすべてのレコード - 削除、アーカイブ、変更されたレコードを含む - を取得します。この反復関数への各呼び出しはすべてのレコードが取得されるまであるカテゴリに属する次のレコードを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadNextRecInCategory ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。これはレコード、カテゴリ、それにデータベースについての情報を指定、取得します。呼び出し元は {{span style='color:blue;font-family:monospace;',"m_FileHandle, m_CatId, m_RecId, m_TotalBytes"}} メンバに値を指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_RecIndex, m_RecSize}} フィールドには正しい情報が埋め込まれます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_RecSize}} フィールドには正しい情報が埋め込まれます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_BytesRead}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} **取得すべきレコードはこれ以上存在しません。 *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BUSY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_CatId, m_TotalBytes, FileHandle}} メンバに情報を埋め込みます。あなたは {{span style='color:blue;font-family:monospace;',m_TotalBytes}} にあなたが割り当てて {{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。 この関数はレコードを取得し、それをバッファの中に保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_RecSize, m_RecIndex}} フィールドに情報を埋め込みます。 ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、''C/C++ Sync Suite Companion'' の {{goto Iterating Through a Database,「データベースの初めから終わりまでの反復処理」|C/C++ Sync Suite Companion601/4}} を参照してください。 あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadNextModifiedRec,SyncReadNextModifiedRec()}}, {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}}, {{goto SyncResetRecordIndex,SyncResetRecordIndex()}} !{{anchor SyncReadOpenDbInfo}}SyncReadOpenDbInfo 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック データベースについての広範囲の情報を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadOpenDbInfo ( SyncReadOpenDbInfoParams &rParam, SyncDatabaseInfoType &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ rParam}} **データベース ハンドルとそのデータベースがどのようにオープンされたかを指定するタイプ {{goto SyncReadOpenDbInfoParams,SyncReadOpenDbInfoParams}} の構造体へのポインタ。 *{{span style='color:blue;font-family:monospace;',← rInfo}} **データベースについての情報を受け取る {{goto SyncDatabaseInfoType,SyncDatabaseInfoType}} の構造体へのポインタ。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を呼び出す前にデータベースすでに読み込める状態でオープンされていることを保証してください。{{span style='color:blue;font-family:monospace;',SyncReadOpenDbInfo()}} を使用するには、{{span style='color:blue;font-family:monospace;',SyncReadOpenDbInfoParams}} 構造体にデータベース ハンドルとデータベースがどのようにオープンされたかを指定するフラグを埋め込みます。この関数は {{span style='color:blue;font-family:monospace;',SyncDatabaseInfoType}} 構造体にデータベースについての情報を埋め込みます。 '''互換性''' 同期マネージャ バージョン: 2.2 以降 *Palm OS バージョン: 3.0 以降 '''参照''' {{goto SyncReadOpenDbInfoParams,SyncReadOpenDbInfoParams}} {{goto SyncDatabaseInfoType,SyncDatabaseInfoType}}, {{goto SyncFindDbByName,SyncFindDbByName()}}, {{goto SyncFindDbByTypeCreator,SyncFindDbByTypeCreator()}} !{{anchor SyncReadPositionXMap}}SyncReadPositionXMap 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック データベースからソートされた順番に並んだレコード ID のリストを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadPositionXMap ( CPositionInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **読み込むデータベースを指定し、ソートされた順番に並んだレコード ID を受け取る {{goto CPositionInfo,CPositionInfo}} クラスのオブジェクト。呼び出し元は {{span style='color:blue;font-family:monospace;',m_FileHandle, m_FirstPos, m_MaxEntries, m_TotalBytes}} メンバを指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。開始インデックス {{span style='color:blue;font-family:monospace;',m_FirstPos}} が範囲外の場合でもこの関数は {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返し、その場合 {{span style='color:blue;font-family:monospace;',m_NumReadIn}} は 0 にセットされるということに注意してください。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_FILE_NOT_OPEN}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOCAL_BUFF_TOO_SMALL}} **{{span style='color:blue;font-family:monospace;',rInfo.m_MaxEntries}} によって指定される値が 0x3FFF エントリよりも大きい。({{span style='color:blue;font-family:monospace;',m_TotalByes}} は {{span style='color:blue;font-family:monospace;',UInt16}} であるので、バッファは 64 KB までに制限されます。つまり、このバッファは 16 K 個の 4 バイト レコード ID までに制限されます。) *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' コンジットはハンドヘルドのレコードの順番をデスクトップ コンピュータ上のデータベースに適用するためにこの関数を使用することができます。しかしながら、このアプローチは単純にハンドヘルド ソート基準を使ってデスクトップ レコードをソートするよりも遅くなるかもしれません。 この関数を使用するには、{{goto CPositionInfo,CPositionInfo}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_FirstPos, m_MaxEntries, m_TotalBytes, m_FileHandle}} メンバに情報を埋め込みます。{{span style='color:blue;font-family:monospace;',m_TotalBytes}} の値はあなたが割り当て、{{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズでなければなりません。この関数を呼び出す前にデータベースは読み込める状態でオープンされていなければならないということに注意してください。 この関数はレコード ID を取得し、それらをバッファに保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_NumReadIn}} フィールドに情報を埋め込みます。 {{span style='color:blue;font-family:monospace;',SyncReadPositionXMap()}} は取得されたレコード ID をあなたのデスクトップ コンピュータのバイト順序規則に変換します。各 4 バイト レコード ID はビッグ エンディアン (Motorola) バイト順序で返されます。このバイト順序では最上位バイトが低いメモリ アドレスに保存されます。これは同期マネージャのレコード読み込み関数の振る舞いとは異なります。これらの関数は ID をデスクトップ コンピュータのバイト順序に変換しません (訳者注: 原文では「変換する」 = "do convert" となっていましたが、それではこの後の文章とのつじつまが合わないので「変換しない」 = "don't convert" の誤りだと思われます)。このことはあなたが {{span style='color:blue;font-family:monospace;',SyncReadPositionXMap()}} によって返されたレコード ID を他の同期マネージャ関数によって返されたレコード ID と比較する場合、まず後者をデスクトップ コンピュータのフォーマットに変換しなければなりません。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて {{anchor Sync Manager Version 2.5}} ''同期マネージャ バージョン 2.5'' あなたが {{span style='color:blue;font-family:monospace;',rInfo.m_MaxEntries}} に指定した値が 0x3FFF エントリよりも大きい場合、この関数は失敗し、{{span style='color:blue;font-family:monospace;',SYNCERR_LOCAL_BUFF_TOO_SMALL}} を返します。このチェックはこのバージョンよりも前のものでは行われません。 {{anchor Sync Manager Version 2.4}} ''同期マネージャ バージョン 2.4'' 開始インデックス ({{span style='color:blue;font-family:monospace;',rInfo.m_FirstPos}}) が非 0 の場合に返されるレコードの数の値 ({{span style='color:blue;font-family:monospace;',rInfo.m_NumReadIn}}) が正しく返されないというこの関数の問題は修正されています。このバージョンでは、{{span style='color:blue;font-family:monospace;',m_pBytes}} 配列の中にあるレコード ID の数を正しく返します。 {{anchor Sync Manager Version 2.2}} ''同期マネージャ バージョン 2.2'' あなたが同期マネージャにレコード ID の部分集合を返すように要求した場合に同期マネージャがクラッシュするという問題は修正されています。この問題は同期マネージャ バージョン 2.2 以降では修正されています。 あなたはこれ以前のバージョンの同期マネージャ API では {{span style='color:blue;font-family:monospace;',SyncReadPositionXMap()}} に 1 度にすべてのレコード ID を取得させることにより容易にこの問題を回避することができます。そうするには、以下のステップに従ってください: +{{goto SyncGetDBRecordCount,SyncGetDBRecordCount()}} 関数呼び出しによってデータベースの中にあるレコードの数を取得します。 +{{span style='color:blue;font-family:monospace;',m_pBytes}} に多くのレコード ID を収容できるように割り当てを行います。必要となるサイズは以下のように算出します:++{{span style='color:blue;font-family:monospace;',bufsize = count * sizeof(DWORD)}} +すべてのレコード ID を取得するために {{span style='color:blue;font-family:monospace;',SyncReadPositionXMap()}} を呼び出します。 '''参照''' {{goto CPositionInfo,CPositionInfo}} !{{anchor SyncReadRecordById}}SyncReadRecordById 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック レコード データベースから固有レコード ID でレコードを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadRecordById ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **レコードとデータベースについての情報を指定、受け取る {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。呼び出し元は {{span style='color:blue;font-family:monospace;',m_FileHandle, m_RecId, m_TotalBytes}} メンバを指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリコードに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecIndex, m_RecSize}} フィールドには正しい情報が埋め込まれます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecSize}} フィールドには正しい情報が埋め込まれます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_RecSize}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} *{{span style='color:blue;font-family:monospace;',SYNCERR_RECORD_BUSY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_RecId, m_TotalBytes, FileHandle}} メンバに情報を埋め込みます。あなたは {{span style='color:blue;font-family:monospace;',m_TotalBytes}} にあなたが割り当てて {{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。 この関数はレコードを取得し、それをバッファの中に保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecIndex, m_CatId, m_Attribs, m_RecSize}} フィールドに情報を埋め込みます。 あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadRecordByIndex,SyncReadRecordByIndex()}}, {{goto SyncReadNextModifiedRec,SyncReadNextModifiedRec()}}, {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}}, {{goto SyncReadNextRecInCategory,SyncReadNextRecInCategory()}} !{{anchor SyncReadRecordByIndex}}SyncReadRecordByIndex 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のクラシック レコード データベースからインデックスでレコードを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadRecordByIndex ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **レコードとデータベースについての情報を指定、受け取る {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。呼び出し元は {{span style='color:blue;font-family:monospace;',m_FileHandle, m_RecIndex, m_TotalBytes}} メンバを指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリコードに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecIndex, m_RecSize}} フィールドには正しい情報が埋め込まれます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_Attribs, m_CatId, m_RecSize}} フィールドには正しい情報が埋め込まれます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_RecSize}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} *{{span style='color:blue;font-family:monospace;',SYNCERR_RECORD_BUSY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_RecIndex, m_TotalBytes, FileHandle}} メンバに情報を埋め込みます。あなたは {{span style='color:blue;font-family:monospace;',m_TotalBytes}} にあなたが割り当てて {{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。 この関数はレコードを取得し、それをバッファの中に保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_CatId, m_Attribs, m_RecSize}} フィールドに情報を埋め込みます。 あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadRecordById,SyncReadRecordById()}}, {{goto SyncReadNextModifiedRec,SyncReadNextModifiedRec()}}, {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}}, {{goto SyncReadNextRecInCategory,SyncReadNextRecInCategory()}} !{{anchor SyncReadResRecordByIndex}}SyncReadResRecordByIndex 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のオープンされているリソース データベースからインデックスでリソース レコードを取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncReadResRecordByIndex ( CRawRecordInfo &rInfo, SInt32 bBody=TRUE ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **レコードとデータベースについての情報を指定、受け取る {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。呼び出し元は {{span style='color:blue;font-family:monospace;',m_FileHandle, m_RecIndex, m_TotalBytes}} メンバを指定しなければなりません。 *{{span style='color:blue;font-family:monospace;',→ bBody}} **ブール値。これが {{span style='color:blue;font-family:monospace;',TRUE}} の場合、リソース データは取得され、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに保存されます。そうでない場合、{{span style='color:blue;font-family:monospace;',rInfo}} の他のフィールドに情報が埋め込まれますが、リソース データはコピーされません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。この関数はたとえもしあなたが割り当てたバッファがリコードに対して小さすぎる場合であっても {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返すということに注意してください。バージョンによる詳細は以下のようになっています: *あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の {{span style='color:blue;font-family:monospace;',m_TotalBytes}} があなたのバッファにコピーされ、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_CatId, m_RecIndex, m_RecSize}} フィールドには正しい情報が埋め込まれます。 *あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_CatId, m_RecSize}} フィールドには正しい情報が埋め込まれます。 同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: {{span style='color:blue;font-family:monospace;',m_RecSize}} が {{span style='color:blue;font-family:monospace;',m_TotalBytes}} よりも大きい場合、バッファは小さすぎます。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NOT_FOUND}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、オブジェクトの {{span style='color:blue;font-family:monospace;',m_RecIndex, m_TotalBytes, FileHandle}} メンバに情報を埋め込みます。あなたは {{span style='color:blue;font-family:monospace;',m_TotalBytes}} にあなたが割り当てて {{span style='color:blue;font-family:monospace;',m_pBytes}} に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。 この関数はリソースを取得し、それをバッファの中に保存し、{{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_RecId, m_CatId, m_RecSize}} フィールドに情報を埋め込みます。 リソース データベースの初めから終わりまでの反復処理を開始するには、{{span style='color:blue;font-family:monospace;',m_RecIndex}} に 0 をセットして、この関数を呼び出します。あなたがあとに続くリソースを前の {{span style='color:blue;font-family:monospace;',m_RecIndex}} の値に +1 することで取得することができます。エラー コードが返されるまでこの関数を呼び出し続けます。あなたは {{span style='color:blue;font-family:monospace;',m_RecIndex}} の値が「リフレッシュ」されることを保証しなければなりません。なぜなら、この関数はそのフィールドをその中にリソース ID を返すことによって上書きするからです。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncWriteResourceRec,SyncWriteResourceRec()}} !{{anchor SyncResetRecordIndex}}SyncResetRecordIndex 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のオープンされているクラシック レコード データベースの反復処理のインデックスをリセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncResetRecordIndex ( HSByte fHandle ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fHandle}} **ハンドヘルド上のオープンされているレコード データベースへのハンドル。このハンドルは {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}} または {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} 関数への呼び出しによって返されます。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' {{goto SyncReadNextRecInCategory,SyncReadNextRecInCategory()}} や {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}} などの関数でデータベースの初めから終わりまでを反復処理する前にこの関数を呼び出します。あなたは初めてデータベースの反復処理する前にはこの関数を呼び出す必要はありません; しかしながら、あなたがデータベースをオープンしている間にあなたのコンジットが同じデータベースに対して複数回反復処理を行う場合、あなたは 2 回目 (またはその後の) 反復処理を開始する前にこの関数を呼び出してインデックスをリセットする必要があります。 ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、''C/C++ Sync Suite Companion'' の {{goto Iterating Through a Database,「データベースの初めから終わりまでの反復処理」|C/C++ Sync Suite Companion601/4}} を参照してください。 あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて '''参照''' {{goto SyncReadNextModifiedRec,SyncReadNextModifiedRec()}}, {{goto SyncReadNextModifiedRecInCategory,SyncReadNextModifiedRecInCategory()}}, {{goto SyncReadNextRecInCategory,SyncReadNextRecInCategory()}}, {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} !{{anchor SyncResetSyncFlags}}SyncResetSyncFlags 関数 {{goto top,^TOP^}} '''目的''' ハンドヘルド上のオープンされているクラシック レコード データベースの中にあるすべてのレコードの変更フラグをリセットします。オープンされているクラシック レコード データベースまたはリソース データベースのバックアップ日付をリセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncResetSyncFlags ( HSByte fHandle ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fHandle}} **ハンドヘルド上のデータベースへのハンドル。このハンドルは {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}} または {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} 関数への呼び出しによって返されます。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} *{{span style='color:blue;font-family:monospace;',SYNCERR_READ_ONLY}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' {{span style='color:blue;font-family:monospace;',fHandle}} がレコード データベースへのハンドルである場合、そのデータベースは読み込み/書き込みできる状態でオープンされていなければなりません。{{span style='color:blue;font-family:monospace;',fHandle}} がリソース データベースへのハンドルである場合、そのデータベースは読み込み専用または読み込み/書き込み可能な状態のどちらかでオープンさせておくことができます。 レコード フラグについての更なる情報は、{{goto eSyncRecAttrs,"eSyncRecAttrs"|C/C++ Sync Suite Reference601/5}} を参照してください。 ::NOTE :::{{span style='color:blue;font-family:monospace;',SyncResetSyncFlags()}} はクラシック データベースに対してのみ機能します。スキーマ データベースの変更状態をリセットするには、代わりに {{goto SyncDbCloseDatabase,SyncDbCloseDatabase()|C/C++ Sync Suite Reference601/2}} の説明を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて '''参照''' {{goto eSyncRecAttrs,eSyncRecAttrs|C/C++ Sync Suite Reference601/5}}, {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} !{{anchor SyncWriteAppPreference}}SyncWriteAppPreference 関数 {{goto top,^TOP^}} '''目的''' {{goto application preferences,アプリケーション設定|Introduction to Conduit Development601/Glossary}} をハンドヘルド上の設定データベースに書き込みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncWriteAppPreference ( CRawPreferenceInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **アプリケーション設定についての情報を指定、受け取る {{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_UNKNOWN_REQUEST}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの中の {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、そのバッファに設定情報を保存し、オブジェクトの以下の他のメンバに情報を埋め込みます: {{span style='color:blue;font-family:monospace;',m_version, m_creator, m_prefId, m_backedUp, m_nBytes}}。 設定ブロックの中にあるデータの構造体はアプリケーションに依存します同期マネージャはそれを送信するときにいかなる形であってもこのデータを変更することはありません。このことはマルチ バイト整数データはビッグ エンディアン バイト順序 - 最上位バイトはメモリのより低いアドレスに保存される - を使って保存されるということです。あなたのコンジットは何らかの必要なバイト入れ替えを行う責任を負います。あなたは設定ブロックのバージョンとサイズとがハンドヘルド上で実行されているアプリケーションのバージョンと互換性を保つことを保証しなければなりません。非適切なサイズの設定ブロックを書き込むことはデータベースを破壊する可能性があります。 ::重要 :::あなたは設定ブロックのバージョンとサイズとがハンドヘルド上で実行されているアプリケーションのバージョンと互換性を保つことを保証しなければなりません。非適切なサイズの設定ブロックを書き込むことはデータベースを破壊する可能性があります。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: 2.0 以降 Palm OS Garnet やそれ以前のリリースと同様に Palm OS Cobalt では、アプリケーション設定はもはや 64 KB より大きくなることはできません。それゆえ、あなたは上記のいずれかの Palm OS バージョンを実行しているハンドヘルドに設定を書き込むためにこの関数を使用することができます。 '''参照''' {{goto CRawPreferenceInfo,CRawPreferenceInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadAppPreference,SyncReadAppPreference()}} !{{anchor SyncWriteDBAppInfoBlock}}SyncWriteDBAppInfoBlock 関数 {{goto top,^TOP^}} {{goto application info,アプリケーション情報|Introduction to Conduit Development601/Glossary}} ブロックをハンドヘルド上のクラシック レコード データベースまたはリソース データベースに書き込みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncWriteDBAppInfoBlock ( HSByte fHandle, CDbGenInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fHandle}} **ハンドヘルド上のクラシック レコード データベースまたはリソース データベースへのハンドル。このハンドルは {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}} または {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} 関数への呼び出しによって返されます。 *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **アプリケーション情報ブロックとデータベースについての情報を指定する {{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。これはブロックがハンドヘルド データベースに書き込まれたことを意味します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_READ_ONLY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数はアプリケーション情報ブロックをハンドヘルド上のクラシック データベースに書き込みます。データベースは読み込み/書き込み可能な状態でオープンされていなければなりません。アプリケーション情報ブロックについての更なる情報は、''Introduction to Conduit Development'' の {{goto Categories and the Application Info Block,「カテゴリとアプリケーション情報ブロック」|Introduction to Conduit Development601/8}} を参照してください。 この関数を使用するには、{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの中の {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、そのバッファにソート情報を保存します。それから、{{span style='color:blue;font-family:monospace;',m_BytesRead}} と {{span style='color:blue;font-family:monospace;',m_TotalBytes}} メンバにデータ バッファのサイズをセットします。 ::重要 :::以前のバージョンの同期マネージャ API には問題があるため、{{span style='color:blue;font-family:monospace;',SyncWriteDbAppInfoBlock()}} を呼び出す前にあなたは情報ブロックのサイズをあなたの {{span style='color:blue;font-family:monospace;',CDbGenInfo}} オブジェクトの {{span style='color:blue;font-family:monospace;',m_BytesRead}} と {{span style='color:blue;font-family:monospace;',m_TotalBytes}} フィールドの両方に代入しなければなりません。 ハンドヘルド データベースからアプリケーション情報ブロックを完全に削除するには、{{span style='color:blue;font-family:monospace;',m_TotalBytes}} と {{span style='color:blue;font-family:monospace;',m_BytesRead}} の両方に 0 をセットします。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて '''参照''' {{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadDBAppInfoBlock,SyncReadDBAppInfoBlock()}} !{{anchor SyncWriteDBSortInfoBlock}}SyncWriteDBSortInfoBlock 関数 {{goto top,^TOP^}} '''目的''' ソート情報をハンドヘルド上のクラシック レコード データベースまたはリソース データベースに書き込みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncWriteDBSortInfoBlock ( HSByte fHandle, CDbGenInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fHandle}} **ハンドヘルド上のデータベースへのハンドル。このハンドルは {{goto SyncOpenDB,SyncOpenDB()|C/C++ Sync Suite Reference601/4-1}} または {{goto SyncCreateDB,SyncCreateDB()|C/C++ Sync Suite Reference601/4-1}} 関数への呼び出しによって返されます。 *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **アプリケーション設定についての情報を指定、受け取る {{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。これはブロックがハンドヘルド データベースに書き込まれたことを意味します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_READ_ONLY}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数はソート情報ブロックを読み込み/書き込み可能状態でオープンされているハンドヘルド上のクラシック データベースに書き込みます。 この関数を使用するには、{{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの中の {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、そのバッファにソート情報を保存します。それから、あなたのバッファのサイズを {{span style='color:blue;font-family:monospace;',m_TotalBytes}} フィールドに代入します。 ハンドヘルド データベースからソート情報ブロックを完全に削除するには、{{span style='color:blue;font-family:monospace;',m_TotalBytes}} に 0 をセットします。 実行最適化情報は、''C/C++ Sync Suite Companion'' の {{goto Sync Manager and Performance,同期マネージャとパフォーマンス」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて '''参照''' {{goto CDbGenInfo,CDbGenInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadDBSortInfoBlock,SyncReadDBSortInfoBlock()}} !{{anchor SyncWriteRec}}SyncWriteRec 関数 {{goto top,^TOP^}} '''目的''' レコードをハンドヘルド上のクラシック レコード データベースに書き込みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncWriteRec ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ rInfo}} **レコードとデータベースについての情報を指定し、受け取る {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。呼び出し元は {{span style='color:blue;font-family:monospace;',m_FileHandle, m_RecId, m_Attribs, m_CatId, m_RecSize}} を指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} *{{span style='color:blue;font-family:monospace;',SYNCERR_BAD_OPERATION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_READ_ONLY}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数は書き込み可能状態でオープンされているクラシック データベースに以下の書込み操作を実行することができます: *レコード ID を指定することによって既存のレコードを上書きすることができます。 *レコード ID に 0 を指定することによって新しいレコードを追加することができます。ハンドヘルド上のデータ マネージャは新しいレコード ID を代入する責任を負うということに注意してください。 この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの中の {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、そのバッファにレコード情報を保存します。それから、あなたのバッファのサイズを {{span style='color:blue;font-family:monospace;',m_RecSize}} フィールドに代入し、残りのフィールドにレコードについての情報を埋め込みます。 あなたは新しいレコードがデータベースのどの位置になるかを指定することはできず、新しいレコードがデータベースの最後に追加されるということを保証することもできません。同期操作の完了時に、ハンドヘルド上のアプリケーションには {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdSyncNotify}} 通知が送られ、その時点でアプリケーションは必要とされるデータベースのソートや更新を行うことができます。 あなたが Palm OS のバージョン 3.0 より前のものを実行しているハンドヘルドに書き込みを行うとき、書き込まれるレコードは常に変更されたというマークを付けられます。Palm OS ソフトウェア バージョン 3.0 では、{{span style='color:blue;font-family:monospace;',eRecAttrDirty}} が {{span style='color:blue;font-family:monospace;',rInfo}} の {{span style='color:blue;font-family:monospace;',m_Attribs}} フィールドにセットされている場合にのみ、書き込まれるレコードは変更されたというマークを付けられます。 あなたが Palm OS のバージョン 2.0 よりも前のものを実行しているハンドヘルド上のビルト イン (ROM) データベースと同期をとっている場合、あなたはハンドヘルドがハード リセットされた後に起きる特別な条件を処理しなければなりません。これらのハンドヘルドでは、レコード データベースのために生成される固有レコード ID の種は常に同じです。レコード ID の衝突を避けるために、ハード リセットされたハンドヘルド上のデータベースをリストアする前にデフォルト コンジットはデスクトップ上の既存のレコード ID を 0 にします。これは新たな固有レコード ID を強制的に生成させます。あなたが Palm OS のバージョン 2.0 またはそれ以前のものを実行しているハンドヘルド上の ROM べース アプリケーションと同期している場合、あなたはこの work-around を適用する必要があるだけです。(訳者: 最後の文の訳???) レコードをハンドヘルド上のデータベースに書き込むためにあなたがバージョン 2.0 よりも前の同期マネージャ API を使用するとき、現在の反復処理インデックスは更新されません。更なる情報は、''C/C++ Sync Suite Companion'' の {{goto Modifying a Database While Iterating,「反復処理中のデータベースへの変更」|C/C++ Sync Suite Companion601/4}} を参照してください。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて バージョンによる振る舞いの違いは「返り値」を参照してください。 '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadRecordById,SyncReadRecordById()}}, {{goto SyncReadRecordByIndex,SyncReadRecordByIndex()}} !{{anchor SyncWriteResourceRec}}SyncWriteResourceRec 関数 {{goto top,^TOP^}} '''目的''' リソースをハンドヘルド上のクラシック リソース データベースに書き込みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',SyncMgr.h}} '''Prototype''' SInt32 SyncWriteResourceRec ( CRawRecordInfo &rInfo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ rInfo}} **リソースとデータベースについての情報を指定する {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクト。呼び出し元は {{span style='color:blue;font-family:monospace;',m_FileHandle, m_RecId, m_RecIndex, m_RecSize}} メンバを指定しなければなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',SYNCERR_NONE}} を返します。これはリソースが書き込まれたことを意味します。 不成功時には以下のエラー コード値の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',SYNCERR_COMM_NOT_INIT}} *{{span style='color:blue;font-family:monospace;',SYNCERR_LOST_CONNECTION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_SYS}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_MEM}} *{{span style='color:blue;font-family:monospace;',SYNCERR_REMOTE_BAD_ARG}} *{{span style='color:blue;font-family:monospace;',SYNCERR_NO_FILES_OPEN}} *{{span style='color:blue;font-family:monospace;',SYNCERR_BAD_OPERATION}} *{{span style='color:blue;font-family:monospace;',SYNCERR_READ_ONLY}} すべての同期マネージャ エラー コードの記述は {{goto Common Sync Manager Error Codes,「共通同期マネージャ エラー コード」|C/C++ Sync Suite Reference601/5}} を参照してください。 '''コメント''' この関数を使用するには、{{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}} クラスのオブジェクトの中の {{span style='color:blue;font-family:monospace;',m_pBytes}} バッファに割り当てを行い、そのバッファにリソース情報を保存します。それから、あなたのリソースのサイズを {{span style='color:blue;font-family:monospace;',m_RecSize}} フィールドに代入し、{{span style='color:blue;font-family:monospace;',m_FileHandle, m_RecId, m_RecIndex}} に情報を埋め込まなければなりません。この関数を呼び出す前にデータベースは書き込み可能な状態でオープンされていなければなりません。 '''互換性''' 同期マネージャ バージョン: 2.0 以降 *Palm OS バージョン: すべて '''参照''' {{goto CRawRecordInfo,CRawRecordInfo|C/C++ Sync Suite Reference601/4-1}}, {{goto SyncReadResRecordByIndex,SyncReadResRecordByIndex()}} [[← 4 章のページ 1 へ|C/C++ Sync Suite Reference601/4-1]] [[↑ 4 章のトップへ|C/C++ Sync Suite Reference601/4]] {{div_end}} {{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 3 章に戻る|C/C++ Sync Suite Reference601/3]] [[↑トップへ|C/C++ Sync Suite Reference601]] [[5 章に進む →|C/C++ Sync Suite Reference601/5]] {{div_end}}