Palm Programmer's Laboratory

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

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

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

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

↑ 4 章のトップへ 4 章のページ 2 へ →

クラシック同期マネージャ クラス ^TOP^

この節では、以下のクラス - 「クラシック同期マネージャ関数」 で説明されているクラシック同期マネージャ関数だけがパラメータとしてとる - について説明します。クラシック同期マネージャ関数とともに拡張同期マネージャ関数も使用する追加のクラスについては 「共通同期マネージャ クラス」 で説明します。これらのクラスはデータ メンバを定義しているだけで、メソッドは定義していません。

同期マネージャ バージョン 2.4 で導入された関数はこれらのクラスを使用しません。

クラス 説明
CCallModuleParams SyncCalRemoteModule() がハンドヘルドのアプリケーション/モジュールとやりとりする情報を定義します。
CDbCreateDB SyncCreateDB() 関数で作成されるデータベースについての情報を定義します。
CDbGenInfo データベース ヘッダの中のアプリケーション情報ブロックまたはソート情報ブロックについての情報を定義します。
CPositionInfo SyncReadPositionXMap() 関数がハンドヘルド上のデータベースからソートされたレコード ID のリストを取得する方法を定義します。
CRawPreferenceInfo アプリケーション設定ブロック(64 K バイトよりも小さく、SyncReadAppPreference()SyncWriteAppPreference() でアクセスされます)を定義します。
CRawRecordInfo SyncCreateDB() 関数で作成されるデータベースについての情報を定義します。

CCallModuleParams ^TOP^

目的

SyncCallRemoteModule() がハンドヘルド上のアプリケーション/モジュールとやり取りする情報を定義します。

宣言されている場所

SyncMgr.h

Prototype

class CCallModuleParams {
   public:
   UInt32 m_dwCreatorID;
   UInt32 m_dwTypeID;
   UInt16 m_wActionCode;
   UInt32 m_dwParamSize;
   void *m_pParam;
   UInt32 m_dwResultBufSize;
   void *m_pResultBuf;
   UInt32 m_dwResultCode;
   UInt32 m_dwActResultSize;
   UInt32 m_dwReserved;
}

データ メンバ

  • m_dwCreatorID
    • ターゲットのハンドヘルド アプリケーションの作成者 ID を指定します。
  • m_dwTypeID
    • ターゲットのハンドヘルド アプリケーションのタイプ ID を指定します。
  • m_wActionCode
    • 実行するアプリケーション-指定アクション コードを指定します。
  • m_dwParamSize
    • m_pParam 配列のバイト数を指定します。
  • m_pParam
    • パラメータ ブロックへのポインタを指定します。
  • m_dwResultBufSize
    • m_pResultBuf 配列のトータルのバイト数を指定します。
  • m_pResultBuf
    • 結果を収めるバッファへのポインタを指定します。
  • m_dwResultCode
    • ハンドヘルド アプリケーション/モジュールによって返される結果コードを受け取ります。
  • m_dwActResultSize
    • 結果のデータの実際のサイズを受け取ります。
  • m_dwReserved
    • 将来使用するために予約されています。呼び出し元は同期マネージャ関数を呼び出す前にこのメンバに NULL0)をセットしなければなりません。

コメント

m_pResultBuf が指すバッファがすべてのデータを収容するのに十分な大きさがない場合、m_dwActResultSize の値は m_dwResultBufSize の値よりも大きくなります。この場合、関数はデータの m_dwResultBufSize バイト分だけをバッファにコピーします。

互換性

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

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

CDbCreateDB ^TOP^

目的

SyncCreateDB() 関数で作成されるデータベースについての情報を定義します。

宣言されている場所

SyncMgr.h

Prototype

class CDbCreateDB {
   public:
   HSByte m_FileHandle;
   UInt32 m_Creator;
   eDbFlags m_Flags;
   HSByte m_CardNo;
   char m_Name[SYNC_DB_NAMELEN];
   UInt32 m_Type;
   UInt16 m_Version;
   UInt32 m_dwReserved;
}

データ メンバ

  • m_FileHandle
    • 作成されたデータベースへのハンドルを取得します。
  • m_Creator
    • 作成されるデータベースの 4 バイトの作成者 ID を指定します。アプリケーションをリリースする前に、作成者 ID を PalmSource の Web サイトに登録しなくてはなりません。PalmSource 社はすべて小文字で構成される作成者 ID を予約しています。
  • m_Flags
    • 作成されるデータベースについてのいくつかの特性を指定する eDbFlags 値(クラシック レコード データベースまたはリソース データベースかスキーマ データベースかに関係なく、そのデータベースがバックアップされるかどうかに関係なく、など)。
  • m_CardNo
    • データベースが保存されるメモリ カードの番号を指定します。システムの最初のメモリ カードはカード番号 0 で、その後に続くカード番号は +1 ずつ増加します。複数の PalmOS メモリ カードをサポートする唯一のハンドヘルドであるある特定の HandSpring ハンドヘルドを除き、常に 0 を指定します。
  • m_Name
    • 作成されるデータベースの名前をサイズ SYNC_DB_NAMELEN の文字配列として指定します。
  • m_Type
    • 4 バイトのデータベース タイプを指定します。Palm OS は特定の機能をいくつかの識別値 - 'DATA', 'data', 'appl', 'panl', 'libr' を含む - と関連付けます。
  • m_Version
    • 新しいデータベースのためのアプリケーション指定バージョン番号を指定します。
  • m_dwReserved
    • 将来使用するために予約されています。あなたは SyncCreateDB() を呼び出す前にこの値に NULL (0) をセットしなくてはなりません。

互換性

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

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

参照

SyncCreateDB()

CDbGenInfo ^TOP^

目的

データベース ヘッダの中にある アプリケーション情報 ブロックまたはソート情報ブロックについての情報を定義します。

宣言されている場所

SyncMgr.h

Prototype

class CDbGenInfo {
   public:
   char m_FileName[SYNC_DB_NAMELEN];
   UInt16 m_TotalBytes;
   UInt16 m_BytesRead;
   HSByte *m_pBytes;
   UInt32 m_dwReserved;
}

データ メンバ

  • m_FileName
  • m_TotalBytes
    • m_pBytes 配列のトータルのバイト数を指定します。読み込み時には、呼び出し元はまずこのメンバに m_pBytes によって指されるバッファのサイズを指定します。書き込み時は、呼び出し元はまずこのメンバと m_BytesRead にブロックのうち書き込むサイズを指定します。
  • m_BytesRead
    • m_pBytes 配列の中の有用なバイト数を定義します。バージョン特有の振る舞いについては以下のコメントを参照してください。
  • m_pBytes
    • 呼び出し元がアプリケーション情報ブロック データまたはソート情報ブロック データのために割り当てたバッファへのポインタを指定します。
  • m_dwReserved
    • 将来使用するために予約されています。呼び出し元は同期マネージャ関数を呼び出す前に、このメンバに NULL (0) をセットします。

コメント

アプリケーション情報ブロックまたはソート情報ブロックを読み込むとき、呼び出し元は m_TotalBytes の値に m_pBytes によって指されるバッファのサイズを代入しなければなりません。アプリケーション情報ブロックまたはソート情報ブロックがバッファよりも大きい場合同期マネージャ関数は m_BytesRead にアプリケーション情報ブロックまたはソート情報ブロックの実際のサイズ - これは同期マネージャ関数が m_pBytes バッファにコピーするデータの量よりも大きくなる可能性があります - を代入します。この場合同期マネージャのバージョン 2.1 以降は、データの先頭から m_TotalBytes 分だけを呼び出し元のバッファにコピーします; バージョン 2.1 よりも前では、呼び出し元のバッファに何もコピーしません。

アプリケーション情報ブロックまたはソート情報ブロックを書き込むとき、呼び出し元はまず m_TotalBytesm_BytesRead の両方に書き込むデータのサイズをセットしなくてはなりません。

互換性

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

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

バージョンの違いによる動作の違いは「コメント」を参照してください。

参照

SyncReadDBAppInfoBlock(), SyncReadDBSortInfoBlock(), SyncWriteDBAppInfoBlock(), SyncWriteDBSortInfoBlock()

CPositionInfo ^TOP^

目的

SyncReadPositionXMap() 関数がどのようにハンドヘルド上のデータベースからソートされたレコード ID のリストを取得するかを定義します。

宣言されている場所

SyncMgr.h

Prototype

class CPositionInfo {
   public:
   HSByte m_FileHandle;
   UInt16 m_FirstPos;
   UInt16 m_MaxEntries;
   UInt16 m_NumReadIn;
   UInt16 m_TotalBytes;
   HSByte *m_pBytes;
}

データ メンバ

  • m_FileHandle
    • オープンされているクラシック データベースのハンドルを指定します。
  • m_FirstPos
    • 読み込む最初のレコード ID のインデックスを指定します。このインデックスはゼロ ベースです。
  • m_MaxEntries
    • 読み込むレコード ID の総数を指定します。この値は m_TotalBytes メンバの値と矛盾の無いものでなければならないことに注意してください: 各レコード ID は 4 バイトなので、m_TotalBytes の値は n_MaxEntries * 4 と等しくなければなりません。
  • m_NumReadIn
    • レコード ID の数を受け取ります。m_pBytes 配列で戻されるバイトのバイト数ではありません。
  • m_TotalBytes
    • m_pBytes によって指されるバッファのバイト数を指定します。この値は n_MaxEntries メンバの値と矛盾の無いものでなければならないことに注意してください: 各レコード ID は 4 バイトなので、m_TotalBytes の値は n_MaxEntries * 4 と等しくなければなりません。
  • *m_pBytes
    • レコード ID を受け取るためのバイトの配列を指すポインタを指定します。呼び出し元は SyncReadPositionXMap() を呼び出す前に割り当てこのバイトに割り当てを行わなければなりません。

互換性

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

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

{{goto "Sync Manager API, Version 2.4 Changes"同期マネージャ API バージョン 2.4 の変更点|C/C++ Sync Suite Reference601/A}} を参照してください。

参照

SyncReadPositionXMap()

CRawPreferenceInfo ^TOP^

目的

アプリケーション設定 ブロック - これは 64 K バイトよりも小さく、SyncReadPreference()SyncWritePreference() でアクセスされます - を定義します。

宣言されている場所

SyncMgr.h

Prototype

class CRawPreferenceInfo {
   public:
   UInt16 m_version;
   UInt32 m_creator;
   UInt16 m_prefId;
   UInt16 m_reqBytes;
   UInt16 m_retBytes;
   UInt16 m_actSize;
   SInt32 m_backedUp;
   SInt32 m_nBytes;
   HSByte *m_pBytes;
   UInt32 m_dwReserved;
}

データ メンバ

  • m_version
    • 設定のバージョン。書き込み時には、このメンバは呼び出し元によって指定されます。読み込み時には、ハンドヘルドから値を受け取ります。
  • m_creator
    • アクセスする設定作成者 ID を指定します。通常、この値はアプリケーションの作成者 ID と同じです。
  • m_prefId
    • アクセスする設定 ID を指定します。
  • m_reqBytes
    • 読み込み時には、このメンバは要求する設定の最大バイト数を指定します(値 0xFFFF はすべての設定情報を要求します)。この値は m_nBytes の値よりも大きくなってはいけません。書き込み時には、このメンバは無視されます。
  • m_retBytes
    • 読み込み時には、このメンバは呼び出し元のバッファにコピーされた設定のバイト数を受け取ります。書き込み時には、このメンバは無視されます。
  • m_actSize
    • 読み込み時には、このメンバはハンドヘルド上の設定の実際のサイズを受け取ります。呼び出し元のバッファの大きさが十分ではない場合、この値は m_nBytes よりも大きくなる可能性があります。書き込み時には、このメンバは無視されます。
  • m_backedUp
  • 同期マネージャ関数が 保存される (原文: Saves) 設定データベース - これは HotSync 実施中にバックアップされます - にアクセスする (TRUE) のか、それとも 保存されない (原文: Unsaved) 設定データベース - これはバックアップされません - にアクセスするのかを指定します。
  • m_nBytes
    • 読み込み時には、このメンバは呼び出し元によって割り当てられる m_pBytes 配列のサイズ - バイト数 - を指定します。書き込み時には、このメンバは書き込む設定データのバイト数を指定します。
  • m_pBytes
    • 設定情報のためのデータ バッファとして使用するバイト配列へのポインタを指定します。読み込み時には、このバッファは要求したデータを受け取ります。書き込み時には、このバッファは書き込むデータを保持します。どちらの場合でも、呼び出し元は同期マネージャ関数を呼び出す前にこのバッファを割り当てなければなりません。
  • m_dwReserved
    • 将来使用するために予約されています。呼び出し元は同期マネージャ関数を呼び出す前にこのメンバに NULL (0) をセットしなければなりません。

互換性

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

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

参照

SyncReadAppPreference(), SyncWriteAppPreference()

CRawRecordInfo ^TOP^

目的

クラシック レコード データベースまたはリソース データベースのレコードの構造を定義します。

宣言されている場所

SyncMgr.h

Prototype

class CRawRecordInfo {
   public:
   HSByte m_FileHandle;
   UInt32 m_RecId;
   UInt16 m_RecIndex;
   HSByte m_Attribs;
   SInt16 m_CatId;
   SInt32 m_ConduitId;
   UInt32 m_RecSize;
   UInt16 m_TotalBytes;
   HSByte *m_pBytes;
   UInt32 m_dwReserved;
}

データ メンバ

  • m_FileHandle
    • ハンドヘルド上のオープンされているクラシック データベースのハンドルを指定します。これは SyncCreateDB() または SyncOpenDB() 関数によって返されるハンドルです。
  • m_RecId
    • クラシック レコード データベースのレコード ID またはリソース データベースのリソース タイプを定義します。ID による読み込み時または削除時には、呼び出し元はこのメンバを指定します。インデックス(またはデータベースの最初から最後までの反復操作)による読み込み時には、このメンバはハンドヘルドからレコード ID を受け取ります。リソースの削除時には、このメンバはリソース タイプを指定します。書き込み時には、このメンバはレコード ID - これは常にハンドヘルドによって代入されます - を受け取ります。
  • m_RecIndex
    • レコード インデックスを定義します。インデックスによるレコードまたはリソースの読み込み時には、呼び出し元がこのメンバを指定します。リソースの読み込み時には、このメンバはハンドヘルドからリソース ID を受け取ります。リソースの削除時には、このメンバはリソース ID を指定します同期マネージャ バージョン 2.1 以降を使用しての ID によるレコードの読み込み時には、このメンバはハンドヘルドからレコード インデックスを受け取ります同期マネージャ バージョン 2.1 よりも前では、この値は定義されません。
  • m_Attribs
    • レコードの属性を定義します。読み込み時には、このメンバはハンドヘルドから属性を受け取ります。書き込み時には、このメンバは書き込む属性を指定します。このメンバは 1 つまたは複数の eSyncRecAttrs 値の組み合わせです。
  • m_CatId
    • レコードが所属しているカテゴリのインデックス (0 から 15 まで) を定義します。読み込み時には、このメンバはハンドヘルドからカテゴリ インデックスを受け取ります。書き込み時には、このメンバはレコードの所属するカテゴリを指定します。
  • m_ConduitId
    • このメンバは使用を推奨されなくなりました。
  • m_RecSize
    • m_pBytes 配列の中の有効なレコード データまたはリソース データのバイト数を定義します。読み込み時には、このメンバはレコードまたはリソースの実際のサイズを受け取ります。書き込み時には、このメンバは書き込むデータのサイズを指定します。詳細は以下のコメントを参照してください。
  • m_TotalBytes
    • 呼び出し元がレコード データまたはリソース データのために割り当てた m_pBytes のサイズを指定します。読み込み時には、このメンバはバッファのサイズを指定します。書き込み時には、このメンバは書き込むレコードまたはリソースのサイズを指定します。詳細は以下のコメントを参照してください。
  • m_pBytes
    • レコード データまたはリソース データのためのデータ バッファとして使用するバイト配列へのポインタを指定します。読み込み時には、このバッファは要求したデータを受け取ります。書き込み時には、このバッファは書き込むデータを保持します。どちらの場合でも、呼び出し元は同期マネージャ関数を呼び出す前にこのバッファを割り当てなければなりません。
  • m_dwReserved
    • 将来使用するために予約されています。呼び出し元は同期マネージャ関数を呼び出す前にこのメンバに NULL (0) をセットしなければなりません。

コメント

多くの同期マネージャ関数が、ハンドヘルドとクラシック データベース レコードとリソースを交換するために、CRawRecordInfo クラスのオブジェクトを使用します。各関数は、あなたがその関数を呼び出す前にオブジェクトのある特定のメンバに情報を埋め込むことを要求します; どのメンバに情報を埋め込まなければならないかは各関数のドキュメントで示されています。

レコードまたはリソースの読み込み時には、呼び出し元は m_pTotalBytesm_pBytes によって指されるバッファのサイズを埋め込まなければなりません同期マネージャ関数は m_RecSize にハンドヘルド上のレコードまたはリソースの実際のサイズを埋め込みます - これは、レコードまたはリソースがバッファよりも大きい場合、バッファ サイズ m_TotalBytes よりも大きくなる可能性があります。この場合同期マネージャのバージョン 2.1 以降はデータの最初の m_TotalBytes 分だけを呼び出し元のバッファにコピーします; 2.1 よりも前のバージョンは、呼び出し元のバッファに何もコピーしません

レコード データまたはリソース データの書き込み時には、呼び出し元はまず初めに m_TotalBytesm_RecSize の両方に書き込むデータのサイズをセットしなければなりません。

NOTE
バッファ サイズ m_TotalBytesUInt16 値です。そのため、CRawRecordInfo オブジェクトを使って読み書きできるのは 64 KB よりも小さな レコードとリソースだけです。クラシック データベースでの最大レコード サイズは 65,505 バイトです。

互換性

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

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

参照

SyncDeleteRec(), SyncDeleteResourceRec(), SyncReadNextModifiedRec(), SyncReadNextModifiedRecInCategory(), SyncReadNextRecInCategory(), SyncReadRecordById(), SyncReadRecordByIndex(), SyncReadResRecordByIndex(), SyncWriteRec(), SyncWriteResourceRec()

クラシック同期マネージャ構造体とタイプ ^TOP^

この節では、「クラシック同期マネージャ関数」 で説明されている関数でのみ使用する以下のデータ構造体とタイプについて説明します。クラシック同期マネージャ関数とともに拡張同期マネージャ関数とスキーマ同期マネージャ関数でも使用される構造体とタイプは 「共通同期マネージャ構造体とタイプ」 で説明されています。

構造体とタイプ 説明
SyncDatabaseInfoType ハンドヘルド上のデータベースについての情報を取得します。
SyncFindDbByNameParams SyncFindDbByName() でデータベースを検索するために使用される情報を指定します。
SyncFindDbByTypeCreatorParams SyncFindDbByTypeCreator() でデータベースを検索するために使用される情報を指定します。
SyncReadOpenDbInfoParams SyncReadOpenDbInfo() でハンドヘルド データベース情報を取得するための情報を指定します。

SyncDatabaseInfoType 構造体 ^TOP^

目的

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

宣言されている場所

SyncMgr.h

Prototype

typedef struct SyncDatabaseInfoType {
   CDbList baseInfo;
   UInt32 dwNumRecords;
   UInt32 dwTotalBytes;
   UInt32 dwDataBytes;
   UInt32 dwAppBlkSize;
   UInt32 dwSortBlkSize;
   UInt32 dwMaxRecSize;
   UInt32 dwReserved;
   UInt32 dwLocalID;
   UInt32 dwOpenRef;
} SyncDatabaseInfoType

フィールド

  • baseInfo
    • データベースについての基本的な情報を保持している CDbList オブジェクトを受け取ります。
  • dwNumRecords
    • データベースの中にあるレコードまたはリソースの数を受け取ります。このフィールドは SYNC_DB_INFO_OPT_GET_SIZE フラグがセットされている場合にのみ情報を埋め込まれます。
  • dwTotalBytes
    • データベースによって使用されている記憶装置の総バイト数 - オーバヘッドを含む - を受け取ります。このフィールドは SYNC_DB_INFO_OPT_GET_SIZE フラグがセットされている場合にのみ情報を埋め込まれます。
  • dwDataBytes
    • データベースがデータのために使用している記憶装置の総バイト数 - オーバヘッドを除く - を受け取ります。このフィールドは SYNC_DB_INFO_OPT_GET_SIZE フラグがセットされている場合にのみ情報を埋め込まれます。
  • dwAppBlkSize
    • アプリケーション情報ブロックのブロック サイズ - バイト数 - を受け取ります。このフィールドは SyncReadOpenDbInfo() によってのみ、かつ、SYNC_DB_INFO_OPT_GET_SIZE オプションがセットされている場合にのみ情報を埋め込まれます。
  • dwSortBlkSize
    • ソート情報ブロックのブロック サイズ - バイト数 - を受け取ります。このフィールドは SyncReadOpenDbInfo() によってのみ、かつ、SYNC_DB_INFO_OPT_GET_SIZE オプションがセットされている場合にのみ情報を埋め込まれます。
  • dwMaxRecSize
    • データベースの中にある最大のレコードまたはリソースのサイズを受け取ります。このフィールドは SyncReadOpenDbInfo() によってのみ、かつ、SYNC_DB_INFO_OPT_GET_MAX_REC_SIZE オプションがセットされている場合にのみ情報を埋め込まれます。
  • dwReserved
    • 将来使用するために予約されています。呼び出し元は同期マネージャ関数を呼び出す前にこのフィールドに NULL (0) をセットしなければなりません。
  • dwLocalID
  • 同期マネージャの内部でのみ使用される値を受け取ります。
  • dwOpenRef
  • 同期マネージャの内部でのみ使用される値を受け取ります。

互換性

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

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

参照

SyncFindDbByName(), SyncFindDbByTypeCreator(), SyncReadOpenDbInfo()

SyncFindDbByNameParams 構造体 ^TOP^

目的

SyncFindDbByName() でデータベースを検索するために使用される情報を指定します。

宣言されている場所

SyncMgr.h

Prototype

typedef struct SyncFindDbByNameParams {
   HSByte bOptFlags;
   UInt32 dwCardNum;
   char *pcDatabaseName;
} SyncFindDbByNameParams

フィールド

  • bOptFlags
  • dwCardNum
    • データベースが保存されているカードの番号を指定します。システムの最初のメモリ カードはカード番号 0 であり、それに続くカード番号は +1 されていきます。複数の Palm OS メモリ カードをサポートするある特定の HandSpring ハンドヘルドを除き、常に 0 を指定します。
  • pcDatabaseName
    • null で終了する文字列へのポイントでデータベース名を指定します。

互換性

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

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

参照

SyncFindDbByName()

SyncFindDbByTypeCreatorParams 構造体 ^TOP^

目的

SyncFindDbByTypeCreator() でデータベースを検索するために使用される情報を指定します。

宣言されている場所

SyncMgr.h

Prototype

typedef struct SyncFindDbByTypeCreatorParams {
   HSByte bOptFlags;
   HSByte bSrchFlags;
   UInt32 dwType;
   UInt32 dwCreator;
} SyncFindDbByTypeCreatorParams

フィールド

  • bOptFlags
  • bSrchFlags
    • データベースを検索するための検索オプションを指定します。呼び出し元は 「データベース検索オプション」 (SYNC_DB_INFO_OPT_...) からの値を組み合わせることができます。
  • dwType
    • 4 バイトのタイプ識別しでデータベース タイプを指定します。呼び出し元はすべてのデータベース タイプを検索するために値 0 を指定してワイルドカード検索を行うことができます。
  • dwCreator
    • 検索するデータベースの作成者 ID を指定します。すべての作成者 ID に対して検索を行うには値 0 を指定します。

互換性

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

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

参照

SyncFindDbByTypeCreator()

SyncReadOpenDbInfoParams 構造体 ^TOP^

目的

SyncReadOpenDbInfo() でハンドヘルド データベース情報を取得するための情報を指定します。

宣言されている場所

SyncMgr.h

Prototype

typedef struct SyncReadOpenDbInfoParams {
   HSByte bOptFlags;
   HSByte bDbHandle;
} SyncReadOpenDbInfoParams

フィールド

SyncOpenDB() または SyncCreateDB() 呼び出しから返されるオープンされたデータベースへのハンドルを指定します。

互換性

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

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

参照

SyncFindDbByTypeCreator()

クラシック同期マネージャ定数 ^TOP^

この節では、「クラシック同期マネージャ関数」 で説明されている関数でのみ使用する以下のプロセッサ定数について説明します。クラシック同期マネージャ関数とともに拡張同期マネージャ関数とスキーマ同期マネージャ関数でも使用される定数は 「共通同期マネージャ定数」 で説明されています。

定数 説明
使用を推奨されなくなった定数 CRawRecordInfo.m_Attribs で使用される新しい定数の使用を推奨されなくなったバージョン。この定数の代わりに eSyncRecAttrs 列挙体によって定義されている値を使用します。

使用を推奨されなくなった定数 ^TOP^

目的

CRawRecordInfo.m_Attribs で使用される新しい定数の使用を推奨されなくなったバージョン。以下で示すようにこの定数の代わりに eSyncRecAttrs 列挙体によって定義されている値を使用します。

宣言されている場所

SyncMgr.h

定数

#define ARCHIVE_BIT eRecAttrArchived
#define DELETE_BIT eRecAttrDeleted
#define DIRTY_BIT eRecAttrDirty
#define PRIVATE_BIT eRecAttrSecret

互換性

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

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

参照

eSyncRecAttrs, CRawRecordInfo

クラシック同期マネージャ関数 ^TOP^

この節では、クラシック データベースにのみアクセスする以下の関数について説明します。すべてのタイプのデータベースにアクセスする関数やデータベースにアクセスしないユーティリティ関数やマクロについては 「共通同期マネージャ関数とマクロ」 を参照してください。

関数 説明
SyncCallRemoteModule() ハンドヘルド上のモジュール(アプリケーション、パネル、他の実行可能なもの)を呼び出し、そのモジュールからあなたのコンジットにデータとステータス情報を返します。
SyncChangeCategory() クラシック データベースの中であるカテゴリ(ソース カテゴリ)からすべてのレコードを他のカテゴリ(ターゲット カテゴリ)に移動させます。
SyncCloseDB() SyncOpenDB() または SyncCreateDB() によってオープンされていたクラシック データベースをクローズします。
SyncCloseDBEx() SyncOpenDB() または SyncCreateDB() によってオープンされていたクラシック データベースをクローズし、オプションとしてそのデータベースのバックアップ日付と変更日付を更新します。
SyncCreateDB() 新しいクラシック データベースをハンドヘルド上に作成し、そのデータベースをオープンし、そのデータベースへのハンドルを返します。
SyncDeleteAllResourceRec() クラシック データベースからすべてのリソースを削除し、それらのデータを処分します。
SyncDeleteDB() ハンドヘルド上のクラシック データベースを削除します。
SyncDeleteRec() クラシック データベースからすべてのレコードを削除し、それらのデータを処分します。
SyncDeleteResourceRec() クラシック データベースからあるリソースを削除し、それのデータを処分します。
SyncFindDbByName() 名前とメモリ カード番号でハンドヘルド上のクラシック データベースを探し、見つかった場合はそのデータベースについての情報を返します。
SyncFindDbByTypeCreator() タイプと作成者 ID でハンドヘルド上のデータベースを探し、見つかった場合はそのデータベースについての情報を返します。
SyncGetDBRecordCount() ハンドヘルド上のあるクラシック データベースの総レコード数または総リソース数を取得します。
SyncMaxRemoteRecSize() ハンドヘルド上のクラシック データベースでサポートされるレコードまたはリソースの最大サイズを取得します。
SyncOpenDB() ハンドヘルド上の既存のクラシック データベースをオープンします。
SyncPurgeAllRecs() レコード ステータスに関係なくあるクラシック データベースからすべてのレコードを削除し、それらのデータを処分します。
SyncPurgeAllRecsInCategory() レコード ステータスに関係なくあるクラシック データベースからある特定のカテゴリに属するすべてのレコードを削除し、それらのデータを処分します。
SyncPurgeDeletedRecs() あるクラシック データベースから「削除された」または「アーカイブされた」というマークを付けられているすべてのレコードを削除し、それらのデータを処分します。
SyncReadAppPreference() ハンドヘルド上のアプリケーション データベースの 1 つからアプリケーションの設定ブロックを取得します。
SyncReadDBAppInfoBlock() ハンドヘルド上のクラシック データベースからアプリケーション情報ブロック - それが存在する場合は - を取得します。
SyncReadDBList() ハンドヘルド上のクラシック データベースのリストについての情報を取得します。
SyncReadDBSortInfoBlock() ハンドヘルド上のクラシック データベースからソート情報ブロック - それが存在する場合は - を取得します。
SyncReadNextModifiedRec() ハンドヘルド上のクラシック レコード データベースから次の変更された、アーカイブされた、削除されたレコードを取得します。この反復関数の各呼び出しはすべての変更されたレコードが返されるまで次の変更されたレコードを取得します。
SyncReadNextModifiedRecInCategory() ハンドヘルド上のクラシック データベースからあるカテゴリの中にある次の変更されたレコード - 削除されたレコードやアーカイブされたレコードを含む - を取得します。この反復関数の各呼び出しはすべての変更されたレコードが取得されるまであるカテゴリの中にある次の変更されたレコードを取得します。
SyncReadNextRecInCategory() ハンドヘルド上のクラシック レコード データベースからあるカテゴリの中にあるすべてのレコード - 削除、アーカイブ、変更されたレコードを含む - を取得します。この反復関数の各呼び出しはすべてのレコードが取得されるまであるカテゴリの中にある次のレコードを取得します。
SyncReadOpenDbInfo() ハンドヘルド上のクラシック データベースについての包括的な情報を取得します。
SyncReadPositionXMap() ハンドヘルド上のクラシック データベースからソートされた順番になっているレコード ID のリストを取得します。
SyncReadRecordById() ハンドヘルド上のクラシック レコード データベースから固有レコード ID でレコードを取得します。
SyncReadRecordByIndex() ハンドヘルド上のクラシック レコード データベースからインデックスでレコードを取得します。
SyncReadResRecordByIndex() ハンドヘルド上のオープンされているリソース データベースからインデックスでリソース レコードを取得します。
SyncResetRecordIndex() ハンドヘルド上のオープンされているクラシック レコード データベースのレコード反復インデックスをリセットします。
SyncResetSyncFlags() ハンドヘルド上のオープンされているクラシック レコード データベースの中にあるすべてのレコードの変更フラグをリセットします。オープンされているレコード データベースまたはリソース データベースのバックアップ日付をリセットします。
SyncWriteAppPreference() アプリケーション設定をハンドヘルド上の設定データベースに書き込みます。
SyncWriteDBAppInfoBlock() アプリケーション情報ブロックをハンドヘルド上のクラシック レコード データベースまたはクラシック リソース データベースに書き込みます。
SyncWriteDBSortInfoBlock() ソート情報ブロックをクラシック レコード データベースまたはクラシック リソース データベースに書き込みます。
SyncWriteRec() レコードをハンドヘルド上のクラシック レコード データベースに書き込みます。
SyncWriteResourceRec() リソースをハンドヘルド上のクラシック リソース データベースに書き込みます。

SyncCallRemoteModule 関数 ^TOP^

目的

ハンドヘルド上のモジュール(アプリケーション、パネル、その他の実行可能なもの)を呼び出し、そのモジュールからあなたのコンジットにデータとステータス情報を返します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncCallRemoteModule (

  CCallModuleParams *pParams

)

パラメータ

  • ←→ pParams
    • 呼び出されるモジュールの情報を指定し、呼び出されるモジュールから情報を受け取る CCallModuleParams クラスのオブジェクト。デスクトップからハンドヘルド アプリケーション渡される引数のサイズには 64 KB という制限があるということに注意してください。

返り値

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

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_UNKNOWN_REQUEST
    • ハンドヘルド上にモジュールが見つからなかった、または、ハンドヘルド上のモジュールはアクション コードをハンドルしなかった。
  • SYNCERR_LOCAL_BUFF_TOO_SMALL**結果を受け取るバッファが結果のデータを受け取るのに十分なほど大きくなかった。このケースでは、返り時に dwActResultSize の値は dwResultBufSize よりも大きくなり、dwResultBufSize バイト分だけが結果を受け取るバッファにコピーされます。

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

コメント

重要
この関数はクラシック データベース - これには 64K アプリケーション が保存されます - に対してのみ機能します。これは Palm OS Cobalt と Palm OS Garnet の両方で、またそれよりも前のハンドヘルドで機能します。Palm OS Cobalt ハンドヘルドで Palm OS Protein アプリケーション|Introduction to Conduit Development601/Glossay を呼び出すには、代わりに SyncCallDeviceApplication() を使用しなければなりません。

たいてのコンジットはこの関数を使用せずに仕事を達成することができます。PalmSource は絶対必要でない限りこの関数は使用しないように勧めています。

この関数は、呼び出し元が pParams パラメータの中の任意のデータを HotSync 中にハンドヘルド上のモジュールに送ることを可能にします。モジュールは pParams の中に可変サイズの情報を戻すことができ、この関数の返り時に呼び出し元はそれを検証することができます。

データとアクション コードのフォーマットは完全にモジュール特有であるということに注意してください。あなたが呼び出すハンドヘルド モジュールは Palm OS アプリケーションと同じ構造を持たなければなりません; しかしながら、そのモジュールはランチャには表示されないように所有者(訳者注: 作成者)のタイプ ID を持つことができます。

あなたがコンジットから SyncCallRemoteModule() を呼び出すとき、ハンドヘルド上のそのモジュールは sysAppLaunchCmdHandleSyncCallApp 起動コードで起動します。この起動コードをハンドルするために、そのハンドヘルド モジュールは PilotMain() に渡されるコマンド パラメータ ブロックを SysAppLaunchCmdHandleSyncCallAppType ポインタにキャストしなければなりません。SysAppLaunchCmdHandleSyncCallAppType 構造体はデスクトップに返される結果に渡す必要があるフィールドとともに呼び出し元がデスクトップ上の SyncCallRemoteModule() に渡したすべての情報を保持します。

ハンドヘルド モジュールは、sysAppLaunchCmdHandleSyncCallApp 起動コードを処理した後、DLServer (DLServer.h) の DlkControl() 関数を使って DlkCallAppReplyParamType 応答をデスクトップに送り返さなければなりません。

表 4.1表 4.2 はデスクトップ上の同期マネージャの CCallModuleParams クラスからハンドヘルド上の SysAppLaunchCmdHandleSyncCallAppTypeDlkCallAppReplyParamType 構造体へのいくつかの重要なマッピングです。


表 4.1 デスクトップ同期マネージャ CCallModuleParams からハンドヘルド SysAppLaunchCmdHandleSyncCallAppType へのマッピング

CCallModuleParams SysAppLaunchCmdHandleSyncCallAppType 構造体
m_wActionCode action
m_dwParamSize dwParamSize
m_pParam paramP


表 4.2 デスクトップ同期マネージャ CCallModuleParams からハンドヘルド DlkCallAppReplyPramType へのマッピング

CCallModuleParams SysAppLaunchCmdHandleSyncCallAppType 構造体
m_dwResultBufSize dwResultSize
m_pResultBuf resultP
m_dwResultCode dwResultCode

更なる情報とハンドヘルド アプリケーション コードの例は、Exploring Palm OS: System Management を参照してください。


Palm OS Cobalt ハンドヘルドのために

pParams->m_dwTypeID が 0 の場合、SyncCallRemoteModule() はタイプ sysFileTApplication を持つ DmFindDatabaseByTypeCreator(dmFindClassicDB) によって返される最初のアプリケーションを起動します; さもなければ、そのようなアプリケーションが存在しない場合、タイプ sysFileTPanel を持つ DmFindDatabaseByTypeCreator(dmFindClassicDB) によって返される最初のアプリケーションを起動します; さもなければエラーを返します。そのため SyncCallRemoteModule() は実際は 0 のセッティング m_dwTypeIDsysFileTApplication のタイプ ID を持つ最初の呼び出しに対するサブタイトルとして扱い、それからsysFileTPanel のタイプ ID として扱います。

上で注意書きされているように、この関数はクラシック データベースだけを呼び出します; Palm OS Cobalt ハンドヘルド上の Palm OS Protein アプリケーション を呼び出すために使用することはできません。

互換性

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

  • Palm OS バージョン: Palm OS 2.0 以降。「コメント」を参照してください。

Palm OS Cobalt を実行しているハンドヘルドでは、

ここから

参照

CCallModuleParams, SyncCallDeviceApplication()

SyncChangeCategory 関数 ^TOP^

目的

クラシック データベースの中にあるすべてのレコードをあるカテゴリ(ソース カテゴリ)から他のカテゴリ(ターゲット カテゴリ)に移動させます。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncChangeCategory (
   HSByte fHandle,
   HSByte from,
   HSByte to
)

パラメータ

  • → fHandle
    • ハンドヘルド上のクラシック データベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 呼び出しによって返されます。データベースは読み込み、書き込みのためにオープンされていなければなりません。
  • → from
    • ソース カテゴリのインデックス。これは 0 から 15 までの値でなければなりません。
  • → to
    • ターゲット カテゴリのインデックス。これは 0 から 15 までの値でなければなりません。

返り値

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

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN
  • SYNCERR_BAD_OPERATION
  • SYNCERR_READ_ONLY

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

コメント

この関数はハンドヘルド上のオープンされているデータベースの中の指定されたカテゴリに所属するすべてのレコードのカテゴリ インデックスを変更します。しかし、これはレコードの変更ステータスを変更することはしません。

fromto で指定されるカテゴリ インデックス値は 0 から 15 の範囲内でなければなりません。慣例ではインデックス 0 は未分類カテゴリであり、1 から 15 までのインデックス値は分類されたカテゴリのインデックス値です。

互換性

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

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

SyncCloseDB 関数 ^TOP^

目的

SyncOpenDB() または SyncCreateDB() でオープンされたクラシック データベースをクローズします。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncCloseDB (
   HSByte fHandle
)

パラメータ

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

返り値

成功時には SYNCERR_NONE を返します。これはデータベースはクローズされ、それのハンドルは破棄されたことを意味します。

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

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

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

コメント

同期マネージャは常にクラシック データベースを 1 つだけオープンさせておくことを許可します; それゆえ、あなたは他のクラシック データベースをオープンさせる、あるいは、あなたのコンジットを終了させる前にこの関数か SyncCloseDBEx() を使用しなければなりません。さもなければ、他のコンジットはクラシック データベースをオープンすることができなくなります。

互換性

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

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

参照

SyncCreateDB(), SyncOpenDB(), SyncCloseDBEx()

SyncCloseDBEx 関数 ^TOP^

目的

以前に SyncOpenDB() または SyncCreateDB() によってオープンされたクラシック データベースをクローズして、オプションとしてバックアップ日付と変更日付を更新します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncCloseDBEx (
   HSByte dbHandle,
   HSByte bOptFlags

)

パラメータ

  • → dbHandle
    • ハンドヘルド上のクラシック データベースへのハンドル。このハンドルはデータベースをオープンした SyncOpenDB() または SyncCreateDB() 呼び出しによって返されます。
  • → bOptFlags

データベースの日付を更新するためのオプション。あなたは 「データベース クローズ オプション」 で定義されている定数を組み合わせることができます。

返り値

成功時には SYNCERR_NONE を返します。これはデータベースはクローズされ、それのハンドルは破棄されたことを意味します。

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

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

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

コメント

この関数は SyncCloseDB() 関数の拡張バージョンです。SyncCloseDBEx() は追加のオプション フラグ パラメータ (bOptFlags) を取り、データベースをクローズするときにそのデータベースの変更日付とバックアップ日付を更新することができます。

ハンドヘルドが Palm OS のバージョン 3.0 よりも前のものを使用している場合、あなたは bOptFlags 引数に 0 の値を指定しなければなりません; さもないと、この関数は失敗します。

同期マネージャは常にクラシック データベースを 1 つだけオープンさせておくことを許可します; それゆえ、あなたは他のクラシック データベースをオープンさせる、あるいは、あなたのコンジットを終了させる前にこの関数か SyncCloseDB() を使用しなければなりません。さもなければ、他のコンジットはクラシック データベースをオープンすることができなくなります。

互換性

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

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

*Palm OS のバージョン 3.0 よりも前では、bOptFlags は 0 を指定されなければなりません。値が 0 のとき、SyncCloseDBExSyncCloseDB と同じように動作します。

参照

SyncCreateDB(), SyncOpenDB(), SyncCloseDB()

SyncCreateDB 関数 ^TOP^

目的

ハンドヘルド上に新しいクラシック データベースを作成し、そのデータベースをオープンし、そのデータベースへのハンドルを返します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncCreateDB (
   CDbCreateDB &rDbStats
)

パラメータ

  • ←→ rDbStats
    • CDbCreateDB クラスのオブジェクトの中で指定されるデータベース作成情報。このパラメータの m_FileHandle データ メンバはオープンされたデータベースへのハンドルを受け取ります。

返り値

成功時には SYNCERR_NONE を返します。これはデータベースは作成され、それのハンドルが rDbStatsm_FileHandle データ メンバに保存されたことを意味します。

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_FILE_ALREADY_EXIST
  • SYNCERR_TOO_MANY_OPEN_FILES
  • SYNCERR_FILE_NOT_OPEN

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

コメント

この関数はデータベースを作成した後、そのデータベースを排他的読み込み、書き込みアクセスで、プライベート(シークレット)レコードを表示でオープンします。

SyncCreateDB() は既存のデータベースを上書きすることはできません。あなたが既存のデータベースの名前でデータベースを作成しようとした場合、SyncCreateDBSYNCERR_FILE_ALREADY_EXIST エラーで失敗します。既存のデータベースを置き換えるには、あらかじめ古いデータベースを SyncDeleteDB() で削除し、それから新しいデータベースを作成するために SyncCreateDB() を呼び出します。

同期マネージャは常にクラシック データベースを 1 つだけオープンさせておくことを許可します; それゆえ、あなたはこの関数を呼び出す前にオープンされているクラシック データベースをクローズしなければなりません。さもなければ、他のコンジットはクラシック データベースをオープンすることができなくなります。

互換性

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

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

参照

CDbCreateDB, SyncDeleteDB(), SyncCloseDB(), SyncCloseDBEx()

SyncDeleteAllResourceRec 関数 ^TOP^

目的

クラシック データベースからすべてのリソースを削除し、それらのデータを処分します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncDeleteAllResourceRec (
   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_BAD_OPERATION
  • SYNCERR_READ_ONLY

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

コメント

この関数を呼び出す前に、データベースは読み込み、書き込み可能な状態でオープンされていなければなりません。

この関数はただちにリソースのデータ チャンクを処分し、リソースのエントリをデータベース ヘッダから削除します。

互換性

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

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

参照

SyncOpenDB(), SyncCreateDB()

SyncDeleteDB 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースを削除します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncDeleteDB (
   const char *pName,
   SInt32 nCardNum
)

パラメータ

  • → pName
    • ハンドヘルド上のデータベースの名前。これは null で終了する文字の配列です。
  • → nCardNum
    • ハンドヘルド上でデータベースが存在しているメモリ カードの番号。システムの最初のメモリ カードはカード番号 0 であり、その後に続くカード番号は +1 されていきます。複数の Palm OS メモリ カードをサポートするある特定の HandSpring ハンドヘルドを除き、常に 0 を指定します。

返り値

成功時には SYNCERR_NONE を返します。これはデータベースが削除されたことを意味します。

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
  • SYNCERR_FILE_NOT_OPEN
  • SYNCERR_FILE_ALREADY_OPEN

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

コメント

あなたはオープンされているデータベースを削除することはできません; あなたはまずデータベースをクローズしなければなりません。

互換性

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

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

参照

SyncCloseDB(), SyncCloseDBEx(), SyncCreateDB()

SyncDeleteRec 関数 ^TOP^

目的

クラシック データベースからレコードを削除し、それのデータを処分します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncDeleteRec (
   CRawRecordInfo &rInfo
)

パラメータ

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

返り値

成功時には 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
  • SYNCERR_NOT_FOUND

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

コメント

この関数はただちにレコードのデータ チャンクを処分し、データベース ヘッダからレコードのエントリを削除します。

レコードを削除する前に、データベースは読み込み、書き込み可能な状態でオープンされていなければいけません。あなたが削除したいレコードを指定するために、CRawRecordInfo クラスのオブジェクトを作成し、オブジェクトの m_FileHandle メンバと m_RecId メンバに情報を埋め込みます。レコード データとデータベースのレコード リストの中にあるそのレコードのエントリは完全に削除されます。

あなたが Palm OS のバージョン 2.0 よりも前のものを実行しているハンドヘルド上でレコードを削除した場合、HotSync 反復処理のインデックスは更新されないということに注意してください。

反復処理中のデータベースの変更に伴う起こる可能性のある問題についての説明は C/C++ Sync Suite Companion「反復処理中のデータベースへの変更」 を参照してください。

互換性

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

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

バージョンによる動作の違いについて「コメント」を参照してください。

参照

CRawRecordInfo

SyncDeleteResourceRec 関数 ^TOP^

目的

クラシック データベースからリソースを削除し、それのデータを処分します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncDeleteResourceRec (
   CRawRecordInfo &rInfo
)

パラメータ

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

返り値

成功時には 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
  • SYNCERR_NOT_FOUND

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

コメント

この関数はただちにリソースのデータ チャンクを処分し、データベース ヘッダからリソースのエントリを削除します。

リソースを削除する前に、データベースは読み込み、書き込み可能な状態でオープンされていなければいけません。あなたが削除したいリソースを指定するために、CRawRecordInfo クラスのオブジェクトを作成し、オブジェクトの m_FileHandle メンバ、m_RecId メンバ、それに m_RecIndex メンバに情報を埋め込みます。

互換性

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

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

参照

CRawRecordInfo

SyncFindDbByName 関数 ^TOP^

目的

ハンドヘルド上でクラシック データベースを名前とメモリ カード番号で検索し、見つかった場合はそのデータベースについての情報を返します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncFindDbByName (
   SyncFindDbByNameParams &rParam,
   SyncDatabaseInfoType &rInfo
)

パラメータ

  • → rParam
    • 探すデータベースの名前、カード番号、オプションを指定するタイプ SyncFindDbByNameParams の構造体。
  • ← rInfo
    • 見つかったデータベースについての情報を受け取るタイプ SyncDatabaseInfoType の構造体。

返り値

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

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

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

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

コメント

名前でデータベースを検索するために、呼び出し元は rParam で指される構造体にデータベース名と取得オプションを埋め込みます。この関数はデータベースについての情報を埋め込まれた構造体を戻してきます。

この関数はクラシック データベースに対してのみ検索を行います; この関数の検索には拡張データベースとスキーマ データベースは含まれません。

互換性

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

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

参照

SyncFindDbByNameParams, SyncDatabaseInfoType, SyncFindDbByTypeCreator()

SyncFindDbByTypeCreator 関数 ^TOP^

目的

ハンドヘルド上でクラシック データベースをタイプと作成者 ID で検索し、見つかった場合はそのデータベースについての情報を返します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncFindDbByTypeCreator (
   SyncFindDbByTypeCreatorParams &rParam,
   SyncDatabaseInfoType &rInfo
)

パラメータ

  • → rParam
  • ← rInfo
    • 見つかったデータベースについての情報を受け取るタイプ SyncDatabaseInfoType の構造体。

返り値

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

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

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

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

コメント

タイプと作成者 ID でデータベースを検索するために、呼び出し元は rParam で指される構造体にデータベース タイプ、作成者 ID、それに取得オプションを埋め込みます。この関数はデータベースについての情報を埋め込まれた構造体を戻してきます。

あなたはこの関数を使ってある特定のタイプまたは作成者 ID を持つ複数のデータベースを列挙することができます。ある特定の作成者 ID/タイプのペアに対して新しい検索を開始するには、呼び出し元は rParambSrchFlags フィールドに SYNC_DB_SRCH_OPT_NEW_SEARCH フラグを指定しなければなりません。開始後にその後に続く呼び出しはこのフラグを含まないようにしなければなりません。

この関数はデータベース列挙の中にあるデータベースの作成や削除をサポートしないということに注意してください。

この関数はクラシック データベースに対してのみ検索を行います; この関数の検索には拡張データベースとスキーマ データベースは含まれません。

互換性

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

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

参照

SyncFindDbByTypeCreatorParams, SyncDatabaseInfoType, SyncFindDbByName()

SyncGetDBRecordCount 関数 ^TOP^

目的

ハンドヘルド上のクラシック データベースの総レコードまたはリソース数を取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncGetDBRecordCount (
   HSByte fHandle,
   UInt16 &rNumRecs
)

パラメータ

  • → fHandle
    • ハンドヘルド上のクラシック データベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 呼び出しによって返されます。
  • ← nNumRecs
    • データベースの中にあるレコードまたはリソースの数。

返り値

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

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NO_FILES_OPEN

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

互換性

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

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

参照

SyncOpenDB(), SyncCreateDB()

SyncMaxRemoteRecSize 関数 ^TOP^

目的

ハンドヘルドじょのクラシック データベースでサポートされるレコードまたはリソースの最大サイズを取得します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncMaxRemoteRecSize (
   UInt32 &rdwMaxRecSize
)

パラメータ

  • ← rdwMaxRecSize
    • ハンドヘルド上に割り当てることができるレコードの最大サイズ (バイト数)。この値は許可される最大サイズです; ある特定のタイミングで割り当て可能な実際の最大サイズは利用可能なメモリ次第です。以下の特別な値に注意してください:
  • 0
    • 最大レコード サイズはわからないということを示しています。
  • 0xFFFFFFFF
    • サイズに制限が無い - 利用可能なメモリ次第では - ということを示しています。

返り値

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

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION

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

コメント

表 4.3 は Palm OS のバージョンでサポートされる最大レコード サイズについてを提供しています。


表 4.3 クラシック データベースの最大レコード サイズ

Palm OS バージョン 最大レコード サイズ (バイト数)
< 3.0 64,720
>= 3.0 65,505

NOTE:同期マネージャ バージョン 2.4 以降はハンドヘルド上の Palm OS のバージョンに関係なく値 65,505 だけを返してきます。


互換性

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

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

SyncOpenDB 関数 ^TOP^

目的

ハンドヘルド上の既存のクラシック データベースをオープンします。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncOpenDB (
   const char *pName,
   SInt32 nCardNum,
   HSByte &rHandle,
   HSByte openMode = (
   eDbWrite | eDbRead | eDbExclusive
   )
)

パラメータ

  • → pName
    • オープンするクラシック データベースの名前。これは null で終了する文字配列です。
  • → nCardNum
    • データベースが存在しているメモリ カードの番号。システムの最初のメモリ カードはカード番号 0 であり、それに続くカード番号は +1 されます。複数の Palm OS メモリ カードをサポートするある特定の HandSpring ハンドヘルドを除き、常に 0 を指定します。
  • ← rHandle
    • 返されるクラシック データベースへのハンドル。
  • → openMode
    • どのようにデータベースをオープンするか - 例えば、読み込み、書き込みできるようにオープンする - を指定する 1 つまたはそれ以上の eDbOpenModes 値の組み合わせ。

返り値

成功時には SYNCERR_NONE を返します。これはデータベースがオープンされたことを意味します。

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

  • SYNCERR_COMM_NOT_INIT
  • SYNCERR_LOST_CONNECTION
  • SYNCERR_REMOTE_SYS
  • SYNCERR_REMOTE_MEM
  • SYNCERR_REMOTE_BAD_ARG
  • SYNCERR_NOT_FOUND
  • SYNCERR_TOO_MANY_OPEN_FILES
  • SYNCERR_FILE_NOT_OPEN
  • SYNCERR_FILE_ALREADY_OPEN

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

コメント

同期マネージャは常にクラシック データベースを 1 つだけオープンさせておくことを許可します; それゆえ、あなたはこの関数を呼び出す前にオープンされているクラシック データベースをクローズしなければなりません。さもなければ、他のコンジットはクラシック データベースをオープンすることができなくなります。

互換性

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

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

参照

eDbOpenModes, SyncCloseDB(), SyncCloseDBEx()

SyncPurgeAllRecs 関数 ^TOP^

目的

レコード ステータスに関係なく、クラシック データベースからすべてのレコードを削除し、それらのデータを処分します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncPurgeAllRecs (
   HSByte fHandle
)

パラメータ

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

返り値

成功時には SYNCERR_NONE を返します。また、データベースがレコードを持たない場合も SYNCERR_NONE を返します。

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

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

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

コメント

この関数はただちにすべてのレコードのデータ チャンクを処分し、データベース ヘッダからレコードのエントリを削除します。

互換性

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

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

参照

SyncOpenDB(), SyncCreateDB(), SyncPurgeAllRecsInCategory()}

SyncPurgeAllRecsInCategory 関数 ^TOP^

目的

レコード ステータスに関係なく、クラシック データベースから指定されたカテゴリの中にあるすべてのレコードを削除し、それらのデータを処分します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncPurgeAllRecsInCategory (
   HSByte fHandle,
   SInt16 category
)

パラメータ

  • → fHandle
    • ハンドヘルド上のクラシック レコード データベースへのハンドル。このハンドルは SyncOpenDB() または SyncCreateDB() 呼び出しによって返されます。
  • → category
    • あなたが消去したいレコードが属しているカテゴリのインデックス。慣例では、値 0 は未分類カテゴリに使用し、1 から 15 までの値は分類カテゴリに使用します。

返り値

成功時には SYNCERR_NONE を返します。また、データベースがレコードを持たない場合も 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

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

コメント

指定されたデータベースとカテゴリに対して、この関数はただちにすべてのレコードのデータ チャンクを処分し、データベース ヘッダからレコードのエントリを削除します。

互換性

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

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

参照

SyncOpenDB(), SyncCreateDB()

SyncPurgeDeletedRecs 関数 ^TOP^

目的

クラシック データベースから「削除された」または「アーカイブされた」というマークを付けられたすべてのレコードを削除し、それらのデータを処分します。

宣言されている場所

SyncMgr.h

Prototype

SInt32 SyncPurgeDeletedRecs (
   HSByte fHandle
)

パラメータ

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

返り値

成功時には SYNCERR_NONE を返します。また、データベースがレコードを持たない場合も SYNCERR_NONE を返します。

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

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

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

コメント

削除ビットがセットされているすべてのレコードに対して、この関数はただちにすべてのレコードのデータ チャンクを処分し、データベース ヘッダからレコードのエントリを削除します。

fHandle パラメータは読み込み、書き込み可能状態でオープンされているクラシック データベースを指定しなければなりません。

互換性

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

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

参照

SyncOpenDB(), SyncCreateDB()

↑ 4 章のトップへ 4 章のページ 2 へ →

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