Palm Programmer's Laboratory

トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

C/C++ Sync Suite Reference601/4-2

← 3 章に戻る? ↑トップへ 5 章に進む →

4 クラシック同期マネージャ API (ページ 2)

← 4 章のページ 1 へ ↑ 4 章のトップへ

SyncReadAppPreference 関数 ^TOP^

目的

ハンドヘルド上の アプリケーション設定 の 1 つからアプリケーションの設定ブロックを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadAppPreference (
   CRawPreferenceInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • アプリケーション設定についての情報を指定し、受け取る CRawPreferenceInfo クラスのオブジェクト。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_UNKNOWN_REQUEST
  • SYNCERR_NOT_FOUND
    • 要求された設定は見つかりませんでした。

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawPreferenceInfo クラスのオブジェクトの中にある m_pBytes バッファに割り当てを行い、オブジェクトの m_creator メンバに情報を埋め込みます。SyncReadAppPreference() はオブジェクトの m_version フィールドに情報を埋め込み、m_pBytes バッファに設定データを戻してきます。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: 2.0 以降

Palm OS Garnet やそれ以前のリリースと同様に Palm OS Cobalt では、アプリケーション設定は 64 KB よりも大きくなることはできません。それゆえ、あなたはこの関数を使用して上記すべての Palm OS バージョンを実行しているハンドヘルドから設定を読み込むことができます。

参照

CRawPreferenceInfo, SyncWriteAppPreference()

SyncReadDBAppInfoBlock 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースから アプリケーション情報、それが存在する場合は、を取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadDBAppInfoBlock (
   HSByte fHandle,
   CDbGenInfo &rInfo
)

パラメータ

  • → fHandle
    • ハンドヘルド上のクラシック データベースまたはレコード データベースへのハンドル。このハンドルは SyncOpenDB または SyncCreateDB() によって返されます。
  • ←→ rInfo
    • CDbGenInfo クラスのオブジェクト。これはアプリケーション情報ブロックとデータベースについての情報を指定、取得します。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_BytesRead フィールドには実際のブロック サイズがセットされます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_BytesRead フィールドには実際のブロック サイズがセットされます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_BytesReadm_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
    • 要求されたアプリケーション情報ブロックは利用できません。
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数は読み込むためにオープンされているクラシック データベースまたはリソース データベースからアプリケーション情報ブロックを読み込みます。アプリケーション情報ブロックについての更なる情報は、Introduction to Conduit Developmentカテゴリとアプリケーション情報ブロック を参照してください。

この関数を使用するには、CDbGenInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_TotalBytes メンバに情報を埋め込みます。SyncReadDBAppInfo() 関数がオブジェクトの残りのメンバに情報を埋め込みます。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CDbGenInfo, SyncOpenDB(), SyncCreateDB(), SyncReadDBSortInfoBlock(), SyncWriteDBAppInfoBlock()

SyncReadDBList 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースのリストについての情報を取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadDBList (
   HSByte cardNo,
   UInt16 startIx,
   SInt32 bRam,
   CDbList *pList,
   SInt32 &rCnt
)

パラメータ

  • → cardNo
    • データベースが存在しているメモリ カードの番号。システムの中の最初のメモリ カードはカード番号 0 であり、それに続くカード番号は +1 されていきます。複数の Palm OS メモリ カードをサポートするある特定の HandSpring ハンドヘルドを除き、常に 0 を指定します。
  • → startIx
    • あなたが情報を取得したいデータベースのリストの開始インデックス。最初のデータベースに対しては 0 を指定し、それに続くデータベースに対しては +1 していきます。
  • → bRam
    • ブール値。これが TRUE の場合、RAM の中にあるデータベースの情報が取得されます; これが FALSE の場合、ROM 野中にあるデータベースの情報が取得されます。
  • ←→ pList
    • それぞれが CDbList クラスであるオブジェクトの配列。呼び出し元はあらかじめこれらのオブジェクトを割り当てておかなければなりません。返り時には、各オブジェクトはハンドヘルド上のデータベースについての情報を受け取ります。
  • ←→ rCnt
    • エントリ時には、呼び出し元が pList に割り当てたオブジェクトの数です。返り時には、この関数によって埋め込まれた連続するオブジェクトの実際の数です。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
    • リスト アップするデータベースはこれ以上ありません。

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CDbList オブジェクトの配列に割り当てを行います。rCnt パラメータには、あなたはあなたが配列に割り当てたエントリの数を指定しなければなりません。返り時には、この値はこの関数によって埋め込まれた配列エントリの実際の数に更新されます。

あなたが CDbList オブジェクトの数を大きくした場合同期マネージャはこのトランザクションを最適化することができるということに注意してください。あなたはデータベースの数を決定するために SyncReadSingleCardInfo() 関数を呼び出すことができ、それから多くのオブジェクトを割り当てることができます。あなたがこの手法を使用できない場合、40 個のオブジェクトが妥当な配列サイズです。

ハンドヘルド上の RAM または ROM の中にあるすべてのデータベースを初めから終わりまでを反復して処理するには、以下のような方法で繰り返し SyncReadDBList() を呼び出します:

  • 最初の呼び出しで startIx に 0 をセットし、それに続く呼び出しではそれに前の呼び出しで取得されたエントリの数を加えます。
  • 各呼び出しの前に rCnt をあなたの配列の中にあるエントリの数にリセットします。

Palm OS のバージョン 3.0 よりも前のものを実行しているハンドヘルドと通信する場合、この関数は実行に時間がかかります。なぜなら、それらのバージョンの Palm OS は一度にをエントリを 1 つだけ返すからです。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

参照

CDbList, SyncReadSingleCardInfo()

SyncReadDBSortInfoBlock 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースからソート情報ブロックを、もしそれが存在する場合は、取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadDBSortInfoBlock (
   HSByte fHandle,
   CDbGenInfo &rInfo
)

パラメータ

  • → fHandle
    • ハンドヘルド上のクラシック データベースまんたはリソース データベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() への呼び出しによって返されます。
  • ←→ rInfo
    • CDbGenInfo クラスのオブジェクト。これはソート情報ブロックとデータベースについての情報を指定、取得します。

返り値

成功時には SYNCERR_NONE を返します。SyncReadDBSortInfoBlock() はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_BytesRead フィールドには実際のブロック サイズがセットされます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_BytesRead フィールドには実際のブロック サイズがセットされます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_BytesReadm_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
    • 要求されたソート情報ブロックは利用できません。
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数は読み込むためにオープンされているクラシック データベースからソート情報ブロックを読み込みます。

この関数を使用するには、CDbGenInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_TotalBytes メンバに情報を埋め込みます。この関数がオブジェクトの残りのメンバに情報を埋め込みます。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CDbGenInfo, SyncOpenDB(), SyncCreateDB(), SyncWriteDBSortInfoBlock(), SyncReadDBAppInfoBlock()

SyncReadNextModifiedRec 関数 ^TOP^

目的

ハンドヘルド上のクラシック レコード データベースから次の変更、アーカイブ、削除されたレコードを取得します。この反復関数への各呼び出しはすべての変更されたレコードが取得されるまで次の変更されたレコードを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadNextModifiedRec (
   CRawRecordInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • CRawRecordInfo クラスのオブジェクト。これはレコードとデータベースについての情報を指定、取得します。呼び出し元は m_FileHandle, m_RecId, m_TotalBytes メンバに値を指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_RecId フィールドには正しい情報が埋め込まれます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_RecId フィールドには正しい情報が埋め込まれます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_BytesReadm_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
    • 取得すべき変更されたレコードはこれ以上存在しません。
  • SYNCERR_REMOTE_BUSY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_TotalBytesFileHandle メンバに情報を埋め込みます。あなたは m_TotalBytes にあなたが割り当てて m_pBytes に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。

この関数はレコードを取得し、それをバッファの中に保存し、rInfom_RecId フィールドに情報を埋め込みます。

ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、C/C++ Sync Suite Companion「データベースの初めから終わりまでの反復処理」 を参照してください。

あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncReadNextModifiedRecInCategory(), SyncReadNextRecInCategory(), SyncResetRecordIndex()

SyncReadNextModifiedRecInCategory 関数 ^TOP^

目的

ハンドヘルド上のクラシック レコード データベースからあるカテゴリに属する次の変更されたレコード - 削除、アーカイブ、変更されたレコードを含む - を取得します。この反復関数への各呼び出しはすべての変更されたレコードが取得されるまであるカテゴリに属する次の変更されたレコードを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadNextModifiedRecInCategory (
   CRawRecordInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • CRawRecordInfo クラスのオブジェクト。これはレコード、カテゴリ、それにデータベースについての情報を指定、取得します。呼び出し元は m_FileHandle, m_CatId, m_RecId, m_TotalBytes メンバに値を指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_RecId フィールドには正しい情報が埋め込まれます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_RecId フィールドには正しい情報が埋め込まれます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_BytesReadm_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
    • 取得すべき変更されたレコードはこれ以上存在しません。
  • SYNCERR_REMOTE_BUSY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_CatId メンバに情報を埋め込みます。あなたは m_TotalBytes にあなたが割り当てて m_pBytes に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。

この関数はレコードを取得し、それをバッファの中に保存し、rInfom_RecId フィールドに情報を埋め込みます。

ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、C/C++ Sync Suite Companion「データベースの初めから終わりまでの反復処理」 を参照してください。

あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncReadNextModifiedRec(), SyncReadNextModifiedRecInCategory(), SyncResetRecordIndex()

SyncReadNextRecInCategory 関数 ^TOP^

目的

ハンドヘルド上のクラシック レコード データベースからあるカテゴリに属するすべてのレコード - 削除、アーカイブ、変更されたレコードを含む - を取得します。この反復関数への各呼び出しはすべてのレコードが取得されるまであるカテゴリに属する次のレコードを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadNextRecInCategory (
   CRawRecordInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • CRawRecordInfo クラスのオブジェクト。これはレコード、カテゴリ、それにデータベースについての情報を指定、取得します。呼び出し元は m_FileHandle, m_CatId, m_RecId, m_TotalBytes メンバに値を指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリソースに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_RecId フィールドには正しい情報が埋め込まれます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_RecId フィールドには正しい情報が埋め込まれます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_BytesReadm_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
    • 取得すべきレコードはこれ以上存在しません。
  • SYNCERR_REMOTE_BUSY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_CatId メンバに情報を埋め込みます。あなたは m_TotalBytes にあなたが割り当てて m_pBytes に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。

この関数はレコードを取得し、それをバッファの中に保存し、rInfom_RecId フィールドに情報を埋め込みます。

ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、C/C++ Sync Suite Companion「データベースの初めから終わりまでの反復処理」 を参照してください。

あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncReadNextModifiedRec(), SyncReadNextModifiedRecInCategory(), SyncResetRecordIndex()

SyncReadOpenDbInfo 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースについての広範囲の情報を取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadOpenDbInfo (
   SyncReadOpenDbInfoParams &rParam,
   SyncDatabaseInfoType &rInfo
)

パラメータ

  • → rParam
    • データベース ハンドルとそのデータベースがどのようにオープンされたかを指定するタイプ SyncReadOpenDbInfoParams の構造体へのポインタ。
  • ← rInfo
    • データベースについての情報を受け取る SyncDatabaseInfoType の構造体へのポインタ。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を呼び出す前にデータベースすでに読み込める状態でオープンされていることを保証してください。SyncReadOpenDbInfo() を使用するには、SyncReadOpenDbInfoParams 構造体にデータベース ハンドルとデータベースがどのようにオープンされたかを指定するフラグを埋め込みます。この関数は SyncDatabaseInfoType 構造体にデータベースについての情報を埋め込みます。

互換性

同期マネージャ バージョン: 2.2 以降

  • Palm OS バージョン: 3.0 以降

参照

SyncReadOpenDbInfoParams SyncDatabaseInfoType, SyncFindDbByName(), SyncFindDbByTypeCreator()

SyncReadPositionXMap 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースからソートされた順番に並んだレコード ID のリストを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadPositionXMap (
   CPositionInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • 読み込むデータベースを指定し、ソートされた順番に並んだレコード ID を受け取る CPositionInfo クラスのオブジェクト。呼び出し元は m_FileHandle メンバを指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。開始インデックス m_FirstPos が範囲外の場合でもこの関数は SYNCERR_NONE を返し、その場合 m_NumReadIn は 0 にセットされるということに注意してください。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_FILE_NOT_OPEN
  • SYNCERR_LOCAL_BUFF_TOO_SMALL
    • rInfo.m_MaxEntries によって指定される値が 0x3FFF エントリよりも大きい。(m_TotalByesUInt16 であるので、バッファは 64 KB までに制限されます。つまり、このバッファは 16 K 個の 4 バイト レコード ID までに制限されます。)
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

コンジットはハンドヘルドのレコードの順番をデスクトップ コンピュータ上のデータベースに適用するためにこの関数を使用することができます。しかしながら、このアプローチは単純にハンドヘルド ソート基準を使ってデスクトップ レコードをソートするよりも遅くなるかもしれません。

この関数を使用するには、CPositionInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_FirstPos メンバに情報を埋め込みます。m_TotalBytes の値はあなたが割り当て、m_pBytes に代入したバッファのサイズでなければなりません。この関数を呼び出す前にデータベースは読み込める状態でオープンされていなければならないということに注意してください。

この関数はレコード ID を取得し、それらをバッファに保存し、rInfom_NumReadIn フィールドに情報を埋め込みます。

SyncReadPositionXMap() は取得されたレコード ID をあなたのデスクトップ コンピュータのバイト順序規則に変換します。各 4 バイト レコード ID はビッグ エンディアン (Motorola) バイト順序で返されます。このバイト順序では最上位バイトが低いメモリ アドレスに保存されます。これは同期マネージャのレコード読み込み関数の振る舞いとは異なります。これらの関数は ID をデスクトップ コンピュータのバイト順序に変換しません (訳者注: 原文では「変換する」 = "do convert" となっていましたが、それではこの後の文章とのつじつまが合わないので「変換しない」 = "don't convert" の誤りだと思われます)。このことはあなたが SyncReadPositionXMap() によって返されたレコード ID を他の同期マネージャ関数によって返されたレコード ID と比較する場合、まず後者をデスクトップ コンピュータのフォーマットに変換しなければなりません。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて


同期マネージャ バージョン 2.5

あなたが rInfo.m_MaxEntries に指定した値が 0x3FFF エントリよりも大きい場合、この関数は失敗し、SYNCERR_LOCAL_BUFF_TOO_SMALL を返します。このチェックはこのバージョンよりも前のものでは行われません。


同期マネージャ バージョン 2.4

開始インデックス (rInfo.m_FirstPos) が非 0 の場合に返されるレコードの数の値 (rInfo.m_NumReadIn) が正しく返されないというこの関数の問題は修正されています。このバージョンでは、m_pBytes 配列の中にあるレコード ID の数を正しく返します。


同期マネージャ バージョン 2.2

あなたが同期マネージャにレコード ID の部分集合を返すように要求した場合に同期マネージャがクラッシュするという問題は修正されています。この問題は同期マネージャ バージョン 2.2 以降では修正されています。

あなたはこれ以前のバージョンの同期マネージャ API では SyncReadPositionXMap() に 1 度にすべてのレコード ID を取得させることにより容易にこの問題を回避することができます。そうするには、以下のステップに従ってください:

  1. SyncGetDBRecordCount() 関数呼び出しによってデータベースの中にあるレコードの数を取得します。
  2. m_pBytes に多くのレコード ID を収容できるように割り当てを行います。必要となるサイズは以下のように算出します:++bufsize = count * sizeof(DWORD)
  3. すべてのレコード ID を取得するために SyncReadPositionXMap() を呼び出します。

参照

CPositionInfo

SyncReadRecordById 関数 ^TOP^

目的

ハンドヘルド上のクラシック レコード データベースから固有レコード ID でレコードを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadRecordById (
   CRawRecordInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • レコードとデータベースについての情報を指定、受け取る CRawRecordInfo クラスのオブジェクト。呼び出し元は m_FileHandle メンバを指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリコードに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_RecId フィールドには正しい情報が埋め込まれます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_RecId フィールドには正しい情報が埋め込まれます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_RecSizem_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
  • SYNCERR_RECORD_BUSY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_RecId メンバに情報を埋め込みます。あなたは m_TotalBytes にあなたが割り当てて m_pBytes に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。

この関数はレコードを取得し、それをバッファの中に保存し、rInfom_RecIndex フィールドに情報を埋め込みます。

あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncReadRecordByIndex(), SyncReadNextModifiedRec(), SyncReadNextModifiedRecInCategory(), SyncReadNextRecInCategory()

SyncReadRecordByIndex 関数 ^TOP^

目的

ハンドヘルド上のクラシック レコード データベースからインデックスでレコードを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadRecordByIndex (
   CRawRecordInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • レコードとデータベースについての情報を指定、受け取る CRawRecordInfo クラスのオブジェクト。呼び出し元は m_FileHandle メンバを指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリコードに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_RecId フィールドには正しい情報が埋め込まれます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_RecId フィールドには正しい情報が埋め込まれます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_RecSizem_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
  • SYNCERR_RECORD_BUSY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_RecIndex メンバに情報を埋め込みます。あなたは m_TotalBytes にあなたが割り当てて m_pBytes に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。

この関数はレコードを取得し、それをバッファの中に保存し、rInfom_RecId フィールドに情報を埋め込みます。

あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncReadRecordById(), SyncReadNextModifiedRec(), SyncReadNextModifiedRecInCategory(), SyncReadNextRecInCategory()

SyncReadResRecordByIndex 関数 ^TOP^

目的

ハンドヘルド上のオープンされているリソース データベースからインデックスでリソース レコードを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncReadResRecordByIndex (
   CRawRecordInfo &rInfo,
   SInt32 bBody=TRUE
)

パラメータ

  • ←→ rInfo
    • レコードとデータベースについての情報を指定、受け取る CRawRecordInfo クラスのオブジェクト。呼び出し元は m_FileHandle メンバを指定しなければなりません。
  • → bBody
    • ブール値。これが TRUE の場合、リソース データは取得され、rInfom_pBytes バッファに保存されます。そうでない場合、rInfo の他のフィールドに情報が埋め込まれますが、リソース データはコピーされません。

返り値

成功時には SYNCERR_NONE を返します。この関数はたとえもしあなたが割り当てたバッファがリコードに対して小さすぎる場合であっても SYNCERR_NONE を返すということに注意してください。バージョンによる詳細は以下のようになっています:

  • あなたが同期マネージャ API のバージョン 2.1 以降を使用している場合、ブロック データの最初の m_TotalBytes があなたのバッファにコピーされ、rInfom_RecId フィールドには正しい情報が埋め込まれます。
  • あなたが同期マネージャ API のバージョン 2.1 よりも前のものを使用している場合、あなたのバッファには何もコピーされませんが、rInfom_RecId フィールドには正しい情報が埋め込まれます。

同期マネージャはこの条件でエラーを生成しないため、あなたは 0 のエラー コードで関数が返って来たときにテストをしなければなりません: m_RecSizem_TotalBytes よりも大きい場合、バッファは小さすぎます。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの m_pBytes バッファに割り当てを行い、オブジェクトの m_RecIndex メンバに情報を埋め込みます。あなたは m_TotalBytes にあなたが割り当てて m_pBytes に代入したバッファのサイズを埋め込まなければなりません。この関数を呼び出す前にデータベースは読み込むためにオープンされていなければなりません。

この関数はリソースを取得し、それをバッファの中に保存し、rInfom_RecId フィールドに情報を埋め込みます。

リソース データベースの初めから終わりまでの反復処理を開始するには、m_RecIndex に 0 をセットして、この関数を呼び出します。あなたがあとに続くリソースを前の m_RecIndex の値に +1 することで取得することができます。エラー コードが返されるまでこの関数を呼び出し続けます。あなたは m_RecIndex の値が「リフレッシュ」されることを保証しなければなりません。なぜなら、この関数はそのフィールドをその中にリソース ID を返すことによって上書きするからです。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncWriteResourceRec()

SyncResetRecordIndex 関数 ^TOP^

目的

ハンドヘルド上のオープンされているクラシック レコード データベースの反復処理のインデックスをリセットします。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncResetRecordIndex (
   HSByte fHandle
)

パラメータ

  • → fHandle
    • ハンドヘルド上のオープンされているレコード データベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 関数への呼び出しによって返されます。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

SyncReadNextRecInCategory()SyncReadNextModifiedRecInCategory() などの関数でデータベースの初めから終わりまでを反復処理する前にこの関数を呼び出します。あなたは初めてデータベースの反復処理する前にはこの関数を呼び出す必要はありません; しかしながら、あなたがデータベースをオープンしている間にあなたのコンジットが同じデータベースに対して複数回反復処理を行う場合、あなたは 2 回目 (またはその後の) 反復処理を開始する前にこの関数を呼び出してインデックスをリセットする必要があります。

ハンドヘルドの初めから終わりまでの反復処理についての一般的な情報は、C/C++ Sync Suite Companion「データベースの初めから終わりまでの反復処理」 を参照してください。

あなたはデータベースの反復処理中にデータベースに変更を加えることは問題となる可能性があるということに注意する必要があります。更なる情報は、C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

参照

SyncReadNextModifiedRec(), SyncReadNextModifiedRecInCategory(), SyncReadNextRecInCategory(), SyncOpenDB(), SyncCreateDB()

SyncResetSyncFlags 関数 ^TOP^

目的

ハンドヘルド上のオープンされているクラシック レコード データベースの中にあるすべてのレコードの変更フラグをリセットします。オープンされているクラシック レコード データベースまたはリソース データベースのバックアップ日付をリセットします。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncResetSyncFlags (
   HSByte fHandle
)

パラメータ

  • → fHandle
    • ハンドヘルド上のデータベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 関数への呼び出しによって返されます。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN
  • SYNCERR_READ_ONLY

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

fHandle がレコード データベースへのハンドルである場合、そのデータベースは読み込み/書き込みできる状態でオープンされていなければなりません。fHandle がリソース データベースへのハンドルである場合、そのデータベースは読み込み専用または読み込み/書き込み可能な状態のどちらかでオープンさせておくことができます。

レコード フラグについての更なる情報は、{{goto eSyncRecAttrs,"eSyncRecAttrs"|C/C++ Sync Suite Reference601/5}} を参照してください。

NOTE
SyncResetSyncFlags() はクラシック データベースに対してのみ機能します。スキーマ データベースの変更状態をリセットするには、代わりに SyncDbCloseDatabase()|C/C++ Sync Suite Reference601/2 の説明を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

参照

eSyncRecAttrs, SyncOpenDB(), SyncCreateDB()

SyncWriteAppPreference 関数 ^TOP^

目的

アプリケーション設定 をハンドヘルド上の設定データベースに書き込みます。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncWriteAppPreference (
   CRawPreferenceInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • アプリケーション設定についての情報を指定、受け取る CRawPreferenceInfo クラスのオブジェクト。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_UNKNOWN_REQUEST

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawPreferenceInfo クラスのオブジェクトの中の m_pBytes バッファに割り当てを行い、そのバッファに設定情報を保存し、オブジェクトの以下の他のメンバに情報を埋め込みます: m_version

設定ブロックの中にあるデータの構造体はアプリケーションに依存します同期マネージャはそれを送信するときにいかなる形であってもこのデータを変更することはありません。このことはマルチ バイト整数データはビッグ エンディアン バイト順序 - 最上位バイトはメモリのより低いアドレスに保存される - を使って保存されるということです。あなたのコンジットは何らかの必要なバイト入れ替えを行う責任を負います。あなたは設定ブロックのバージョンとサイズとがハンドヘルド上で実行されているアプリケーションのバージョンと互換性を保つことを保証しなければなりません。非適切なサイズの設定ブロックを書き込むことはデータベースを破壊する可能性があります。

重要
あなたは設定ブロックのバージョンとサイズとがハンドヘルド上で実行されているアプリケーションのバージョンと互換性を保つことを保証しなければなりません。非適切なサイズの設定ブロックを書き込むことはデータベースを破壊する可能性があります。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: 2.0 以降

Palm OS Garnet やそれ以前のリリースと同様に Palm OS Cobalt では、アプリケーション設定はもはや 64 KB より大きくなることはできません。それゆえ、あなたは上記のいずれかの Palm OS バージョンを実行しているハンドヘルドに設定を書き込むためにこの関数を使用することができます。

参照

CRawPreferenceInfo, SyncReadAppPreference()

SyncWriteDBAppInfoBlock 関数 ^TOP^

アプリケーション情報 ブロックをハンドヘルド上のクラシック レコード データベースまたはリソース データベースに書き込みます。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncWriteDBAppInfoBlock (
   HSByte fHandle,
   CDbGenInfo &rInfo
)

パラメータ

  • → fHandle
    • ハンドヘルド上のクラシック レコード データベースまたはリソース データベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 関数への呼び出しによって返されます。
  • ←→ rInfo
    • アプリケーション情報ブロックとデータベースについての情報を指定する CDbGenInfo クラスのオブジェクト。

返り値

成功時には SYNCERR_NONE を返します。これはブロックがハンドヘルド データベースに書き込まれたことを意味します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_READ_ONLY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数はアプリケーション情報ブロックをハンドヘルド上のクラシック データベースに書き込みます。データベースは読み込み/書き込み可能な状態でオープンされていなければなりません。アプリケーション情報ブロックについての更なる情報は、Introduction to Conduit Development「カテゴリとアプリケーション情報ブロック」 を参照してください。

この関数を使用するには、CDbGenInfo クラスのオブジェクトの中の m_pBytes バッファに割り当てを行い、そのバッファにソート情報を保存します。それから、m_BytesReadm_TotalBytes メンバにデータ バッファのサイズをセットします。

重要
以前のバージョンの同期マネージャ API には問題があるため、SyncWriteDbAppInfoBlock() を呼び出す前にあなたは情報ブロックのサイズをあなたの CDbGenInfo オブジェクトの m_BytesReadm_TotalBytes フィールドの両方に代入しなければなりません。

ハンドヘルド データベースからアプリケーション情報ブロックを完全に削除するには、m_TotalBytesm_BytesRead の両方に 0 をセットします。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

参照

CDbGenInfo, SyncReadDBAppInfoBlock()

SyncWriteDBSortInfoBlock 関数 ^TOP^

目的

ソート情報をハンドヘルド上のクラシック レコード データベースまたはリソース データベースに書き込みます。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncWriteDBSortInfoBlock (
   HSByte fHandle,
   CDbGenInfo &rInfo
)

パラメータ

  • → fHandle
    • ハンドヘルド上のデータベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 関数への呼び出しによって返されます。
  • ←→ rInfo
    • アプリケーション設定についての情報を指定、受け取る CDbGenInfo クラスのオブジェクト。

返り値

成功時には SYNCERR_NONE を返します。これはブロックがハンドヘルド データベースに書き込まれたことを意味します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_READ_ONLY
  • SYNCERR_NO_FILES_OPEN

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数はソート情報ブロックを読み込み/書き込み可能状態でオープンされているハンドヘルド上のクラシック データベースに書き込みます。

この関数を使用するには、CDbGenInfo クラスのオブジェクトの中の m_pBytes バッファに割り当てを行い、そのバッファにソート情報を保存します。それから、あなたのバッファのサイズを m_TotalBytes フィールドに代入します。

ハンドヘルド データベースからソート情報ブロックを完全に削除するには、m_TotalBytes に 0 をセットします。

実行最適化情報は、C/C++ Sync Suite Companion同期マネージャとパフォーマンス」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

参照

CDbGenInfo, SyncReadDBSortInfoBlock()

SyncWriteRec 関数 ^TOP^

目的

レコードをハンドヘルド上のクラシック レコード データベースに書き込みます。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncWriteRec (
   CRawRecordInfo &rInfo
)

パラメータ

  • ←→ rInfo
    • レコードとデータベースについての情報を指定し、受け取る CRawRecordInfo クラスのオブジェクト。呼び出し元は m_FileHandle を指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN
  • SYNCERR_BAD_OPERATION
  • SYNCERR_READ_ONLY

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数は書き込み可能状態でオープンされているクラシック データベースに以下の書込み操作を実行することができます:

  • レコード ID を指定することによって既存のレコードを上書きすることができます。
  • レコード ID に 0 を指定することによって新しいレコードを追加することができます。ハンドヘルド上のデータ マネージャは新しいレコード ID を代入する責任を負うということに注意してください。

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの中の m_pBytes バッファに割り当てを行い、そのバッファにレコード情報を保存します。それから、あなたのバッファのサイズを m_RecSize フィールドに代入し、残りのフィールドにレコードについての情報を埋め込みます。

あなたは新しいレコードがデータベースのどの位置になるかを指定することはできず、新しいレコードがデータベースの最後に追加されるということを保証することもできません。同期操作の完了時に、ハンドヘルド上のアプリケーションには sysAppLaunchCmdSyncNotify 通知が送られ、その時点でアプリケーションは必要とされるデータベースのソートや更新を行うことができます。

あなたが Palm OS のバージョン 3.0 より前のものを実行しているハンドヘルドに書き込みを行うとき、書き込まれるレコードは常に変更されたというマークを付けられます。Palm OS ソフトウェア バージョン 3.0 では、eRecAttrDirtyrInfom_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「反復処理中のデータベースへの変更」 を参照してください。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

バージョンによる振る舞いの違いは「返り値」を参照してください。

参照

CRawRecordInfo, SyncReadRecordById(), SyncReadRecordByIndex()

SyncWriteResourceRec 関数 ^TOP^

目的

リソースをハンドヘルド上のクラシック リソース データベースに書き込みます。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncWriteResourceRec (
   CRawRecordInfo &rInfo
)

パラメータ

  • → rInfo
    • リソースとデータベースについての情報を指定する CRawRecordInfo クラスのオブジェクト。呼び出し元は m_FileHandle メンバを指定しなければなりません。

返り値

成功時には SYNCERR_NONE を返します。これはリソースが書き込まれたことを意味します。

不成功時には以下のエラー コード値の 1 つを返します。

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN
  • SYNCERR_BAD_OPERATION
  • SYNCERR_READ_ONLY

すべての同期マネージャ エラー コードの記述は 「共通同期マネージャ エラー コード」 を参照してください。

コメント

この関数を使用するには、CRawRecordInfo クラスのオブジェクトの中の m_pBytes バッファに割り当てを行い、そのバッファにリソース情報を保存します。それから、あなたのリソースのサイズを m_RecSize フィールドに代入し、m_FileHandle に情報を埋め込まなければなりません。この関数を呼び出す前にデータベースは書き込み可能な状態でオープンされていなければなりません。

互換性

同期マネージャ バージョン: 2.0 以降

  • Palm OS バージョン: すべて

参照

CRawRecordInfo, SyncReadResRecordByIndex()

← 4 章のページ 1 へ ↑ 4 章のトップへ

← 3 章に戻る? ↑トップへ 5 章に進む →