Palm Programmer's Laboratory

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

C/C++ Sync Suite Reference601/A

← 18 章に戻る ↑トップへ 付録 B に進む →

A 改訂履歴

この付録は CDK のバージョン 4.02 から後の各 CDK バージョンで追加された C/C++ Sync Suite 関数と他の Feature をリスト アップします。あなたは新しい関数や Feature を使用する前に、それらがエンド ユーザのデスクトップ コンピュータにインストールされている DLL に実装されていることを保証するためにチェックしなければなりません。たいていの API は API のバージョン番号を取得するための関数を含んでいます。あなたのアプリケーションがすべてのバージョンでは利用可能でない関数を呼び出す前に、それらの関数を使って API のバージョン番号をチェックすべきです。「バージョンを取得する」ための関数を持たない API に対しては、あなたは HotSync マネージャの実行形式ファイルのバージョンをチェックすることができます。

この付録の各節では CDK の以下のバージョンの変更点について説明します:

CDK のここ最近のリリースで利用可能になった機能強化と新しい Feature の要約については、Introduction to Conduit Development第 1 章 「Palm OS CDK の新機能」 を参照してください。

C/C++ Sync Suite 6.0.1 の変更点 ^TOP^

この節では CDK のバージョン 6.0.1 で変更された C/C++ Sync Suite の API と他の Feature をリスト アップします。

同期マネージャ API バージョン 2.5 の変更点 ^TOP^

同期マネージャ API のバージョン 2.5 では以下の変更がなされました:

  • SyncBackupDatabase() が追加されました。
  • SyncCallDeviceApplication()CCallApplicationParams が追加されました。
  • SyncCallRemoteModule()CCallModuleParamsSyncCommon.h から SyncMgr.h に移動させられました。この関数は Palm OS Garnet かそれ以前のハンドヘルドに対してのみ機能します。
  • SyncDmReadAppPreference()SyncDmWriteAppPreference() が削除されました。これらの関数は 64 KBにサイズを制限されない アプリケーション設定 を読み込み/書き込みするために設計されたものです。Palm OS Cobalt の バージョン 6.0.1 は 64 KB よりも小さな設定だけをサポートします。なぜなら、設定は クラシック データベース に保存されるからです。そのため、あなたはそれらの関数の代わりにクラシック同期マネージャ関数 SyncReadAppPreference()SyncWriteAppPreference() を使用しなければなりません。あなたのアプリケーションが 64 KB よりも大きな設定を保存する必要がある場合、あなたは他の手段を使わなければなりません - 例えば、設定をシステムのアプリケーション設定データベースではなくあなたのアプリケーション自体のデータベースに保存します。
  • SyncReadPositionXMap()「同期マネージャ バージョン 2.5」 で説明されている問題が修正されました。
  • #define SYNCAPI_VER_MINOR_5 が追加されました。

VFS マネージャ バージョン 1.1 の変更点 ^TOP^

VFS マネージャのバージョン 1.1 では以下の変更がなされました:

HotSync マネージャ 6.0.1 から削除されたファイル リンク API ^TOP^

ファイル リンク Feature は HotSync マネージャ 6.0.1 から削除されたため、ファイル リンク API を宣言していた Subscribe.h は CDK 6.0.1 から削除されました。

HotSync マネージャ 6.0.1 の HotSync ログ API の変更点 ^TOP^

以下の値は Activity 列挙体に追加されました:

  • slSyncSessionStart
  • slSyncSessionEnd
  • slSyncSessionCancelled
  • slError
  • slRecommendation
  • slHTMLText

HotSync マネージャのバージョン 6.0.1 から、HotSync ログは ASCII テキスト ファイルではなく HTML ファイルとして保存されるようになりました。「HotSync ログへのメッセージの追加」 を参照してください。

ファイル リンク Feature は HotSync マネージャ 6.0.1 から削除されたため、以下の Activity 列挙値は使用を推奨されなくなりました:

slDoubleModifySubsc

ユーザ データ API バージョン 4.2 の変更点 ^TOP^

ユーザ データ API のバージョン 4.2 では以下の変更がなされました:

  • アプリケーションがユーザのハンドヘルドの Palm OS バージョンを読み込めるようにするために、「Palm OS バージョンのセクションとキー名」#define が追加されました。HotSync マネージャはバージョンを各 HotSync の最中にユーザ データ保存場所に書き込みます。
  • UmIsUserNameValid() が追加されました。
  • 将来使用するためにエラー コード ERR_UM_NO_DEFAULT_USERERR_UM_MULTIPLE_USERS_EXISTS が追加されました。

HotSync マネージャ 6.0.1 の Palm OS 一般言語 API の変更点 ^TOP^

HotSync マネージャ バージョン 6.0.1 では、LANG_DLL.h の中の #define LANGUAGE_TCHINESE の値が 0x0404 から 0x4000 に変更されました。

HotSync マネージャ 6.0.1 のコンジット API の変更点 ^TOP^

ファイル リンク Feature は HotSync マネージャ 6.0.1 から削除されたため、以下のエントリ ポイントが CondAPI.h から削除されました:

  • ImportData()
  • ConfigureSubscription()
  • SubscriptionSupported()
  • UpdateTables()

CONDERR_SUBSCRIBE_FAILED エラー コードは使用を推奨されなくなりました。

HotSync マネージャ 6.0.1 の HotSync マネージャ API の変更点 ^TOP^

ファイル リンク Feature は HotSync マネージャ 6.0.1 から削除されたため、HsDisplayFileLink() は使用を推奨されなくなりました。

C/C++ Sync Suite 6.0a の変更点 ^TOP^

同期マネージャ API のバージョン 2.4 では以下の変更がなされました:

  • SyncCallRemoteModule()CCallModuleParamsSyncCommon.h から SyncMgr.h に移動させられました。なぜなら、この関数はクラシック リソース データベースであるアプリケーションと拡張 リソース データベースであるアプリケーションを区別することができないからです。そのため、Palm OS Garnet かそれ以前のハンドヘルドと同期するときにのみこの関数を呼び出してください。Palm OS Cobalt ハンドヘルドでは、この関数の代わりに SyncCallDeviceApplication() を呼び出してください。

C/C++ Sync Suite 6.0 の変更点 ^TOP^

この節では CDK のバージョン 6.0 で変更された C/C++ Sync Suite の API と他の Feature をリスト アップします。

同期マネージャ API バージョン 2.4 の変更点 ^TOP^

同期マネージャ API のバージョン 2.4 では以下の変更がなされました:

コンジット エントリ ポイント API の変更点 ^TOP^

コンジットが HotSync マネージャ 6.0 以降に対して機能するために実装するコンジット エントリ ポイント API のこのバージョンでは以下の変更がなされました:

    • eRegistrationInfo
    • eDoNotDisplayInCustomDialog
    • eRunAlways
    • eDoNotDisplayProgress
  • HotSync マネージャは変更され、それによりコンジットの MFC バージョンをチェックする必要がなくなりました。そのため、HotSync マネージャは GetConduitInfo()infoType パラメータに eMfcVersion 値を渡してくることはなくなりました。
  • これらの API 要素は 第 6 章 「コンジット エントリ ポイント API」 で定義されています。

コンジット マネージャ API バージョン 3 の変更点 ^TOP^

コンジット マネージャ API のバージョン 3 では以下の変更がなされました:

  • 同じシステム上の異なる Windows ユーザに対して異なるコンジットを登録する能力が追加されました。
  • DLL を特別なフォルダ - HotSync マネージャはこのフォルダを見つけ出し、そこにあるコンジットを通常通りに登録されたコンジットと同様に呼び出します - にコピーすることによって C API ベース コンジットを登録する能力が追加されました。
  • いくつかのコンジット コンフィグレーション エントリの使用が推奨されなくなりました。HotSync マネージャはそれらを取得/セットする API を使用しなくなりました。
  • 必須であり最も一般的に使用されるコンジット コンフィグレーション エントリだけを指定/受け取るために、新しいサイズを修正された CmConduitType2 が追加されました。
  • 使用されなくなったいくつかの #define 定数が削除されました: BACKUP_CONDUIT, MAX_SPECIAL, INVALID_CREATORID, INVALID_INTEGRATE, INVALID_PRIORITY
  • CmGetConduitCreatorID() は返り時に piSize パラメータを正しく実際のあるいは必要とされるクリエイタ ID 文字列のサイズに変更するようになりました。これより前のコンジット マネージャのバージョンでは、正しくありませんでした。
  • 以下のコンジット マネージャ関数が追加されました:

インストール コンジット マネージャ API バージョン 3 の変更点 ^TOP^

インストール コンジット マネージャのバージョン 3 では以下の変更がなされました:

  • 同じシステム上の異なる Windows ユーザに対して異なるインストール コンジットを登録する能力が追加されました。
  • インストーラがシステムのためにインストール コンジットを登録できるようにするために以下の関数が追加されました:

通知機能インストール マネージャ バージョン 3 の変更点 ^TOP^

通知機能インストール マネージャ API のバージョン 3 では以下の変更がなされました:

  • 同じシステム上の異なる Windows ユーザに対して異なる通知機能を登録する能力が追加されました。
  • インストーラがシステムのために通知機能を登録できるようにするために以下の関数が追加されました:

HotSync ログ API の変更点 ^TOP^

同期マネージャ バージョン 2.4 以降とともに出荷される HotSync ログ API のバージョンには以下の変更がなされました:

HotSync マネージャ API バージョン 2 の変更点 ^TOP^

HotSync マネージャ API のバージョン 2 では以下の変更がなされました:

  • HSFLAG_INSPECT_CONDUIT 定数が追加され、それにより HsSetAppStatus() は HotSync マネージャを開始するときに Conduit Inspector を開始できるようになりました。そうするためには、呼び出し元はこの定数を dwStartFlags パラメータに渡さなければなりません。「開始オプション」 を参照してください。
  • HsGetApiVersion() が返す値として HS_API_VERSION_2 定数が追加されました。この定数は 「HotSync マネージャ バージョン」 で定義されています。

VFS マネージャ API バージョン 1.0 の変更点 ^TOP^

VFS マネージャ API のバージョン 1.0 では以下の変更がなされました:

VFS マネージャ API バージョン番号は変更されていないということに注意してください: VFSGetAPIVersion()|C/C++ Sync Suite Reference601/10 は CDK 4.03 と同様にバージョン 1.0 を返します。

ユーザ データ API バージョン 4.1 の変更点 ^TOP^

ユーザ データ API のバージョン 4.1 では以下の変更がなされました:

ユーザ データ マネージャ API バージョン番号は変更されていないということに注意してください: UmGetLibVersion() は CDK 4.03 と同様にバージョン 4.1 を返します。

インストール援助機能 API バージョン 4.1 の変更点 ^TOP^

インストール援助機能 API のバージョン 4.1 では以下の変更がなされました:

ファイル リンク API の変更点 ^TOP^

HotSync マネージャ バージョン 6.0 では、ファイル リンクは使用を推奨されなくなりました。いずれかのデータベース タイプ (スキーマ、拡張、クラシック) に対するファイル リンクを実装するコンジットは以前どおりに機能し続けますが、カテゴリに対する制限は残っています: 15 文字までの名前を持つカテゴリが 16 個です。確かなアップグレード シナリオではファイル リンク カテゴリの中のレコードは複写されるようになります (訳者: 元のレコードとファイル リンクで二重になる)。

あなたが Visual C++ .NET で開発している場合は、あなたは Subs50.lib にリンクをはらなくてはなりません; あなたが Visual C++ バージョン 6 を使用している場合は、Subs30.lib にリンクをはってください。

Palm OS 一般言語 API の変更点 ^TOP^

HotSync マネージャ バージョン 6.0 では、#define LANGUAGE_SCHINESELAND_DLL.h に追加されました。

C/C++ Sync Suite 4.03 の変更点 ^TOP^

この節では CDK のバージョン 4.03 で変更された C/C++ Sync Suite の API と他の Feature をリスト アップします。

同期マネージャ API の変更点 ^TOP^

"eDbFlags" で説明されているように eDbFlags 列挙体に値が追加されました。新しい値は以下のものです:

  • eStream
  • eHidden
  • eLaunchableData
  • eRecyclable
  • eBundle

HotSync マネージャ API の変更点 ^TOP^

HSAPI.h ファイルでは、"HSConnectionType" で説明されているように HSConnectionType 列挙体は赤外線通信 (CtIR) と USB (CtUSB) 接続タイプを示すための値を含むようになりました。

ユーザ データ API バージョン 4.1 の変更点 ^TOP^

ユーザ データ API のバージョン 4.1 は UmGetUserPassword() 関数の問題に取り組んでいます。暗号化されたユーザ パスワードが NULL 文字を含んでいる場合、この関数は暗号化されたパスワードの NULL 文字までだけを返していましたが、見込みどおりに暗号化されたパスワード全体を返すようになりました。

C/C++ Sync Suite 4.02/4.02a の変更点 ^TOP^

この節では CDK のバージョン 4.02/4.02a で変更された C/C++ Sync Suite の API と他の Feature をリスト アップします。

拡張マネージャと VFS マネージャ バージョン 1.0 の変更点 ^TOP^

バージョン 1.0 は拡張マネージャと仮想ファイル システム マネージャ API の最初のリリースです。これらのデスクトップ API のバージョン番号を取得するには VFSGetAPIVersion()|C/C++ Sync Suite Reference601/10 を使用します。

これらの API についての詳細は、第 9 章 「拡張マネージャ API」第 10 章 「仮想ファイル システム マネージャ API」? を参照してください。

同期マネージャ API バージョン 2.3 の変更点 ^TOP^

同期マネージャのバージョン 2.3 の変更点は以下の 2 つの節で説明します:


関数

同期マネージャのバージョン 2.3 は SyncLoopBackTest() 関数を追加します。これはコンジット開発者は呼び出してはいけないテスト目的のプライベート関数です。


32 個以上のデータベースをサポートするための変更

同期マネージャのバージョン 2.3 は、あなたのコンジットが同じクリエイタ ID を持つ 32 個を超えるデータベースに関連付けられた場合に同期マネージャがクラッシュするという問題を修正しました。CSyncProperties クラスの中で、m_RemoteName 配列は誤って SYNC_DB_NAMELEN 個のエントリに制限されています。そのため、同期マネージャの以前のバージョンはあなたのコンジットがハンドヘルド上の同じクリエイタ ID を持つ 32 個を超えるデータベースに関連付けされた場合にクラッシュするかもしれません。互換性を保つためにこの制限は残っていますが、同期マネージャはデータベースの数が 32 を超えた場合に m_RemoteName がオーバフローしたり CSyncProperties の中のデータを破壊することを防ぐようになりました。しかしながら、あなたのコンジットが 32 個を超えるデータベースと関連付けされる場合、データベース名のリストを m_RemoteName からではなく m_RemoteDbList から取得するようにしてください。

ユーザ データ API バージョン 4.0 の変更点 ^TOP^

ユーザ データ API のバージョン 4.0 は Palm ハンドヘルド上の拡張スロットへのサポートを追加しました。ユーザ データ API のバージョンを見分ける方法については、「ユーザ データ API バージョン」 を参照してください。


関数

個のバージョンは以下の関数をユーザ データ API に追加します:

バージョン 4.0 では、UmGetUserID() は成功した場合に 0 を返し、pdwUserID にユーザ ID を戻します; 失敗した場合は負のエラー コードを返します。4.0 よりも前のバージョンでは、UmGetUserID() は成功した場合にユーザ ID (キャストされる前は正負どちらにでもなりうる値) を返し、同じ値を pdwUserID に戻しました; 失敗した場合、ユーザ ID が見つからなかった場合は 0 を、エラーが起きた場合は負の値を返しました。そのため、負の返り値はエラーを示しているかもしれませんし、そうではないかもしれなかったのです。バージョン 4.0 はこの問題を修正しました。


エラー コード

バージョン 4.0 は以下のエラー コードを追加します:

ERR_UM_DEV_CFG_DATA_NOT_AVAILABLE

インストール援助機能バージョン 4.0 の変更点 ^TOP^

このバージョンのインストール援助機能 API は Palm ハンドヘルド上の拡張スロットへのサポートを追加します。


関数

このバージョンはインストール援助機能 API に以下の関数を追加します:

バージョン 4.0 では、PltRemoveInstallFile() は失敗した場合に ERR_PALM_FILE_DELETE_FAILED を返します。これより前のバージョンでは、この関数は指定されたファイルが存在しない場合にエラー メッセージを返しませんでした。

C/C++ Sync Suite のバージョン 4.02 では、InstAide.dll で利用可能な関数はすべて InstAppd.h ではなく InstAide.h で宣言されています。InstAide.h をインクルードするようあなたのソースをアップデートしてください。


エラー コード

このバージョンは以下のエラー コードを追加します:

コンジット マネージャ バージョン 2 の変更点 ^TOP^

このバージョンのコンジット マネージャはインストール コンジット マネージャと通知機能インストール マネージャの関数を含みます。3 つのマネージャの関数はすべて CondMgr.dll で利用可能です。

C/C++ Sync Suite のバージョン 4.02 では、CondMgr.dll で利用可能な関数はすべて CondMgre.h ではなく CondMgr.h で宣言されています。CondMgr.h をインクルードするようにあなたのソースをアップデートしてください。


新しい関数

このバージョンは以下の新しいインストール コンジット マネージャ関数と通知機能インストール マネージャ関数を追加します:


使用を推奨されなくなった関数

通知機能インストール マネージャは通知機能を扱うための関数を導入したため、コンジット マネージャ API のバージョン 2 では以下の関数の使用が推奨されなくなりました:

  • CmSetNotifierDll()
  • CmGetNotifierDll()

これらの関数はコンジット マネージャ API のバージョン 2 でも機能し続けますが、将来は機能しなくなるかもしれません。そのため、これらの関数の代わりに通知機能インストール マネージャ関数を使用してください。詳細は 第 13 章 「通知機能インストール マネージャ API」 を参照してください。


新しいエラー コード

このバージョンのコンジット マネージャは以下のエラー コードを追加します:

パスワード ライブラリの変更点 ^TOP^

パスワード暗号化アルゴリズムは Palm OS バージョン 4.0 で変更されました。さらに、Palm OS 4.0 以降では、デバイス上のパスワードは大文字/小文字を区別されるようになりました; そのため、PwdVerify() はユーザの提供した文字列が - 大文字/小文字の区別も含めて - 保存されているパスワードと一致する場合にのみ true を返すようになりました。更なる情報は、PwdVerify() の説明を参照してください。

HotSync マネージャ API の変更点 ^TOP^

HsRefreshConduitInfo() 関数が HotSync マネージャ API に追加されました。

← 18 章に戻る ↑トップへ 付録 B に進む →