Palm Programmer's Laboratory

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

C/C++ Sync Suite Reference601/7

← 6 章に戻る ↑トップへ 8 章に進む →

7 HotSync ログ API

HotSync ログ API はコンジットがメッセージをキューに追加することを可能にします。キューに追加されたメッセージは後で HotSync ログに書き込まれます。メッセージは同期プロセスが終了するまでに HotSync ログに書き込まれます。

HotSync ログ関数は HSLog20.dll の中で利用可能であり、HSLog.h の中で宣言されています。

この章は以下の節に分かれています:

HotSync ログについての更なる情報は、Introduction to Conduit Development「HotSync ログへのメッセージの追加」 を参照してください。

HotSync ログ定数 ^TOP^

この節では、あなたが HotSync ログ関数で使用することができる列挙定数 Activity について説明します。

Activity 列挙体 ^TOP^

目的

コンジットに LogAddEntry() または LogAddFormattedEntry() を呼び出させてエントリをログに追加させるアクティビティを指定します。

宣言されている場所

HSLog.h

定数

  • slText = -1
    • コンジットにワーニング カウンタを増加させることなしにテキストをログに追加することを許可します。
  • slDoubleModify
    • レコードがデスクトップ コンピュータ上とハンドヘルド上の両方で変更されました。
  • slDoubleModifyArchive
    • デスクトップ上とハンドヘルド上の両方で変更されたレコードはアーカイブされました。
  • slReverseDelete
    • 片方で削除されたレコードは同じレコードが他方で変更されたためにレストアされました。
  • slTooManyCategories
    • これ以上カテゴリを追加することはできません。
  • slCategoryDeleted
    • カテゴリが削除されました。
  • slDateChanged
    • 日付が変更されました。
  • slCustomLabel
    • カスタム ラベルが変更されました。
  • slChangeCatFailed
    • カテゴリの変更に失敗しました。
  • slRemoteReadFailed
    • ハンドヘルド上でのレコードの読み込みに失敗しました。
  • slRemoteAddFailed
    • ハンドヘルドへのレコードの追加に失敗しました。
  • slRemotePurgeFailed
    • ハンドヘルド上でのレコードの削除 (purge, 複数のレコードを削除すること) に失敗しました。
  • slRemoteChangeFailed
    • ハンドヘルド上でのレコードの変更に失敗しました。
  • slRemoteDeleteFailed
    • ハンドヘルド上でのレコードの削除 (delete, 1 個のレコードを削除すること) に失敗しました。
  • slLocalAddFailed
    • デスクトップ コンピュータへのレコードの追加に失敗しました。
  • slRecCountMismatch
    • レコード カウントが一致しませんでした。
  • slXMapFailed
    • ポジションの相互マッピング操作に失敗しました。
  • slArchiveFailed
    • アーカイブ操作に失敗しました。
  • slLocalSaveFailed
    • デスクトップ コンピュータへのデータ保存に失敗しました。
  • slResetFlagsFailed
    • 同期フラグのリセットに失敗しました。
  • slSyncStarted
    • コンジットが同期操作を開始しました。
  • slSyncFinished
    • コンジットが同期操作を成功裏に完了しました。
  • slSyncAborted
    • 同期操作は中断されました。
  • slWarning
    • この定数はコンジットに提供された他のアクティビティのいずれかと適合しないというワーニングを記録させます。
  • slDoubleModifySubsc
    • ファイル リンク レコードがデスクトップ上で変更されました。この値はファイル リンク Feature が HotSync マネージャ 6.0.1 以降で削除されたために使用を推奨されなくなりました。
  • slFileLinkCompleted
    • ファイル リンクの処理が完了しました。この値はファイル リンク Feature が HotSync マネージャ 6.0.1 以降で削除されたために使用を推奨されなくなりました。
  • slFileLinkDeleted
    • ファイル リンクが削除されました。この値はファイル リンク Feature が HotSync マネージャ 6.0.1 以降で削除されたために使用を推奨されなくなりました。
  • slSyncDidNothing
    • ユーザはそのコンジットは同期の最中にいかなる操作も実行すべきではないと指示しました。あなたはこの値を HotSync マネージャ 6.0.1 以降でのみ使用することができます。
  • slSyncSessionStart

HotSync 操作が開始しました。HotSync マネージャ 6.0.1 以降のみがこの値を使用できます; コンジットは使用できません。

  • slSyncSessionEnd
    • HotSync 操作が完了しました。HotSync マネージャ 6.0.1 以降のみがこの値を使用できます; コンジットは使用できません。
  • slSyncSessionCancelled
    • ユーザは HotSync Progress ダイアログ ボックス上の Cancel をクリックしました。HotSync マネージャ 6.0.1 以降のみがこの値を使用できます; コンジットは使用できません。
  • slError
    • エラーが起こりました。あなたはこの値を HotSync マネージャ 6.0.1 以降でのみ使用することができます。
  • slRecommendation
    • ユーザに何かすることを推奨します - 例えば、コンジットの衝突を解決すること。あなたはこの値を HotSync マネージャ 6.0.1 以降でのみ使用することができます。
  • slHTMLText
    • このタイプのログ エントリは HTML タグまたは文字を含みます。この値を使用すると文字列は変更されずにログに渡され、それにより HTML フォーマットとなります。他のすべての Activity 値は HotSync ログ API に HTML 制御文字 (<, >, &) を HTML 等価文字 (&lt;, &gt;, &amp;) に置き換えさせます。あなたはこの値を HotSync マネージャ 6.0.1 以降でのみ使用することができます。

コメント

あなたのコンジットはどんなタイプのエントリをログに追加するのかを示すためにこれらの値を LogAddEntry() または LogAddFormattedEntry() に渡します。

更なる情報は、Introduction to Conduit Development「HotSync ログへのメッセージの追加」 を参照してください。

互換性

  • HotSync マネージャ バージョン: 上で説明された例外を除いて、すべて
  • Palm OS バージョン: すべて

参照

LogAddEntry(), LogAddFormattedEntry()

HotSync ログ関数 ^TOP^

この節では、あなたが HotSync ログへ書き込みすることを可能にする以下の関数について説明します。

関数 説明
LogAddEntry() メッセージをデスクトップ上の HotSync ログに追加します。
LogAddFormattedEntry() フォーマットされたメッセージをデスクトップ上の HotSync ログに追加します。
LogTestCounters() デスクトップ上の HotSync ログに追加されたメッセージの数を決定します。

LogAddEntry 関数 ^TOP^

目的

メッセージをデスクトップ上の HotSync ログに追加します。

宣言されている場所

HSLog.h

Prototype

long LogAddEntry (
   LPCTSTR pszEntry,
   Activity act,
   BOOL bTimeStamp
)

パラメータ

  • → pszEntry
    • ログに追加する文字列。
  • → act
    • コンジットにエントリをログに追加させるアクティビティ。これは Activity 列挙値のうちの 1 つです。
  • → bTimeStamp
    • true の場合、HotSync マネージャはタイム スタンプをログ エントリに付加します。

返り値

成功した場合、slNoError を返します。

成功しなかった場合、-1 を返します。

コメント

HotSync ログについての更なる情報は、Introduction to Conduit Development「HotSync ログへのメッセージの追加」 を参照してください。

互換性

  • HotSync マネージャ バージョン: すべて
  • Palm OS バージョン: すべて

参照

LogAddFormattedEntry(), Activity

LogAddFormattedEntry 関数 ^TOP^

目的

フォーマットされたメッセージをデスクトップ上の HotSync ログに追加します。

宣言されている場所

HSLog.h

Prototype

long LogAddFormattedEntry (
   Activity act,
   BOOL bTimeStamp,
   const char *dataString,
   ...
)

パラメータ

  • → act
    • コンジットにエントリをログに追加させるアクティビティ。これは A*{{span style='color:blue;font-family:monospace;'
    • true の場合、HotSync マネージャはタイム スタンプをログ エントリに付加します。
  • → dataString
    • フォーマットを指定する文字列。この文字列は標準 C ライブラリの sprintf() などにフォーマット指定として渡される文字列と同じものです。
  • → ...
    • dataString パラメータの中のフォーマット指定に対するパラメータ値。

成功した場合、slNoError を返します。

成功しなかった場合、-1 を返します。

コメント

HotSync ログについての更なる情報は、Introduction to Conduit Development「HotSync ログへのメッセージの追加」 を参照してください。

重要
dataString は 256 文字以内の文字列を指していなければなりません。それより長い文字列は HotSync マネージャをクラッシュさせる可能性があります。あなたが 256 文字を超えるフォーマット文字列をログに追加しなければならない場合、あなたはあなた自身のバッファで sprintf() を使用して、あなたのバッファをログに書き込むために LogAddEntry() を呼び出すことができます。

互換性

  • HotSync マネージャ バージョン: すべて
  • Palm OS バージョン: すべて

参照

LogAddEntry(), Activity

LogTestCounters 関数 ^TOP^

目的

デスクトップ上の HotSync ログに追加されたメッセージの数を決定します。

宣言されている場所

HSLog.h

Prototype

WORD LogTestCounters ()

パラメータ

ありません。

返り値

ログの中にあるメッセージの数を返します。ログがメッセージを持っていない場合は 0 を返します。

コメント

LogTestCounters() 関数は以下のアクティビティ タイプのログ エントリをカウントしません:

  • slSyncAborted
  • slSyncFinished
  • slSyncStarted
  • slText

互換性

  • HotSync マネージャ バージョン: 上で説明された例外を除いて、すべて
  • Palm OS バージョン: すべて

HotSync ログ API エラー コード ^TOP^

表 7.1 はいくつかの HotSync ログ API 関数が返す可能性のあるエラー コードの値をリスト アップしています。各関数の説明ではその関数が返す可能性のあるエラーはどれなのかを述べています。値 -1 と slNoError だけはこの API のパブリック関数のいずれかによって返されるということに注意してください。他の値はプライベート関数によってのみ使用されます。

以下の名前を付けられているエラー コードはすべて LogError 列挙体の値として定義されています。LogError 列挙体はヘッダ ファイル HSLog.h の中で宣言されています。


表 7.1 HotSync ログ API エラー コード

コード 説明
-1 - 関数は成功しませんでした。
0 slNoError エラー無し。
1 slBadStream このストリームは無効です。
2 slDeleteFileFailed 古いログ ファイルを削除できませんでした。
3 slMoveFileFailed 使用中のログ ファイルを指定された位置に移動させることができませんでした。

← 6 章に戻る ↑トップへ 8 章に進む →