- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
{{sitestyle zmxTopInTitle2,zmx2}}
{{div_begin class="header"}}
{{div_begin}}
[[← 5 章に戻る|C/C++ Sync Suite Reference601/5]] [[↑トップへ|C/C++ Sync Suite Reference601]] [[7 章に進む →|C/C++ Sync Suite Reference601/7]]
{{div_end}}
{{div_begin style="margin-bottom:-10px"}}
!!!6 コンジット エントリ ポイント API
{{div_end}}
{{div_begin id="menu"}}
{{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}}
*{{goto Conduit Entry Point API Structures,コンジット エントリ ポイント API 構造体}}
**{{goto CfgConduitInfoType,CfgConduitInfoType}}
**{{goto ConduitRequestInfoType,ConduitRequestInfoType}}
**{{goto RegistrationInfoType,RegistrationInfoType}}
*{{goto Conduit Entry Point API Constants,コンジット エントリ ポイント API 定数}}
**{{goto ConduitCfgEnum,ConduitCfgEnum}}
**{{goto ConduitInfoEnum,ConduitInfoEnum}}
**{{goto Conduit Priorities,コンジット優先度}}
**{{goto MFC Versions,MFC バージョン}}
**{{goto Structure Sizes for Conduit Entry Points,コンジット エントリ ポイントの構造体サイズ}}
**{{goto Structure Versions for Conduit Entry Points,コンジット エントリ ポイントの構造体バージョン}}
*{{goto Conduit-Defined Entry Point API Functions,コンジット定義 エントリ ポイント API 関数}}
**{{goto CfgConduit,CfgConduit}}
**{{goto ConfigureConduit,ConfigureConduit}}
**{{goto GetConduitInfo,GetConduitInfo}}
**{{goto GetConduitName,GetConduitName}}
**{{goto GetConduitVersion,GetConduitVersion}}
**{{goto OpenConduit,OpenConduit}}
*{{goto HotSync Manager Callback Function,HotSync マネージャ コールバック関数}}
**{{goto PROGRESSFN,PROGRESSFN}}
*{{goto Conduit Entry Point API Error Codes,コンジット エントリ ポイント API エラー コード}}
{{div_end}}
{{div_begin id="content"}}
{{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;'"}}
コンジットはこの章で説明されている必須のコンジット エントリ ポイント関数を実装しなければなりません。HotSync マネージャはコンジットを開始するためにそれらのエントリ ポイントを呼び出し、情報を渡し、ユーザがコンジットの操作をコンフィグレーションしたりコンジットから情報を取得したりすることを可能にします。
'''必須'''というマークが付いたコンジット エントリ ポイントは HotSync マネージャが呼び出すためにあなたのコンジット DLL の中に実装されなければなりません。他のエントリ ポイントはオプションであるか、あなたが特定の機能を実装する場合にのみ必須となります。これらのエントリ ポイント関数は {{span style='color:blue;font-family:monospace;',CondAPI.h}} の中で宣言されています。これらの関数によって使用される他のいくつかの要素は {{span style='color:blue;font-family:monospace;',SyncMgr.h}} と {{span style='color:blue;font-family:monospace;',Subscribe.h}} の中で宣言されています。
この章は以下の節に分かれています:
*{{goto Conduit Entry Point API Structures,コンジット エントリ ポイント API 構造体}}
*{{goto Conduit Entry Point API Constants,コンジット エントリ ポイント API 定数}}
*{{goto Conduit-Defined Entry Point API Functions,コンジット定義 エントリ ポイント API 関数}}
*{{goto HotSync Manager Callback Function,HotSync マネージャ コールバック関数}}
*{{goto Conduit Entry Point API Error Codes,コンジット エントリ ポイント API エラー コード}}
コンジット エントリ ポイントの実装については、''C/C++ Sync Suite Companion'' の [[第 3 章 「コンジット エントリ ポイントの実装」|C/C++ Sync Suite Companion601/3]] で説明されています。
!!{{anchor Conduit Entry Point API Structures}}コンジット エントリ ポイント API 構造体 {{goto top,^TOP^}}
この節では、あなたがコンジット エントリ ポイント API で使用する以下のデータ構造体について説明します。
,構造体,説明
,"{{goto CfgConduitInfoType,CfgConduitInfoType}}","HotSync マネージャがコンジットの {{span style='color:blue;font-family:monospace;',CfgConduit()}} エントリ ポイントを呼び出したときにコンジットに追加の情報を指定します。"
,"{{goto ConduitRequestInfoType,ConduitRequestInfoType}}","HotSync マネージャがコンジットの名前をリクエストするためにコンジットの {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} エントリ ポイントを呼び出したときにコンジットに追加の情報を指定します。"
,"{{goto RegistrationInfoType,RegistrationInfoType}}","HotSync マネージャがフォルダ登録コンジットの {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} エントリ ポイントを呼び出したときにコンジットについての登録情報を指定します。"
!{{anchor CfgConduitInfoType}}CfgConduitInfoType 構造体 {{goto top,^TOP^}}
'''目的'''
HotSync マネージャがコンジットの {{goto CfgConduit,CfgConduit()}} エントリ ポイントを呼び出したときにコンジットに追加の情報を指定します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
typedef struct CfgConduitInfoType {
UInt32 dwVersion;
UInt32 dwSize;
UInt32 dwCreatorId;
UInt32 dwUserId;
TCHAR szUser[64];
char m_PathName[BIG_PATH];
eSyncTypes syncPermanent;
eSyncTypes syncTemporary;
eSyncTypes syncNew;
eSyncPref syncPref;
} CFGCONDUITINFO
'''フィールド'''
*{{span style='color:blue;font-family:monospace;',dwVersion}}
**この構造体のバージョン番号を指定します。
*{{span style='color:blue;font-family:monospace;',dwSize}}
**この構造体のサイズ (バイト数) を指定します。
*{{span style='color:blue;font-family:monospace;',dwCreatorId}}
**コンジットのクリエイタ ID を指定します。
*{{span style='color:blue;font-family:monospace;',dwUserId}}
**現在の HotSync ユーザ ID を指定します。
*{{span style='color:blue;font-family:monospace;',szUser}}
**現在の HotSync ユーザ名を指定します。
*{{span style='color:blue;font-family:monospace;',m_PathName}}
**コンジットのフル パス。
*{{span style='color:blue;font-family:monospace;',syncPermanent}}
**指定されたコンジットのために保存されているユーザの {{goto permanent synchronization preference,永久同期設定|Introduction to Conduit Development601/Glossary}} を取得します。これは {{goto eSyncTypes,eSyncTypes|C/C++ Sync Suite Reference601/5-1}} 列挙値のうちの 1 つです。
*{{span style='color:blue;font-family:monospace;',syncTemporary}}
**指定されたコンジットのために保存されているユーザの {{goto temporary synchronization preference,一時同期設定|Introduction to Conduit Development601/Glossary}} を取得します。これは {{goto eSyncTypes,eSyncTypes|C/C++ Sync Suite Reference601/5-1}} 列挙値のうちの 1 つです。
*{{span style='color:blue;font-family:monospace;',syncNew}}
**HotSync マネージャのために保存するユーザの新しい同期設定または変更された同期設定を指定します。あなたのコンジットは {{goto eSyncTypes,eSyncTypes|C/C++ Sync Suite Reference601/5-1}} 列挙値のうちの 1 つを指定しなければなりません。
*{{span style='color:blue;font-family:monospace;',syncPref}}
**HotSync マネージャが、あなたのコンジットが {{span style='color:blue;font-family:monospace;',syncNew}} フィールドで指定した設定をどのように保存すべきか - 永久同期設定として、あるいは一時同期設定としてのどちらか - を指定します。あなたのコンジットは {{goto eSyncPref,eSyncPref|C/C++ Sync Suite Reference601/5-1}} 列挙値のうちの 1 つを指定しなければなりません。
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto CfgConduit,CfgConduit()}}
!{{anchor ConduitRequestInfoType}}ConduitRequestInfoType 構造体 {{goto top,^TOP^}}
'''目的'''
HotSync マネージャがコンジットの名前をリクエストするためにコンジットの {{goto GetConduitInfo,GetConduitInfo()}} エントリ ポイントを呼び出したときにコンジットに追加の情報を指定します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
typedef struct ConduitRequestInfoType {
UInt32 dwVersion;
UInt32 dwSize;
UInt32 dwCreatorId;
UInt32 dwUserId;
TCHAR szUser[64];
} CONDUITREQUESTINFO
*{{span style='color:blue;font-family:monospace;',dwVersion}}
**この構造体のバージョン番号を指定します。
*{{span style='color:blue;font-family:monospace;',dwSize}}
**この構造体のサイズ (バイト数) を指定します。
*{{span style='color:blue;font-family:monospace;',dwCreatorId}}
**HotSync マネージャが呼び出しているコンジットのクリエイタ ID。
*{{span style='color:blue;font-family:monospace;',dwUserId}}
**現在の HotSync セッションを開始したユーザのユーザ ID。
*{{span style='color:blue;font-family:monospace;',szUser}}
**現在の HotSync セッションを開始したユーザの名前。
'''コメント'''
HotSync マネージャはコンジットの {{goto GetConduitInfo,GetConduitInfo()}} エントリ ポイントの {{span style='color:blue;font-family:monospace;',infoType}} パラメータに {{span style='color:blue;font-family:monospace;',eConduitName}} の値を渡すとき、{{span style='color:blue;font-family:monospace;',pInArgs}} パラメータにこのタイプの構造体を渡します。コンジットがこの情報を必要とするのは、例えば、単一のコンジットが複数のクリエイタ ID で登録されていて、HotSync マネージャに対して異なるコンジット名を返す必要がある場合です (この構造体によってコンジットに渡される情報に基づいて HotSync マネージャはコンジット名を表示します)。
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto GetConduitInfo,GetConduitInfo()}}
!{{anchor RegistrationInfoType}}RegistrationInfoType 構造体 {{goto top,^TOP^}}
'''目的'''
HotSync マネージャがフォルダ登録コンジットの {{goto GetConduitInfo,GetConduitInfo()}} エントリ ポイントを呼び出したときにコンジットについての登録情報を指定します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
typedef struct RegistrationInfoType {
UInt32 dwCreatorID;
UInt32 dwPriority;
TCHAR szLocalDirectory[255];
TCHAR szLocalFile[255];
TCHAR szRemoteDB[32];
TCHAR szTitle[255];
} REGISTRATIONINFO
'''フィールド'''
*{{span style='color:blue;font-family:monospace;',dwCreatorID}}
**あなたのコンジットが同期に責任を持つハンドヘルド上のアプリケーションの {{goto creator ID,クリエイタ ID|Introduction to Conduit Development601/Glossary}}。この値は固有キーであり、この値によって HotSync マネージャはあなたのコンジットを識別します。そのため、ある特定のクリエイタ ID に対して 1 度に 1 つだけコンジットを登録することができます。
*{{span style='color:blue;font-family:monospace;',dwPriority}}
**このコンジットの実行優先度。この値は 0 から 4 までの範囲になります。値が指定されていない場合、HotSync マネージャはデフォルトの値 2 を使用します。HotSync マネージャは値 0 を持つコンジットを最初に実行し、値 4 を持つコンジットを最後に実行します。
*{{span style='color:blue;font-family:monospace;',szLocalDirectory}}
**コンジットのディレクトリ名。これはデスクトップ コンピュータ上のユーザのディレクトリの中にあるサブディレクトリの名前です (フル パスではありません)。各ユーザのディレクトリ内に、各コンジットは保存ファイルを置くためのディレクトリを持つことができます。
*{{span style='color:blue;font-family:monospace;',szLocalFile}}
**あなたのコンジットがハンドヘルド データベースと同期させるデスクトップ ファイルの名前。しかしながら、あなたのコンジットは複数のファイルを同期させることもできます。このコンフィグレーション エントリはフル パスとファイル名、あるいはファイル名だけのどちらかになるということに注意してください。この値がファイル名だけである場合、そのファイルは {{span style='color:blue;font-family:monospace;',szLocalDirectory}} フィールドによって指定されたディレクトリの中で見つけられます。
*{{span style='color:blue;font-family:monospace;',szRemoteDB}}
**このコンジットによってアクセスされるハンドヘルド データベースの名前。このオプションの値を、特定のデータベース名をハード コードされていないコンジットが使用することができます。この値はコンジットに渡され、それによりコンジットはハンドヘルド上のデータベースをオープンすることが可能になります。さらにコンジットは同期を行う前にこの名前によって指定されたデータベースがハンドヘルド上に存在しなかった場合に、この名前を遣ってデータベースをハンドヘルド上に作成することができます。データベース名は大文字/小文字の区別があります。
*{{span style='color:blue;font-family:monospace;',szRemoteDB}}
**コンジットの表示名。HotSync マネージャはこの文字列をコンジットの名前としてユーザ インターフェイスに表示します - 例えば、'''Custom''' ダイアログ ボックスに。あなたがこのエントリをセットしなかった場合、HotSync マネージャはあなたのコンジットが {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} または {{span style='color:blue;font-family:monospace;',GetConduitName()}} によって呼び出されたときに提供する名前を表示します。
'''互換性'''
*HotSync マネージャ バージョン: 6.0 以降
*Palm OS バージョン: すべて
'''参照'''
{{goto GetConduitInfo,GetConduitInfo()}}
!!{{anchor Conduit Entry Point API Constants}}コンジット エントリ ポイント API 定数 {{goto top,^TOP^}}
この節では、あなたがコンジット エントリ ポイント API で使用する以下の列挙対とプロセッサ定数について説明します。
,定数,説明
,"{{goto ConduitCfgEnum,ConduitCfgEnum}}","HotSync マネージャが呼び出している {{span style='color:blue;font-family:monospace;',CfgConduit()}} のバージョンを示します。"
,"{{goto ConduitInfoEnum,ConduitInfoEnum}}","HotSync マネージャがコンジットの {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} エントリ ポイントを呼び出したときに HotSync マネージャがリクエストしている情報のタイプを示します。"
,"{{goto Conduit Priorities,コンジット優先度}}",コンジットを実行する最も高い、最も低い、デフォルトの優先度を定義します。
,"{{goto MFC Versions,MFC バージョン}}",あなたのコンジットが MFC を使用しているかどうか、使用している場合は MFC のバージョンを示します。
,"{{goto Structure Sizes for Conduit Entry Points,コンジット エントリ ポイントの構造体サイズ}}",いくつかのコンジット エントリ ポイントによって使用されるさまざまな構造体のサイズを定義します。
,"{{goto Structure Versions for Conduit Entry Points,コンジット エントリ ポイントの構造体バージョン}}",いくつかのコンジット エントリ ポイントによって使用されるある特定のデータ構造体のバージョン番号を示します。
!{{anchor ConduitCfgEnum}}ConduitCfgEnum 列挙体 {{goto top,^TOP^}}
'''目的'''
HotSync マネージャが呼び出している {{goto CfgConduit,CfgConduit()}} のバージョンを示します。"
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''定数'''
*{{span style='color:blue;font-family:monospace;',eConduitCfgDoNotUse = 0xffffffff}}
**HotSync マネージャは決してこの値を渡しません。この値はこの列挙体の上限を定めているだけです。
*{{span style='color:blue;font-family:monospace;',eConfig1 = 0}}
**{{span style='color:blue;font-family:monospace;',CfgConduit()}} エントリ ポイントのバージョン 1.
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto CfgConduit,CfgConduit()}}
!{{anchor ConduitInfoEnum}}ConduitInfoEnum 列挙体 {{goto top,^TOP^}}
'''目的'''
HotSync マネージャがコンジットの {{goto GetConduitInfo,GetConduitInfo()}} エントリ ポイントを呼び出したときに HotSync マネージャがリクエストしている情報のタイプを示します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''定数'''
*{{anchor eConduitName}}{{span style='color:blue;font-family:monospace;',eConduitName = 0}}
**HotSync マネージャはあなたのコンジットの表示名をリクエストしています。HotSync マネージャはコンジットが返す名前をコンジットが名前を持たずに登録されている場合にのみ使用します - つまり、{{goto Name 1,Name|Introduction to Conduit Development601/A}} コンジット コンフィグレーション エントリ ポイントがセットされていない場合に。
*{{anchor eMfcVersion}}{{span style='color:blue;font-family:monospace;',eMfcVersion}}
**HotSync マネージャはあなたのコンジットが MFC を使用しているかどうか、使用している場合は MFC のバージョンをリクエストしています。このバージョン番号は実際は MFC が組み込まれている Visual C++ のバージョンであり、MFC 自体のバージョン番号であるとはかぎりません。{{br}}この列挙値は同期マネージャ バージョン 2.4 以降で使用を推奨されなくなりました。これらのバージョンの HotSync マネージャはコンジットに MFC バージョンを問い合わせしません。コンジットは、バージョン 2.3 以前の同期マネージャが存在している場合にのみ、{{goto MFC Versions,「MFC バージョン」}} で定義されている値の 1 つを返さなければなりません。
*{{anchor eDefaultAction}}{{span style='color:blue;font-family:monospace;',eDefaultAction}}
**HotSync マネージャはあなたのコンジットによって実行されるデフォルトのアクションのタイプをリクエストしています。コンジットは {{goto eSyncType,eSyncType}} 列挙値の 1 つを返さなければなり間sね。
*{{anchor eRegistrationInfo}}{{span style='color:blue;font-family:monospace;',eRegistrationInfo}}
**HotSync マネージャはあなたのコンジットがフォルダ経由で登録されている場合にコンジット登録情報をリクエストしています。コンジットがフォルダ経由で登録されている場合、そのコンジットは情報を埋め込まれた {{goto RegistrationInfoType,RegistrationInfoType}} 構造体へのポインタを返さなければなりません。
*{{anchor eDoNotDisplayInConduitListForUser}}{{span style='color:blue;font-family:monospace;',eDoNotDisplayInConduitListForUser}}
**HotSync マネージャはあなたのコンジットが HotSync マネージャの '''Custom''' ダイアログ ボックスの中に表示されるべきかどうかをリクエストしています。あなたのコンジットが 0 の値を返す、あるいは値を返さない場合、あなたのコンジット名は '''Custom''' ダイアログ ボックスに表示されます。あなたのコンジットが非 0 値を反す場合、そのコンジットの名前は表示されません。{{br}}HotSync マネージャは、同期マネージャ バージョン 2.4 以降が存在している場合にのみ、この列挙値を渡すことができるということに注意してください。
*{{anchor eRunAlways}}{{span style='color:blue;font-family:monospace;',eRunAlways}}
**HotSync マネージャはあなたのコンジットが同じクリエイタ ID を持つアプリケーションがハンドヘルド上に存在するかどうかに関係なく実行されるべきであるかどうかをリクエストしています。あなたのコンジットが 0 の値を返す、あるいは値を返さない場合、HotSync マネージャはあなたのコンジットを同じクリエイタ ID を持つアプリケーションがハンドヘルド上に存在する場合にのみ実行します。あなたのコンジットが非 0 値を返す場合、HotSync マネージャはあなたのコンジットを常に実行します。{{br}}HotSync マネージャは、同期マネージャ バージョン 2.4 以降が存在している場合にのみ、この列挙値を渡すことができるということに注意してください。
*{{anchor eDoNotDisplayProgress}}{{span style='color:blue;font-family:monospace;',eDoNotDisplayProgress}}
**HotSync マネージャは HotSync の最中にあなたのコンジットの名前を '''HotSync Progress''' ダイアログ ボックスに表示すべきかどうかをリクエストしています。あなたのコンジットが 0 の値を返す、あるいは値を返さない場合、HotSync マネージャはあなたのコンジットの名前を表示します。あなたのコンジットが非 0 値を返す場合、HotSync マネージャはあなたのコンジットの名前を表示しません。{{br}}HotSync マネージャは、同期マネージャ バージョン 2.4 以降が存在している場合にのみ、この列挙値を渡すことができるということに注意してください。
*{{anchor eConduitInfoDoNotUse}}{{span style='color:blue;font-family:monospace;',eConduitInfoDoNotUse = 0xffffffff}}
**HotSync マネージャは決してこの値を渡しません。この値はこの列挙体の上限を定めているだけです。
'''互換性'''
*HotSync マネージャ バージョン: 上記の例外を除く、すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto GetConduitInfo,GetConduitInfo()}}
!{{anchor Conduit Priorities}}コンジット優先度 {{goto top,^TOP^}}
'''目的'''
コンジットを実行する最も高い、最も低い、デフォルトの優先度を定義します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''定数'''
*{{span style='color:blue;font-family:monospace;',#define PALM_DEF_PRIORITY 2}}
**優先度が指定されていない場合のコンジットを実行する優先度。
*{{span style='color:blue;font-family:monospace;',#define PALM_MAX_PRIORITY 4}}
**HotSync マネージャはこの優先度を持つコンジットを最後に実行します。
*{{span style='color:blue;font-family:monospace;',#define PALM_MIN_PRIORITY 0}}
**HotSync マネージャはこの優先度を持つコンジットを最初に実行します。
'''互換性'''
*HotSync マネージャ バージョン: 6.0 以降
*Palm OS バージョン: すべて
!{{anchor MFC Versions}}MFC バージョン {{goto top,^TOP^}}
'''目的'''
あなたのコンジットが MFC を使用しているかどうか、使用している場合は MFC のバージョンを示します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''定数'''
*{{span style='color:blue;font-family:monospace;',#define MFC_NOT_USED 0x10000000}}
**コンジットは MFC を使用しません。
*{{span style='color:blue;font-family:monospace;',#define MFC_VERSION_41 0x00000410}}
**コンジットはバージョン 4.1 を使用します。
*{{span style='color:blue;font-family:monospace;',#define MFC_VERSION_50 0x00000500}}
**コンジットはバージョン 5.0 を使用します。
*{{span style='color:blue;font-family:monospace;',#define MFC_VERSION_60 0x00000600}}
**コンジットはバージョン 6.0 を使用します。
'''コメント'''
バージョン番号は MFC が組み込まれている Visual C++ のバージョンに相当するものであり、必ずしも MFC 自体のバージョン番号ではありません。
::NOTE
:::これらの定数は HotSync マネージャ バージョン 6.0 以降で使用を推奨されなくなりました。それらの HotSync マネージャはコンジットに MFC バージョンを問い合わせしません。
'''互換性'''
*HotSync マネージャ バージョン: 6.0 よりも前のすべて
*Palm OS バージョン: すべて
'''参照'''
{{goto GetConduitInfo,GetConduitInfo()}}
!{{anchor Structure Sizes for Conduit Entry Points}}コンジット エントリ ポイントの構造体サイズ {{goto top,^TOP^}}
'''目的'''
いくつかのコンジット エントリ ポイントによって使用されるさまざまな構造体のサイズを定義します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''定数'''
*{{span style='color:blue;font-family:monospace;',#define SZ_CFGCONDUITINFO sizeof(CFGCONDUITINFO)}}
**{{goto CfgConduitInfoType,CfgConduitInfoType}} 構造体のサイズを定義します。
*{{span style='color:blue;font-family:monospace;',#define SZ_CONDUITREQUESTINFO sizeof(CONDUITREQUESTINFO)}}
**{{goto ConduitRequestInfoType,ConduitRequestInfoType}} 構造体のサイズを定義します。
*{{span style='color:blue;font-family:monospace;',#define SZ_REGISTRATIONINFO sizeof(REGISTRATIONINFO)}}
**{{goto RegistrationInfoType,RegistrationInfoType}} 構造体のサイズを定義します。
'''互換性'''
*HotSync マネージャ バージョン: すべて。バージョン 6.0 以降でのみ {{span style='color:blue;font-family:monospace;',REGISTRATIONINFO}} が存在します。
*Palm OS バージョン: すべて
'''参照'''
{{goto CfgConduitInfoType,CfgConduitInfoType}}, {{goto ConduitRequestInfoType,ConduitRequestInfoType}}, {{goto RegistrationInfoType,RegistrationInfoType}}
!{{anchor Structure Versions for Conduit Entry Points}}コンジット エントリ ポイントの構造体バージョン {{goto top,^TOP^}}
'''目的'''
いくつかのコンジット エントリ ポイントによって使用されるある特定のデータ構造体のバージョン番号を示します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''定数'''
*{{span style='color:blue;font-family:monospace;',#define CONDUITREQUESTINFO_VERSION_1 0x00000001}}
**この定数は {{goto ConduitRequestInfoType,ConduitRequestInfoType}} データ構造体のバージョン 1 を指定します。
*{{span style='color:blue;font-family:monospace;',#define CFGCONDUITINFO_VERSION_1 0x00000001}}
**この定数は {{goto CfgConduitInfoType,CfgConduitInfoType}} データ構造体のバージョン 1 を指定します。
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto ConduitRequestInfoType,ConduitRequestInfoType}}, {{goto CfgConduitInfoType,CfgConduitInfoType}}
!!{{anchor Conduit-Defined Entry Point API Functions}}コンジット定義 エントリ ポイント API 関数 {{goto top,^TOP^}}
この節ではコンジットが実装する以下のエントリ ポイントについて説明します。
,エントリ ポイント,説明
,"{{goto CfgConduit,CfgConduit}}","コンジットにユーザが HotSync マネージャ の '''Custom''' ダイアログ ボックスからそのコンジットを選択したことを知らせます。HotSync マネージャ バージョン 3.0 以降によってのみ呼び出されます (それより前のバージョンはこの関数の代わりに {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} を呼び出します)。"
,"{{goto ConfigureConduit,ConfigureConduit}}","コンジットにユーザが HotSync マネージャ の '''Custom''' ダイアログ ボックスからそのコンジットを選択したことを知らせます。HotSync マネージャ バージョン 3.0 より以前のものだけがこのエントリ ポイントを呼び出します。これに対してバージョン 3.0 以降はまず {{span style='color:blue;font-family:monospace;',CfgConduit()}} を呼び出し、それから {{span style='color:blue;font-family:monospace;',CfgConduit()}} 呼び出しが成功しなかった場合にのみ {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} を呼び出します。"
,"{{goto GetConduitInfo,GetConduitInfo}}","''(必須)'' HotSync マネージャによって呼び出されたときにコンジットについての情報を取得します。"
,"{{goto GetConduitName,GetConduitName}}","''(オプション)'' HotSync マネージャによって呼び出されたときにあなたのコンジットの表示名を取得します。"
,"{{goto GetConduitVersion,GetConduitVersion}}","''(必須)'' HotSync マネージャによって呼び出されたときにあなたのコンジットのバージョン番号を取得します。"
,"{{goto OpenConduit,OpenConduit}}","''(必須)'' このエントリ ポイントが HotSync マネージャによって呼び出されたときにコンジットの同期プロセスを開始し、コンジットに現在の HotSync セッションについての情報を提供します。"
!{{anchor CfgConduit}}CfgConduit 関数 {{goto top,^TOP^}}
'''目的'''
コンジットにユーザが HotSync マネージャ の '''Custom''' ダイアログ ボックスからそのコンジットを選択したことを知らせます。HotSync マネージャ バージョン 3.0 以降によってのみ呼び出されます (それより前のバージョンはこの関数の代わりに {{goto ConfigureConduit,ConfigureConduit()}} を呼び出します)。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
SInt32 CfgConduit (
ConduitCfgEnum cfgType,
void *pArgs,
UInt32 *pdwArgsSize
)
typedef SInt32 (
*PCFGCONDUIT
) (
ConduitCfgEnum cfgType,
void *pArgs,
UInt32 *pdwArgsSize
)
'''パラメータ'''
*{{span style='color:blue;font-family:monospace;',→ cfgType}}
**このエントリ ポイント関数のバージョン番号。これは {{goto ConduitCfgEnum,ConduitCfgEnum}} 値のうちの 1 つです。
*{{span style='color:blue;font-family:monospace;',←→ pArgs}}
**{{goto CfgConduitInfoType,CfgConduitInfoType}} 構造体へのポインタ。HotSync マネージャは現在の HotSync ユーザのために保存されている一時同期設定と永久同期設定を渡します。あなたのコンジットは更新された同期設定を返します。このパラメータを {{span style='color:blue;font-family:monospace;',NULL}} にすることはできません。
*{{span style='color:blue;font-family:monospace;',→ pdwArgsSize}}
**{{span style='color:blue;font-family:monospace;',pArgs}} によって参照される構造体の中にあるバイト数。
'''返り値'''
成功した場合、コンジットは 0 を返さなければなりません。
成功しなかった場合、コンジットは非 0 のエラー コード 値を返さなければなりません。エラー コードについての更なる情報は、{{goto Conduit Entry Point API Error Codes,「コンジット エントリ ポイント API エラー コード」}} を参照してください。
'''コメント'''
HotSync マネージャは、ユーザが '''HotSync Manager''' > '''Conduit''' をクリックすることによってあなたのコンジットをコンフィグレーションすることを決定したときに、コンジットの {{span style='color:blue;font-family:monospace;',CfgConduit()}} エントリ ポイントを呼び出します。通常、コンジットはユーザにそのコンジットが次とその後の HotSync の最中にどのように処理を行うかをコンフィグレーションさせるために '''Change HotSync Action''' ダイアログ ボックスを表示することによって応答します。更なる基礎知識は、''Introduction to Conduit Development'' の {{goto User's Conduit Synchronization Preferences,「ユーザのコンジット同期設定」|Introduction to Conduit Development601/5}} を参照してください。
あなたのコンジットがユーザが以前保存した設定として何を表示すべきかを決定するために {{span style='color:blue;font-family:monospace;',pArgs}} パラメータに渡される情報を使用します。{{span style='color:blue;font-family:monospace;',syncNew}} フィールドをユーザの新しい設定で変更し、その設定が永久的なものかあるいは一時的なものかを示すために {{span style='color:blue;font-family:monospace;',syncPref}} フィールドを変更します。
{{span style='color:blue;font-family:monospace;',CfgConduit()}} は同じ目的で使用される {{goto ConfigureConduit,ConfigureConduit()}} のアップデート バージョンです。この関数は異なる情報を受け取り ({{span style='color:blue;font-family:monospace;',pArgs}} パラメータで)、それを基に {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} は処理を行います。HotSync マネージャのバージョン 3.0 以降は {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} を呼び出す前に {{span style='color:blue;font-family:monospace;',CfgConduit()}} を呼び出そうと試みます。あなたのコンジットが HotSync マネージャのバージョン 3.0 よりも前のものをサポートしなければならない場合、あなたは {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} も実行しなければなりません。
{{span style='color:blue;font-family:monospace;',PCFGCONDUIT}} は {{span style='color:blue;font-family:monospace;',CfgConduit()}} エントリ ポイントへのポインタとして定義されています。このポインタはコンジットに応答指令信号を送るためのツールを作成するコンジット開発者に便宜を計るために提供されています。
'''互換性'''
*HotSync マネージャ バージョン: 3.0 以降
*Palm OS バージョン: すべて
'''参照'''
{{goto ConfigureConduit,ConfigureConduit()}}, {{goto CfgConduitInfoType,CfgConduitInfoType}}
!{{anchor ConfigureConduit}}ConfigureConduit 関数 {{goto top,^TOP^}}
'''目的'''
コンジットにユーザが HotSync マネージャ の '''Custom''' ダイアログ ボックスからそのコンジットを選択したことを知らせます。HotSync マネージャ バージョン 3.0 より以前のものだけがこのエントリ ポイントを呼び出します。これに対してバージョン 3.0 以降はまず {{goto CfgConduit,CfgConduit()}} を呼び出し、それから {{span style='color:blue;font-family:monospace;',CfgConduit()}} 呼び出しが成功しなかった場合にのみ {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} を呼び出します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
SInt32 ConfigureConduit (
CSyncPreference &syncPrefs
)
typedef SInt32 (
*PCONFIGURECONDUIT
) (
CSyncPreference &syncPrefs
)
'''パラメータ'''
*{{span style='color:blue;font-family:monospace;',→ syncPrefs}}
**{{goto CSyncPreference,CSyncPreference|C/C++ Sync Suite Reference601/5}} クラスのオブジェクト。このクラスはあなたのコンジットのための情報を保持します。
'''返り値'''
成功した場合、コンジットは 0 を返さなければなりません。
成功しなかった場合、コンジットは非 0 のエラー コード 値を返さなければなりません。エラー コードについての更なる情報は、{{goto Conduit Entry Point API Error Codes,「コンジット エントリ ポイント API エラー コード」}} を参照してください。
'''コメント'''
{{goto CfgConduit,CfgConduit()}} と同様に、HotSync マネージャは、ユーザが '''HotSync Manager''' > '''Conduit''' をクリックすることによってあなたのコンジットをコンフィグレーションすることを決定したときに、コンジットの {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} エントリ ポイントを呼び出します。通常、コンジットはユーザにそのコンジットが次とその後の HotSync の最中にどのように処理を行うかをコンフィグレーションさせるために '''Change HotSync Action''' ダイアログ ボックスを表示することによって応答します。あなたのコンジットがユーザが以前保存した設定として何を表示すべきかを決定するために {{span style='color:blue;font-family:monospace;',syncPrefs}} パラメータに渡される情報を使用します。
しかしながら、{{span style='color:blue;font-family:monospace;',ConfigureConduit()}} は同じ目的で使用されるが異なる情報を提供する {{goto CfgConduit,CfgConduit()}} の古いバージョンです。バージョン 3.0 よりも前の HotSync マネージャは {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} だけを呼び出します; それより新しいバージョンの HotSync マネージャはまず {{span style='color:blue;font-family:monospace;',CfgConduit()}} を呼び出そうと試み、{{span style='color:blue;font-family:monospace;',CfgConduit()}} が利用できない場合にこの関数を呼び出します。
{{span style='color:blue;font-family:monospace;',PCFGCONDUIT}} は {{span style='color:blue;font-family:monospace;',ConfigureConduit()}} エントリ ポイントへのポインタとして定義されています。このポインタはコンジットに応答指令信号を送るためのツールを作成するコンジット開発者に便宜を計るために提供されています。
'''互換性'''
*HotSync マネージャ バージョン: すべて (コメントを参照してください。)
*Palm OS バージョン: すべて
'''参照'''
{{goto CfgConduit,CfgConduit()}}
!{{anchor GetConduitInfo}}GetConduitInfo 関数 {{goto top,^TOP^}}
'''目的'''
''(必須)'' HotSync マネージャによって呼び出されたときにコンジットについての情報を取得します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
SInt32 GetConduitInfo (
ConduitInfoEnum infoType,
void *pInArgs,
void *pOut,
UInt32 *pdwOutSize
)
typedef SInt32 (
*PGETCONDUITINFO
) (
ConduitInfoEnum infoType,
void *pInArgs,
void *pOut,
UInt32 *pdwOutSize
)
'''パラメータ'''
*{{span style='color:blue;font-family:monospace;',→ infoType}}
**HotSync マネージャがリクエストしている情報のタイプ。これは {{goto ConduitInfoEnum,ConduitInfoEnum}} 値のうちの 1 つです。
*{{span style='color:blue;font-family:monospace;',→ pInArgs}}
**{{span style='color:blue;font-family:monospace;',infoType}} が {{span style='color:blue;font-family:monospace;',eConduitName}} である場合、このパラメータは {{goto ConduitRequestInfoType,ConduitRequestInfoType}} 構造体へのポインタです。そうでない場合、この値は {{span style='color:blue;font-family:monospace;',NULL}} です。
*{{span style='color:blue;font-family:monospace;',← pOut}}
**HotSync マネージャがリクエストしている情報へのポインタ。{{goto Table 6.1,表 6.1}} は、このパラメータが - HotSync マネージャが {{span style='color:blue;font-family:monospace;',infoType}} パラメータ経由で何をリクエストしているかに基づいて - 何を指すべきかを説明しています。
*{{span style='color:blue;font-family:monospace;',← pdwOutSize}}
**{{span style='color:blue;font-family:monospace;',pOut}} が指す値のサイズ (バイト数)。
'''返り値'''
成功した場合、コンジットは 0 を返さなければなりません。
成功しなかった場合、コンジットは非 0 のエラー コード 値を返さなければなりません。エラー コードについての更なる情報は、{{goto Conduit Entry Point API Error Codes,「コンジット エントリ ポイント API エラー コード」}} を参照してください。
'''コメント'''
HotSync マネージャはあなたのコンジットについての情報を取得するために {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} を呼び出します。あなたのこのエントリ ポイントの実装は {{span style='color:blue;font-family:monospace;',infoType}} パラメータに渡される各 {{goto ConduitInfoEnum,ConduitInfoEnum}} に対して異なる応答をしなければなりません。{{goto Table 6.1,表 6.1}} はそれらの値とあなたのコンジットがどのように応答すべきなのかをリスト アップしています。
{{anchor Table 6.1}}
'''表 6.1 GetConduitInfo() リクエストとコンジットの応答'''
,"{{span style='color:blue;font-family:monospace;',infoType}} に渡される {{goto ConduitInfoEnum,ConduitInfoEnum}} の値","{{span style='color:blue;font-family:monospace;',pOut}} が指すべきもの"
,"{{goto eConduitName,eConduitName = 0}}","{{span style='color:blue;font-family:monospace;',TCHAR}} バッファ。"
,"{{goto eMfcVersion,eMfcVersion}}","{{goto MFC Versions,「MFC バージョン」}} の定数の 1 つと等価な {{span style='color:blue;font-family:monospace;',UInt32}} 値。"
,"{{goto eDefaultAction,eDefaultAction}}","{{goto eSyncTypes,eSyncTypes}} 列挙値。"
,"{{goto eRegistrationInfo,eRegistrationInfo}}","{{goto RegistrationInfoType,RegistrationInfoType}} 構造体。"
,"{{goto eDoNotDisplayInConduitListForUser,eDoNotDisplayInConduitListForUser}}",あなたのコンジットが '''Custom''' ダイアログ ボックスに表示されるべきである場、値 0 を返します。表示されるべきでない場合、非 0 値を返します。
,"{{goto eRunAlways,eRunAlways}}",ハンドヘルド上に一致するアプリケーションが存在する場合にのみあなたのコンジットが実行されるべきであるなら、値 0 を返します。あなたのコンジットが常に実行されるべきであるなら、非 0 値を返します。
,"{{goto eDoNotDisplayProgress,eDoNotDisplayProgress}}","あなたのコンジットが '''HotSync Progress''' ダイアログ ボックスに表示されるべきである場、値 0 を返します。表示されるべきでない場合、非 0 値を返します。
{{span style='color:blue;font-family:monospace;',PGETCONDUITINFO}} は {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} エントリ ポイントへのポインタとして定義されています。このポインタはコンジットに応答指令信号を送るためのツールを作成するコンジット開発者に便宜を計るために提供されています。
'''互換性'''
*HotSync マネージャ バージョン: 上記の例外を除く、すべて
*Palm OS バージョン: すべて
HotSync マネージャ バージョン 6.0 以降は以下の値だけを {{span style='color:blue;font-family:monospace;',infoType}} パラメータに渡すことができます:
*{{span style='color:blue;font-family:monospace;',eConduitName}}
*{{span style='color:blue;font-family:monospace;',eDefaultAction}}
*{{span style='color:blue;font-family:monospace;',eRegistrationInfo}}
*{{span style='color:blue;font-family:monospace;',eDoNotDisplayInCustomDialog}}
*{{span style='color:blue;font-family:monospace;',eRunAlways}}
*{{span style='color:blue;font-family:monospace;',eDoNotDisplayProgress}}
HotSync マネージャのバージョン 6.0 より前のものは以下の値だけを {{span style='color:blue;font-family:monospace;',infoType}} パラメータに渡すことができます:
*{{span style='color:blue;font-family:monospace;',eConduitName}}
*{{span style='color:blue;font-family:monospace;',eMfcVersion}}
*{{span style='color:blue;font-family:monospace;',eDefaultAction}}
::重要
:::あなたのコンジットが HotSync マネージャのバージョン 6.0 より前のものと処理を行わなければならない場合、あなたの {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} の実装は適切な MFC バージョン定数を返さなければなりません。あなたが古いバージョンの CDK で作成したコンジットをコンパイルし直しているところであり、そのコンジットがもともと {{span style='color:blue;font-family:monospace;',GetConduitInfo()}} を実行していなかった (今は必須) 場合、HotSync マネージャはあなたのコンジットが MFC 4.1 でビルドされたものと仮定します。あなたのコンジットが MFC 4.1 でビルドされていない場合、HotSync マネージャはあなたのコンジットを呼び出したときにクラッシュします。{{br}}{{br}}HotSync マネージャ バージョン 6.0 以降はコンジットの MFC バージョンをチェックする必要がありません。そのため、それらの HotSync マネージャは決して {{span style='color:blue;font-family:monospace;',infoType}} パラメータ経由で {{span style='color:blue;font-family:monospace;',eMfcVersion}} 値を渡すことはありません。
'''参照'''
{{goto ConduitInfoEnum,ConduitInfoEnum}}, {{goto ConduitRequestInfoType,ConduitRequestInfoType}}
!{{anchor GetConduitName}}GetConduitName 関数 {{goto top,^TOP^}}
'''目的'''
''(オプション)'' HotSync マネージャによって呼び出されたときにあなたのコンジットの表示名を取得します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
SInt32 GetConduitName (
char *name,
UInt16 nLen
)
typedef SInt32 (
*PGETCONDUITNAME
) (
char *name,
UInt16 nLen
)
'''パラメータ'''
*{{span style='color:blue;font-family:monospace;',← name}}
*{{span style='color:blue;font-family:monospace;',→ nLen}}
'''返り値'''
成功した場合、コンジットは 0 を返さなければなりません。
成功しなかった場合、コンジットは非 0 のエラー コード 値を返さなければなりません。エラー コードについての更なる情報は、{{goto Conduit Entry Point API Error Codes,「コンジット エントリ ポイント API エラー コード」}} を参照してください。
'''コメント'''
HotSync マネージャ バージョン 3.0.1 以降はあなたのコンジットの名前の取得に成功するまで以下の一連のアクションを実行します:
+CondCfg ユーティリティまたはコンジット インストールの最中にコンジット マネージャで作成された {{goto Name 1,Name|Introduction to Conduit Development601/A}} エントリを読み込む。
+成功しなかった場合、{{goto GetConduitInfo,GetConduitInfo()}} を呼び出す。
+成功しなかった場合、{{span style='color:blue;font-family:monospace;',GetConduitName()}} を呼び出す。
あなたは、あなたのコンジットが HotSync マネージャ バージョン 3.0.1 以降だけと互換性を保つ必要がある場合、{{span style='color:blue;font-family:monospace;',GetConduitName()}} を実装することは要求されません。
HotSync マネージャのバージョン 3.0 以前のものはあなたのコンジットが {{span style='color:blue;font-family:monospace;',GetConduitName()}} を実装することを要求します。このケースでは、あなたのコンジット実装は {{span style='color:blue;font-family:monospace;',name}} バッファに HotSync マネージャがユーザに対して表示すべき文字列を埋め込まなければなりません。
{{span style='color:blue;font-family:monospace;',PGETCONDUITNAME}} は {{span style='color:blue;font-family:monospace;',GetConduitName()}} エントリ ポイントへのポインタとして定義されています。このポインタはコンジットに応答指令信号を送るためのツールを作成するコンジット開発者に便宜を計るために提供されています。
'''互換性'''
*HotSync マネージャ バージョン: 3.0.1 以降ではオプション。3.0 以前では必須。バージョンによる違いは「コメント」を参照してください。
*Palm OS バージョン: すべて
'''参照'''
{{goto GetConduitInfo,GetConduitInfo()}}
!{{anchor GetConduitVersion}}GetConduitVersion 関数 {{goto top,^TOP^}}
'''目的'''
''(必須)'' HotSync マネージャによって呼び出されたときにあなたのコンジットのバージョン番号を取得します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
UInt32 GetConduitVersion ()
typdef UInt32 (*PGETCONDUITVERSION) ()
'''パラメータ'''
ありません。
'''返り値'''
あなたのコンジットのバージョン番号。以下のように {{span style='color:blue;font-family:monospace;',UInt32}} である返り値にパックされます:
*メジャー バージョン番号は HIBYTE(LOWORD)
*マイナー バージョン番号は LOBYTE(LOWORD)
'''コメント'''
HotSync マネージャはデスクトップ コンピュータ上で実行されているあなたのコンジットのバージョンを取得するために {{span style='color:blue;font-family:monospace;',GetConduitVersion()}} を呼び出します。あなたのコンジット実装は結果の low word (訳者: {{span style='color:blue;font-family:monospace;',UInt32}} の下位 2 バイト) の上位バイトにメジャー バージョン番号をパックし、low word の下位バイトにマイナー バージョン番号をパックしなければなりません。
{{span style='color:blue;font-family:monospace;',PGETCONDUITVERSION}} は {{span style='color:blue;font-family:monospace;',GetConduitVersion()}} エントリ ポイントへのポインタとして定義されています。このポインタはコンジットに応答指令信号を送るためのツールを作成するコンジット開発者に便宜を計るために提供されています。
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
!{{anchor OpenConduit}}OpenConduit 関数 {{goto top,^TOP^}}
'''目的'''
''(必須)'' このエントリ ポイントが HotSync マネージャによって呼び出されたときにコンジットの同期プロセスを開始し、コンジットに現在の HotSync セッションについての情報を提供します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
SInt32 OpenConduit (
PROGRESSFN pFn,
CSyncProperties &syncProps
)
typedef SInt32 (
*POPENCONDUIT
) (
PROGRESSFN pFn,
CSyncProperties &syncProps
)
'''パラメータ'''
*{{span style='color:blue;font-family:monospace;',→ pFn}}
**HotSync マネージャがあなたのコンジットに渡すコールバック関数へのポインタ。更なる情報は、{{goto PROGRESSFN,PROGRESSFN()}} を参照してください。
*{{span style='color:blue;font-family:monospace;',→ syncProps}}
**同期のタイプ、カレント ユーザ名などを含む現在の HotSync 操作のプロパティ。この情報は {{goto CSyncProperties,CSyncProperties|C/C++ Sync Suite Reference601/5}} クラスのオブジェクトとして定義されています。
'''返り値'''
成功した場合、コンジットは 0 を返さなければなりません。
成功しなかった場合、コンジットは非 0 のエラー コード 値を返さなければなりません。エラー コードについての更なる情報は、{{goto Conduit Entry Point API Error Codes,「コンジット エントリ ポイント API エラー コード」}} を参照してください。
'''コメント'''
HotSync マネージャはデスクトップ コンピュータとハンドヘルド間の同期処理を開始するためにコンジットの {{span style='color:blue;font-family:monospace;',OpenConduit()}} エントリ ポイントを呼び出します。これはコンジットが行うメイン処理です。{{span style='color:blue;font-family:monospace;',syncProps}} パラメータには、HotSync マネージャはコンジットが現在の HotSync セッションで行う必要があることを決定するために使用する現在の HotSync セッションについての情報を渡します。
{{span style='color:blue;font-family:monospace;',syncProps.m_SyncType}} メンバはコンジットにユーザの保存されている設定 (同期、ハンドヘルドがデスクトップを上書き、デスクトップがハンドヘルドを上書き、何もしない) に基づいて実行する同期操作のタイプを知らせ、設定が「同期」である場合はコンジットが高速同期あるいは低速同期のどちらを実行すべきかを知らせます。
::重要
:::コンジットの {{span style='color:blue;font-family:monospace;',m_SyncType}} フィールドに渡される {{span style='color:blue;font-family:monospace;',eFast}} または {{span style='color:blue;font-family:monospace;',eSlow}} 値は最後の HotSync 操作が現在のデスクトップと行われたかどうかにのみ基づきます。非スキーマ データベースでは、これはコンジットが高速同期と低速同期のどちらを実行するかを決定するために十分です。しかしながらスキーマ データベースでは、この値は十分ではありません。スキーマ データベースでのみ利用可能でクラシック データベースと拡張データベースでは利用できない追加変更追跡情報の利点をフルに活かすため、この値の代わりに {{goto SyncDbGetSyncMode,SyncDbGetSyncMode()|C/C++ Sync Suite Reference601/2}} を呼び出します。
Generic Conduit Framework を使用するコンジットでは、{{span style='color:blue;font-family:monospace;',OpenConduit()}} は以下のことをします:
*{{span style='color:blue;font-family:monospace;',CSynchronizer}} クラスのオブジェクトをインスタンス化し、あなたのコンジットがカテゴリやアプリケーション情報ブロックをハンドルする必要があるかどうかを指定します
*{{span style='color:blue;font-family:monospace;',CSynchronizer}} の {{span style='color:blue;font-family:monospace;',Perform()}} メソッドを呼び出すことによってあなたの同期を開始します
*コンジットの {{span style='color:blue;font-family:monospace;',CSynchronizer}} オブジェクトを削除します
{{span style='color:blue;font-family:monospace;',POPENCONDUIT}} は {{span style='color:blue;font-family:monospace;',OpenConduit()}} エントリ ポイントへのポインタとして定義されています。このポインタはコンジットに応答指令信号を送るためのツールを作成するコンジット開発者に便宜を計るために提供されています。
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto CSyncProperties,CSyncProperties|C/C++ Sync Suite Reference601/5}}, {{goto PROGRESSFN,PROGRESSFN()}}, {{goto SyncDbGetSyncMode,SyncDbGetSyncMode()|C/C++ Sync Suite Reference601/2}}
!!{{anchor HotSync Manager Callback Function}}HotSync マネージャ コールバック関数 {{goto top,^TOP^}}
この節では、コンジットが自身の {{goto OpenConduit,OpenConduit()}} エントリ ポイントから HotSync マネージャにコールバックするために使用することができる {{goto PROGRESSFN,PROGRESSFN}} 関数を定義します。
!{{anchor PROGRESSFN}}PROGRESSFN 関数 {{goto top,^TOP^}}
'''目的'''
コンジットによって呼び出されたときに、コンジットが実行されている最中の '''HotSync Progress''' ダイアログ ボックスにメッセージを表示します。
'''宣言されている場所'''
{{span style='color:blue;font-family:monospace;',CondAPI.h}}
'''Prototype'''
typedef SInt32 (
*PROGRESSFN
) (
char *progress
)
'''パラメータ'''
*{{span style='color:blue;font-family:monospace;',→ progress}}
**'''HotSync Progress''' ダイアログ ボックスのステータス フィールドに表示される文字列。
'''返り値'''
常に {{span style='color:blue;font-family:monospace;',0}} を返します。
'''コメント'''
{{goto PROGESSFN()}} はコールバック関数です。HotSync マネージャはあなたの {{goto OpenConduit,OpenConduit()}} エントリ ポイントを呼び出すときにあなたのコンジットにこの関数へのポインタを渡します。あなたのコンジットは HotSync マネージャにあなたのコンジットが実行されている最中の '''HotSync Progress''' ダイアログ ボックスのステータス フィールドにメッセージは表示させるためにこの関数を呼び出すことができます。
'''互換性'''
*HotSync マネージャ バージョン: すべて
*Palm OS バージョン: すべて
'''参照'''
{{goto OpenConduit,OpenConduit()}}
!!{{anchor Conduit Entry Point API Error Codes}}コンジット エントリ ポイント API エラー コード {{goto top,^TOP^}}
{{goto Table 6.2,表 6.2}} はあなたのコンジットのエントリ ポイントが HotSync マネージャに返す可能性があるエラー コードの値をリスト アップしています。これらのエラーの 1 つが返されると、HotSync マネージャは同様のエラー メッセージを HotSync ログに書き込みます。しかしながら、PalmSource は、成功した場合にあなたが {{span style='color:blue;font-family:monospace;',CONDERR_NONE}} を返し、成功しなかった場合に -1 を返してあなた自身のより詳細なメッセージをログに追加するために HotSync ログ API を呼び出すことを推奨します。
以下の名前を付けられているエラー コードはすべてヘッダ ファイル {{span style='color:blue;font-family:monospace;',CondAPI.h}} で宣言されているプロセッサ定数として定義されています。
{{anchor Table 6.2}}
'''表 6.2 コンジット エントリ ポイント API エラー コード'''
,値,コード,説明
,-1,-,以下にリスト アップされている値以外の未指定エラー。
,0x0000,"{{span style='color:blue;font-family:monospace;',CONDERR_NONE}}",関数呼び出しは成功しました。
,0x1000,"{{span style='color:blue;font-family:monospace;',CONDERR_FIRST}}",エントリ ポイントはこの値を返すべきではありません。これは他のすべてのエラー コードのベースとなるオフセットです。
,0x1001,"{{span style='color:blue;font-family:monospace;',CONDERR_NO_REMOTE_CATEGORIES}}",ハンドヘルド上に定義されたカテゴリがありません。
,0x1002,"{{span style='color:blue;font-family:monospace;',CONDERR_NO_LOCAL_CATEGORIES }}",デスクトップ コンピュータ上に定義されたカテゴリがありません。
,0x1003,"{{span style='color:blue;font-family:monospace;',CONDERR_SAVE_REMOTE_CATEGORIES}}",カテゴリをハンドヘルドに保存することができませんでした。
,0x1004,"{{span style='color:blue;font-family:monospace;',CONDERR_BAD_REMOTE_TABLES}}",このエラー コードは HotSync マネージャ 6.0 以降では使用を推奨されなくなりました。
,0x1005,"{{span style='color:blue;font-family:monospace;',CONDERR_BAD_LOCAL_TABLES}}",このエラー コードは HotSync マネージャ 6.0 以降では使用を推奨されなくなりました。
,0x1006,"{{span style='color:blue;font-family:monospace;',CONDERR_BAD_LOCAL_BACKUP}}",このエラー コードは HotSync マネージャ 6.0 以降では使用を推奨されなくなりました。
,0x1007,"{{span style='color:blue;font-family:monospace;',CONDERR_ADD_LOCAL_RECORD}}",このエラー コードは HotSync マネージャ 6.0 以降では使用を推奨されなくなりました。
,0x1008,"{{span style='color:blue;font-family:monospace;',CONDERR_ADD_REMOTE_RECORD}}",ハンドヘルドにレコードを追加することができませんでした。
,0x1009,"{{span style='color:blue;font-family:monospace;',CONDERR_CHANGE_REMOTE_RECORD}}",ハンドヘルド上のレコードを変更することができませんでした。
,0x100A,"{{span style='color:blue;font-family:monospace;',CONDERR_RAW_RECORD_ALLOCATE}}",レコードにメモリを割り当てることができませんでした。
,0x100B,"{{span style='color:blue;font-family:monospace;',CONDERR_REMOTE_CHANGES_NOT_SENT}}",変更をハンドヘルドに送ることに失敗しました。
,0x100C,"{{span style='color:blue;font-family:monospace;',CONDERR_LOCAL_MEMORY_ALLOC_FAILED}}",デスクトップ コンピュータ上でメモリを割り当てることができませんでした。
,0x100D,"{{span style='color:blue;font-family:monospace;',CONDERR_CONVERT_TO_REMOTE_CATS}}",レコードのカテゴリをハンドヘルド上のカテゴリに変換することができませんでした。
,0x100E,"{{span style='color:blue;font-family:monospace;',CONDERR_CONVERT_TO_LOCAL_CATS}}",レコードのカテゴリをデスクトップ コンピュータ上のカテゴリに変換することができませんでした。
,0x100F,"{{span style='color:blue;font-family:monospace;',CONDERR_CONVERT_TO_REMOTE_REC}}",デスクトップ コンピュータのレコードをハンドヘルド上のレコードに変換できませんでした。
,0x1010,"{{span style='color:blue;font-family:monospace;',CONDERR_CONVERT_FROM_REMOTE_REC}}",ハンドヘルドのレコードをデスクトップ コンピュータ上のレコードに変換できませんでした。
,0x1011,"{{span style='color:blue;font-family:monospace;',CONDERR_REMOTE_RECS_NOT_PURGED}}",ハンドヘルド上のレコードを削除 (purge) することに失敗しました。
,0x1012,"{{span style='color:blue;font-family:monospace;',CONDERR_BAD_SYNC_TYPE}}",指定された同期タイプは無効です。
,0x1013,"{{span style='color:blue;font-family:monospace;',CONDERR_ABORT_DB_INSTALL}}",データベースのインストールは中断されました。例えば、ハンドヘルドがメモリ不足になった場合。
,0x1050,"{{span style='color:blue;font-family:monospace;',CONDERR_DATE_MOVED}}",1970 年以前の日付は有効な日付に変更されました。
,0x1060,"{{span style='color:blue;font-family:monospace;',CONDERR_SUBSCRIBE_FAILED}}",ファイル リンクに失敗しました。このエラー コードはファイル リンク Feature が HotSync マネージャ 6.0.1 以降で削除されたために使用を推奨されなくなりました。
,0x1070,"{{span style='color:blue;font-family:monospace;',CONDERR_UNSUPPORTED_CONDUITINFO_ENUM}}","指定された {{goto ConduitInfoEnum,ConduitInfoEnum}} 値はサポートされません。"
,0x1071,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_PTR}}",ポインタが有効ではありません。
,0x1072,"{{span style='color:blue;font-family:monospace;',CONDERR_BUFFER_TOO_SMALL}}",このバッファはデータを保持するには小さすぎます。
,0x1073,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_BUFFER_SIZE}}",このバッファ サイズはバッファに対して有効ではありません。
,0x1074,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_INARGS_PTR}}",この入力引数ポインタは有効ではありません。
,0x1075,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_INARGS_STRUCT}}",この入力引数構造体は有効ではありません。
,0x1076,"{{span style='color:blue;font-family:monospace;',CONDERR_CONDUIT_RESOURCE_FAILURE}}",あなたのコンジットの DLL からリソースを読み込むことができませんでした。
,0x1077,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_OUTSIZE_PTR}}",この出力サイズ ポインタは有効ではありません。
,0x1078,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_ARGSSIZE_PTR}}",この出力引数ポインタは有効ではありません。
,0x1079,"{{span style='color:blue;font-family:monospace;',CONDERR_UNSUPPORTED_CFGCONDUIT_ENUM}}","指定された {{goto ConduitCfgEnum,ConduitCfgEnum}} 値はサポートされません。"
,0x107A,"{{span style='color:blue;font-family:monospace;',CONDERR_INVALID_ARGSSIZE}}",この引数サイズは有効ではありません。
,0x107B,"{{span style='color:blue;font-family:monospace;',CONDERR_UNSUPPORTED_STRUCT_VERSION}}",この構造体のバージョン番号はハンドヘルドでサポートされません。
,0x107C,"{{span style='color:blue;font-family:monospace;',CONDERR_NOCLIENTINFO_AVAILABLE}}",利用可能なクライアント情報がありません。
{{div_end}}
{{div_begin id="bottom"}}
{{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}}
[[← 5 章に戻る|C/C++ Sync Suite Reference601/5]] [[↑トップへ|C/C++ Sync Suite Reference601]] [[7 章に進む →|C/C++ Sync Suite Reference601/7]]
{{div_end}}