{{div_begin}} [[← 0 章に戻る|Palm OS Programmer's API Reference/0]] [[↑トップへ|Palm OS Programmer's API Reference]] [[2 章に進む →|Palm OS Programmer's API Reference/2]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!1 アプリケーション起動コード {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *{{goto Launch Codes,起動コード}} **{{goto sysAppLaunchCmdAddRecord,sysAppLaunchCmdAddRecord}} **{{goto sysAppLaunchCmdAlarmTriggered,sysAppLaunchCmdAlarmTriggered}} **{{goto sysAppLaunchCmdAttention,sysAppLaunchCmdAttention}} **{{goto sysAppLaunchCmdCardLaunch,sysAppLaunchCmdCardLaunch}} **{{goto sysAppLaunchCmdCountryChange,sysAppLaunchCmdCountryChange}} **{{goto sysAppLaunchCmdDisplayAlarm,sysAppLaunchCmdDisplayAlarm}} (未訳) **{{goto sysAppLaunchCmdExgAskUser,sysAppLaunchCmdExgAskUser}} (未訳) **{{goto sysAppLaunchCmdExgGetData,sysAppLaunchCmdExgGetData}} (未訳) **{{goto sysAppLaunchCmdExgPreview,sysAppLaunchCmdExgPreview}} (未訳) **{{goto sysAppLaunchCmdExgReceiveData,sysAppLaunchCmdExgReceiveData}} (未訳) **{{goto sysAppLaunchCmdFind,sysAppLaunchCmdFind}} (未訳) **{{goto sysAppLaunchCmdGoTo,sysAppLaunchCmdGoTo}} (未訳) **{{goto sysAppLaunchCmdGoToURL,sysAppLaunchCmdGoToURL}} (未訳) **{{goto sysAppLaunchCmdHandleSyncCallApp,sysAppLaunchCmdHandleSyncCallApp}} **{{goto sysAppLaunchCmdInitDatabase,sysAppLaunchCmdInitDatabase}} **{{goto sysAppLaunchCmdLookup,sysAppLaunchCmdLookup}} **{{goto sysAppLaunchCmdNormalLaunch,sysAppLaunchCmdNormalLaunch}} **{{goto sysAppLaunchCmdNotify,sysAppLaunchCmdNotify}} **{{goto sysAppLaunchCmdOpenDB,sysAppLaunchCmdOpenDB}} **{{goto sysAppLaunchCmdPanelCalledFromApp,sysAppLaunchCmdPanelCalledFromApp}} **{{goto sysAppLaunchCmdReturnFromPanel ,sysAppLaunchCmdReturnFromPanel }} **{{goto sysAppLaunchCmdSaveData,sysAppLaunchCmdSaveData}} **{{goto sysAppLaunchCmdSyncNotify,sysAppLaunchCmdSyncNotify}} **{{goto sysAppLaunchCmdSystemLock ,sysAppLaunchCmdSystemLock }} **{{goto sysAppLaunchCmdSystemReset,sysAppLaunchCmdSystemReset}} **{{goto sysAppLaunchCmdTimeChange,sysAppLaunchCmdTimeChange}} **{{goto sysAppLaunchCmdURLParams,sysAppLaunchCmdURLParams}} (未訳) *{{goto Launch Flags,起動フラグ}} {{div_end}} {{div_begin "style='position:relative;padding:0px;padding-right:5px;padding-left:10px;margin-right:250px;margin-top:20px;width:auto;border-right:dotted;border-right-width:2px;border-right-color:silver;'"}} この章ではあらかじめ定義されているアプリケーション起動コードについて説明します。起動コードはヘッダファイル {{span font-family='monospace',SystemMgr.h}} で宣言されています。関連パラメータ ブロックは {{span font-family='monospace',AppLaunchCmd.h}}, {{span font-family='monospace',AlarmMgr.h}}, {{span font-family='monospace',ExgMgr.h}}, {{span font-family='monospace',Find.h}} で宣言されています。 {{goto Table 1.1,表 1.1}} にはすべての Palm OS 標準起動コードがリストアップされています。より詳しい情報は表のすぐ後に記述されています。 *{{goto Launch Codes,起動コード}} *{{goto Launch Flags,起動フラグ}} 起動コードとは何か、どのようにそれを使うか学ぶためには、''Palm OS Programmer's Companion, vol. I'' の[[「アプリケーションの開始と終了」|Palm OS Programmer's Companion Volume I/2]]という章を読んでください。 {{anchor Table 1.1}} '''表 1.1 Palm OS 起動コード''' ,コード,実行内容 ,"{{goto scptLaunchCmdExecuteCmd,scptLaunchCmdExecuteCmd|Palm OS Programmer's API Reference/68}}",指定されたネットワーク ログイン スクリプト プラグイン コマンドを実行します。 ,"{{goto scptLaunchCmdListCmds,scptLaunchCmdListCmds|Palm OS Programmer's API Reference/68}}",ネットワーク スクリプト プラグインが実行するコマンドについての情報を提供します。 ,"{{goto sysAppLaunchCmdAddRecord,sysAppLaunchCmdAddRecord}}",データベースにレコードを追加します。 ,"{{goto sysAppLaunchCmdAlarmTriggered,sysAppLaunchCmdAlarmTriggered}}",次のアラームのスケジュールを立てたり、アラーム トーン鳴らすなどの迅速さが要求されるアクションを行います。 ,"{{goto sysAppLaunchCmdAttention,sysAppLaunchCmdAttention}}",Attention マネージャに要求されたアクションを行います。 ,"{{goto sysAppLaunchCmdCardLaunch,sysAppLaunchCmdCardLaunch}}",アプリケーションを起動します。この起動コードは拡張カードからアプリケーションを起動します。 ,"{{goto sysAppLaunchCmdCountryChange,sysAppLaunchCmdCountryChange}}",カントリーの変化に対応します。 ,"{{goto sysAppLaunchCmdDisplayAlarm,sysAppLaunchCmdDisplayAlarm}}",指定されたアラーム ダイアログを表示するか、アラーム関連の一定時間後のアクションを行います。 ,"{{goto sysAppLaunchCmdExgAskUser,sysAppLaunchCmdExgAskUser}}",Exchange マネージャ経由でデータを受け取りたい場合に、ユーザ問合せダイアログの表示の上にアプリケーションを上書きさせます。 ,"{{goto sysAppLaunchCmdExgGetData,sysAppLaunchCmdExgGetData}}",アプリケーションに Exchange マネージャを使ってデータを送信するよう指示します。 ,"{{goto sysAppLaunchCmdExgPreview,sysAppLaunchCmdExgPreview}}",アプリケーションに Exchange マネージャを使ってプレビューを表示するよう指示します。 ,"{{goto sysAppLaunchCmdExgReceiveData,sysAppLaunchCmdExgReceiveData}}",アプリケーションに Exchange マネージャを使ってデータを受信するよう指示します。 ,"{{goto sysAppLaunchCmdFind,sysAppLaunchCmdFind}}",文字列を検索します。 ,"{{goto sysAppLaunchCmdGoTo,sysAppLaunchCmdGoTo}}",指定されたレコードのところへ行き、それを表示し、オプションとして指定されたテキストを選択します。 ,"{{goto sysAppLaunchCmdGoToURL,sysAppLaunchCmdGoToURL}}",アプリケーションを起動し、URL を開きます。 ,"{{goto sysAppLaunchCmdHandleSyncCallApp,sysAppLaunchCmdHandleSyncCallApp}}",アプリケーションの Conduit 命令があると、アプリケーション特有の操作を行います。(訳者注: Conduit とは母艦と Palm とでデータを同期させる設定書類) ,"{{goto sysAppLaunchCmdInitDatabase,sysAppLaunchCmdInitDatabase}}",データベースを初期化します。 ,"{{goto sysAppLaunchCmdLookup,sysAppLaunchCmdLookup}}","データを調べます。{{span style='color:blue;font-family:monospace;',sysAppLaunchCmdFind}} とは異なり、間接指定レベルを含みます。例えば、ある名前と関連する電話番号を調べます。" ,"{{goto sysAppLaunchCmdNormalLaunch,sysAppLaunchCmdNormalLaunch}}",普通に起動します。 ,"{{goto sysAppLaunchCmdNotify,sysAppLaunchCmdNotify}}",イベントについて通知します。 ,"{{goto sysAppLaunchCmdOpenDB,sysAppLaunchCmdOpenDB}}",アプリケーションを起動し、データベースを開きます。 ,"{{goto sysAppLaunchCmdPanelCalledFromApp,sysAppLaunchCmdPanelCalledFromApp}}",設定パネルに対して、そのパネルを所有する設定アプリケーションではなく別のアプリケーションから呼び出されたことを知らせます。 ,"{{goto sysAppLaunchCmdReturnFromPanel,sysAppLaunchCmdReturnFromPanel}}",アプリケーションに対して、設定パネルが呼び出された後に起動するよう指示します。 ,"{{goto sysAppLaunchCmdSaveData,sysAppLaunchCmdSaveData}}",データを保存します。しばしば検索操作の前に指示されます。 ,"{{goto sysAppLaunchCmdSyncNotify,sysAppLaunchCmdSyncNotify}}",HotSync が完了したことをアプリケーションに通知します。 ,"{{goto sysAppLaunchCmdSystemLock,sysAppLaunchCmdSystemLock}}",セキュリティ アプリケーションにシステムをロックするよう指示します。 ,"{{goto sysAppLaunchCmdSystemReset,sysAppLaunchCmdSystemReset}}",システム リセットに応答します。UI はこの間にコードを起動することができません。 ,"{{goto sysAppLaunchCmdTimeChange,sysAppLaunchCmdTimeChange}}",システム時間の変更に応答します。 ,"{{goto sysAppLaunchCmdURLParams,sysAppLaunchCmdURLParams}}",Web Clipping アプリケーション Viewer からのパラメータと一緒にアプリケーションを起動します。 !!{{anchor 起動コード}}起動コード {{goto top,^TOP^}} ここでは起動コードの補足情報を提供します。いくつかの起動コードでは、起動コードの追加情報を提供するパラメータ ブロックを列挙します。 !{{anchor sysAppLaunchCmdAddRecord}}sysAppLaunchCmdAddRecord {{goto top,^TOP^}} レコードをアプリケーションのデータベースに追加します。 この起動コードは、メッセージをメールまたは iMessenger (Palm VII オーガナイザ) アプリケーションの送信ボックスに追加するために使用されます。アドレスや本文などのメッセージに関する情報をパラメータ ブロックに収めて送ります。iMessenger では、パラメータ ブロックの {{span style='color:blue;font-family:monospace;',edit}} フィールドをセットすることで、iMessenger が編集画面を表示するかどうか制御することができます。編集画面を表示する場合は {{span style='color:blue;font-family:monospace;',true}} を、表示しない場合は {{span style='color:blue;font-family:monospace;',false}} をセットします。 iMessenger 経由でのメッセージの送信に関するより詳細な情報を得るには、''Palm OS Programmer's Companion, vol. II, Communications'' の [[「Email メッセージの送信」|Palm OS Programmer's Companion Volume II/9-4]] を参照してください。 //---- //'''重要:''' {{goto Wireless Internet Feature Set,Wireless Internet Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、iMessenger は実装されます。メールへの実装は、OS バージョン 3.0 以降です。 //---- ::重要 :::{{goto Wireless Internet Feature Set,Wireless Internet Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、iMessenger は実装されます。メールへの実装は、OS バージョン 3.0 以降です。 '''メール アプリケーションのための sysAppLaunchCmdAddRecord パラメータ ブロック''' '''Prototype''' typedef enum { mailPriorityHigh, mailPriorityNormal, mailPriorityLow } MailMsgPriorityType; typedef struct { Boolean secret; Boolean signature; Boolean confirmRead; Boolean confirmDelivery; MailMsgPriorityType priority; UInt8 padding Char *subject; Char *from; Char *to; Char *cc; Char *bcc; Char *replyTo; Char *body; } MailAddRecordParamsType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',secret}} **{{span style='color:blue;font-family:monospace;',True}} に設定するとメッセージは秘密であるとマークされます。 *{{span style='color:blue;font-family:monospace;',signature}} **{{span style='color:blue;font-family:monospace;',True}} に設定するとメール アプリケーションの設定からの Signature がメッセージに付加されます。 *{{span style='color:blue;font-family:monospace;',confirmRead}} **{{span style='color:blue;font-family:monospace;',True}} に設定するとメッセージが読まれたときに確認メッセージが送信されます。 *{{span style='color:blue;font-family:monospace;',confirmDelivery}} **{{span style='color:blue;font-family:monospace;',True}} に設定するとメッセージが配達されたときに確認メッセージが送信されます。 *{{span style='color:blue;font-family:monospace;',priority}} **メッセージの優先順位です。{{span style='color:blue;font-family:monospace;',MailMsgPriorityType}} の列挙型の 1 つを指定してください。 *{{span style='color:blue;font-family:monospace;',padding}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',subject}} **メッセージの題名です(オプション)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',from}} **メッセージの送信者です(送信メールでは使用されません)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',to}} **メッセージ受信者のアドレスです(必須)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',cc}} **cc 受信者のアドレスです(オプション)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',bcc}} **bcc 受信者のアドレスです(オプション)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',replyTo}} **返信先のアドレスです(オプション)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',body}} **メッセージのテキストです(必須)。null で終了する文字列です。 '''iMessenger アプリケーション用の sysAppLaunchCmdAddRecord パラメータ ブロック''' '''Prototype''' typedef struct { UInt16 category; Boolean edit; Boolean signature; Char *subject; Char *from; Char *to; Char *replyTo; Char *body; } MsgAddRecordParamsType; '''Fields''' *{{span style='color:blue;font-family:monospace;',category}} **メッセージを置くカテゴリです。以下のカテゴリから一つを指定してください。 ***{{span style='color:blue;font-family:monospace;',MsgInboxCategory}} ***{{span style='color:blue;font-family:monospace;',MsgOutboxCategory}} ***{{span style='color:blue;font-family:monospace;',MsgDeleteCategory}} ***{{span style='color:blue;font-family:monospace;',MsgFiledCategory}} ***{{span style='color:blue;font-family:monospace;',MsgDraftCategory}} *{{span style='color:blue;font-family:monospace;',edit}} **{{span style='color:blue;font-family:monospace;',True}} に設定するとメッセージは編集画面に表示されます。{{span style='color:blue;font-family:monospace;',False}} に設定するとメッセージは送信ボックスに置かれ、編集画面は表示されません。カテゴリが {{span style='color:blue;font-family:monospace;',MsgOutboxCategory}} にセットされている場合にのみ {{span style='color:blue;font-family:monospace;',true}} を指定できます。 *{{span style='color:blue;font-family:monospace;',signature}} **{{span style='color:blue;font-family:monospace;',True}} に設定すると iMessenger アプリケーション設定からの Signature がメッセージに付加されます。 *{{span style='color:blue;font-family:monospace;',subject}} **メッセージの題名です(オプション)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',from}} **メッセージの送信者です(送信メールでは使用されません)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',to}} **メッセージ受信者のアドレスです(必須)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',replyTo}} **返信先のアドレスです(オプション)。null で終了する文字列です。 *{{span style='color:blue;font-family:monospace;',body}} **メッセージのテキストです(必須)。null で終了する文字列です。 !{{anchor sysAppLaunchCmdAlarmTriggered}}sysAppLaunchCmdAlarmTriggered {{goto top,^TOP^}} 次のアラームのスケジュールを立てるまたはアラームを鳴らすなどの素早いアクションを実行します。 この起動コードは、可能な限り実際のアラーム時刻に近い時刻に送られます。この時、アプリケーションはブロックされない素早いアクションを実行するかもしれません。同時に複数のアプリケーションのための複数のアラームがある場合、それらは保留されるかもしれません。1 つのアラーム表示がシステムをブロックしたり、他のアプリケーションがそれらのアラームを適時に受け取るのを妨げたりすべきではありません。{{goto sysAppLaunchCmdDisplayAlarm,sysAppLaunchCmdDisplayAlarm}} が送られるとき、より時間のかかるアクションを実行する機会が得られるかもしれません。 '''sysAppLaunchCmdAlarmTriggered パラメータ ブロック''' '''Prototype''' typedef struct SysAlarmTriggeredParamType { UInt32 ref; UInt32 alarmSeconds; Boolean purgeAlarm; UInt8 padding; } SysAlarmTriggeredParamType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',→ ref}} **アラームが {{goto AlmSetAlart,AlmSetAlart()}} にセットされているときに指定される呼び出し元定義値。 *{{span style='color:blue;font-family:monospace;',→ alarmSeconds}} **アラームが {{span style='color:blue;font-family:monospace;',AlmSetAlart}} にセットされているときに指定される日付/時間。1904 年 1 月 1 日からの秒数としてこの値は与えられます。 *{{span style='color:blue;font-family:monospace;',← purgeAlarm}} **返り時に、アラームをアラーム テーブルから削除すべきなら {{span style='color:blue;font-family:monospace;',true}} にセットされます。このアラームで他のプロセスを実行したくない場合、アプリケーションが {{goto sysAppLaunchCmdDisplayAlarm,sysAppLaunchCmdDisplayAlarm}} を受信するのを防ぐための最適化としてこれを使用します。起動コードを受信したい場合、このフィールドを {{span style='color:blue;font-family:monospace;',false}} にセットします。 *{{span style='color:blue;font-family:monospace;',padding}} **使用されません。 !{{anchor sysAppLaunchCmdAttention}}sysAppLaunchCmdAttention {{goto top,^TOP^}} '''目的''' アテンション マネージャによって要求されるアクションを実行します。この起動コードは {{span style='color:blue;font-family:monospace;',AttnCommand}} タイプを伴って起こります; このタイプはアラームを要求されるアプリケーションに送ることができるコマンドのセットを指定します。 '''Prototype''' typedef UInt16 AttnCommand; '''コメント''' 以下の表は {{span style='color:blue;font-family:monospace;',AttnCommand}} がとり得る値をリストにしています。 {{anchor Table1.2}} '''表 1.2 sysAppLaunchCmdAttention コマンド''' ,定数,値,説明 ,"{{span style='color:blue;font-family:monospace;',AttnCommand_drawDetail}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)1)}}","アプリケーションはアテンション ダイアログの詳細な内容を描く必要があることを示します。コマンド引数パラメータはタイプ {{goto AttnCommandDrawDetailArgsType,AttnCommandDrawDetailArgsType}} の構造体を指します。" ,"{{span style='color:blue;font-family:monospace;',AttnCommand_drawList}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)2)}}","アプリケーションはアテンション ダイアログの中に適切なリスト アイテムを描く必要があることを示します。コマンド引数パラメータはタイプ {{goto AttnCommandDrawListArgsType,AttnCommandDrawListArgsType}} の構造体を指します。" ,"{{span style='color:blue;font-family:monospace;',AttnCommand_customEffect}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)3)}}","アテンション マネージャはユーザのアテンションを得るための何かをしていて、いずれかのアプリケーション指定の特別な効果を発揮すべきであることを示します。このコマンドは、アテンション アイテムがたいていのアプリケーションは呼び出さない {{goto AttnGetAttention,AttnGetAttention}} の構造体を呼び出すとき、アテンション アイテムに送られるだけです。" ,"{{span style='color:blue;font-family:monospace;',AttnCommand_goThere}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)4)}}","アプリケーションにアイテムまでナビゲートするように伝えます。コマンド引数パラメータは {{span style='color:blue;font-family:monospace;',NULL}} です。アプリケーションは一般に、自分自身を起動させるこのコマンドを受け取ると、{{goto SysAppLaunch,SysAppLaunc()|Palm OS Programmer's API Reference/54}} を呼び出します。" ,"{{span style='color:blue;font-family:monospace;',AttnCommand_goIt}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)5)}}","アプリケーションにユーザがアイテムを解散させていることを知らせます。コマンド引数パラメータは {{span style='color:blue;font-family:monospace;',NULL}} です。アプリケーションはこの時点でメモリをクリーン アップすることを選択するかもしれません。" ,"{{span style='color:blue;font-family:monospace;',AttnCommand_snooze}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)6)}}","アプリケーションにユーザがうたた寝していることを知らせます。コマンド引数パラメータは {{span style='color:blue;font-family:monospace;',NULL}} です。たいていのアプリケーションはこのコマンドの受け取り時に何もしません。このコマンドは現在保留されている、目立っている、または微妙な状態のありとあらゆるアイテムに渡されます。1 つ以上のアイテムを保留させているアプリケーションは何度か呼び出されます。" ,"{{span style='color:blue;font-family:monospace;',AttnCommand_iterate}}","{{span style='color:blue;font-family:monospace;',((AttnCommand)7)}}",このコマンドは、アテンション アイテムを列挙している間に、アプリケーションに渡されます。このコマンドは、HotSync 操作後に、アプリケーションが各アイテムを検証することを許可し、古いまたは無効なアイテムを更新または削除する場合に特に有用です。 {{anchor AttnCommandDrawDetailsArgsType}} '''AttnCommandDrawDetailsType''' {{span style='color:blue;font-family:monospace;',AttnCommand_drawDetail}} がコールバック関数経由または {{goto sysAppLaunchCmdAttention,sysAppLaunchCmdAttention}} 起動コードを伴うパラメータとしてのどちらかでアプリケーションに渡されるとき、アプリケーションはアテンション ダイアログの詳細内容を描く必要があります。{{span style='color:blue;font-family:monospace;',AttnCommandDrawDetailArgsType}} 構造体は {{span style='color:blue;font-family:monospace;',AttnCommand_drawDetail}} コマンドを伴い、ダイアログの内容を描くのに必要とされる情報を提供します。 '''Prototype''' typedef struct { RectangleType bounds; Boolean firstTime; AttnFlagsType flags; } AttnCommandDrawDetailArgsType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',bounds}} **描くエリアのためのウィンドウから見た相対的な領域を保持します。描画が領域外で起こるのを防ぐために貼り込む領域もこのボックスの寸法にセットされます。 *{{span style='color:blue;font-family:monospace;',firstTime}} **ユーザがまだこのアイテムを見たことがない場合、{{span style='color:blue;font-family:monospace;',true}} にセットします。このフィールドの値は、例えば、ユーザが以前何らかの特別な方法で見たことがないアテンションを表示するために使用される可能性があります。 *{{span style='color:blue;font-family:monospace;',flags}} **このアテンションが開発者によって渡されるカスタム フラグと結合させようとするグローバル ユーザ設定。例えば、グローバル設定はサウンドをミュートするようになっていて、かつ、開発者フラグが両方とも 0 である場合、{{span style='color:blue;font-family:monospace;',AttnFlags_NoSound}} フラグは ON で、{{span style='color:blue;font-family:monospace;',AttnFlags_AlowaysSound}} は OFF です。 {{anchor AttnCommandDrawListArgsType}} '''AttnCommandDrawListArgsType''' {{span style='color:blue;font-family:monospace;',AttnCommand_drawList}} がコールバック関数経由または {{goto sysAppLaunchCmdAttention,sysAppLaunchCmdAttention}} 起動コードを伴うパラメータとしてのどちらかでアプリケーションに渡されるとき、アプリケーションはアテンション ダイアログの中に適切なリスト アイテムを描く必要があります。{{span style='color:blue;font-family:monospace;',AttnCommandDrawListArgsType}} 構造体は {{span style='color:blue;font-family:monospace;',AttnCommand_drawList}} コマンドを伴い、ダイアログの内容を描くのに必要とされる情報を提供します。 '''Prototype''' typedef struct { RectangleType bounds; Boolean firstTime; AttnFlagsType flags; } AttnCommandDrawListArgsType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',bounds}} **描くエリアのためのウィンドウから見た相対的な領域を保持します。描画が領域外で起こるのを防ぐために貼り込む領域もこのボックスの寸法にセットされます。 *{{span style='color:blue;font-family:monospace;',firstTime}} **ユーザがまだこのアイテムを見たことがない場合、{{span style='color:blue;font-family:monospace;',true}} にセットします。このフィールドの値は、例えば、このアテンション アイテムが初めてユーザに表示されるときにカスタム サウンドを引き起こすために使用される可能性があります。 *{{span style='color:blue;font-family:monospace;',flags}} **このアテンションが開発者によって渡されるカスタム フラグと結合させようとするグローバル ユーザ設定。例えば、グローバル設定はサウンドをミュートするようになっていて、かつ、開発者フラグが両方とも 0 である場合、{{span style='color:blue;font-family:monospace;',AttnFlags_NoSound}} フラグは ON で、{{span style='color:blue;font-family:monospace;',AttnFlags_AlowaysSound}} は OFF です。 {{anchor AttnCommandGotItArgsType}} '''AttnCommandGotItArgsType''' {{span style='color:blue;font-family:monospace;',AttnCommand_goIt}} がコールバック関数経由または {{goto sysAppLaunchCmdAttention,sysAppLaunchCmdAttention}} 起動コードを伴うパラメータとしてのどちらかでアプリケーションに渡されるとき、{{span style='color:blue;font-family:monospace;',AttnCommandGotItArgsType}} 構造体によって伴われて起こります。この構造体は、ユーザがアテンションを解散させたために {{span style='color:blue;font-family:monospace;',AttnCommand_goIt}} コマンドが生成されたのかどうか、または、システムが単純にあなたのアプリケーションに {{goto AttnForgetIt,AttnForgetIt()}} が呼び出されたことを知らせているのかどうかを示します。あなたのアプリケーションは通常、あなたのアプリケーションが {{span style='color:blue;font-family:monospace;',AttnForgetIt,AttnForgetIt}} を呼び出した場合、個者のケースを無視します。 '''Prototype''' typedef struct { Boolean dismissedByUser; } AttnCommandGotItArgsType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',dismissedByUser}} **{{span style='color:blue;font-family:monospace;',true}} の場合、ユーザがアテンションを解散させたことを示します。{{span style='color:blue;font-family:monospace;',false}} の場合、{{span style='color:blue;font-family:monospace;',AttnForgetIt}} 呼び出しによって {{span style='color:blue;font-family:monospace;',AttnCommand_gotIt}} コマンドが生成されたことを示します。 !{{anchor sysAppLaunchCmdCardLaunch}}sysAppLaunchCmdCardLaunch {{goto top,^TOP^}} この起動コードは拡張カードから実行されるアプリケーションに送られます。アプリケーションは、この起動コードを送られるのに先立って、デバイスのメイン メモリにコピーされます。アプリケーションが {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdCardLaunch}} に応答しない場合、そのアプリケーションは {{span style='color:blue;font-family:monospace;',sysAppLaunchNormalLaunch}} 起動コードを送られます。自分自身がアプリケーション拡張カードから起動されているという知識を利用することができるアプリケーションは、{{span style='color:blue;font-family:monospace;',sysAppLaunchCmdCardLaunch}} を伴うパラメータ ブロックのフィールドを調べることを望むかもしれません。 ランチャーが {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdCardLaunch}} をアプリケーションに送るとき、それはまた {{goto sysAppLaunchFlagNewGlobals,sysAppLaunchFlagNewGlobals}} フラグと {{goto sysAppLaunchFlagUIApp,sysAppLaunchFlagUIApp}} フラグも送ります。しかしながら、これら 2 つのフラグは {{span style='color:blue;font-family:monospace;',start.prc}} には送られません。アプリケーションは決してこの起動コード受信時にユーザと相互作用すべきではなく、使用可能なグローバル(訳者補足: フラグ?)に依存すべきではありません。この起動コードはアプリケーションにそのアプリケーションがカードから起動されようとしているということを通知することを意図するものです。アプリケーションは通常この起動コード受信時にいくつかの状態情報を保存し、{{span style='color:blue;font-family:monospace;',sysAppLaunchNormalLaunch}} を受信したときはそれらの処理の大部分を実行します。 {{anchor sysAppLaunchCmdCardLaunch Parameter Block}} '''sysAppLaunchCmdCardLaunch パラメータ ブロック''' '''Prototype''' typedef struct { Err err; UInt16 volRefNum; const Char *path; UInt16 startFlags; } SysAppLaunchCmdCardType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',← err}} **始めは {{span style='color:blue;font-family:monospace;',expErrUnsupportedOperation}} にセットされています。{{span style='color:blue;font-family:monospace;',sysAppLaunchCmdCardLaunch}} を認識してその後に続く {{span style='color:blue;font-family:monospace;',sysAppLaunchNormalLaunch}} 起動コードを受信したくないアプリケーションはこのフィールドを {{span style='color:blue;font-family:monospace;',errNone}} にセットすべきです。 *{{span style='color:blue;font-family:monospace;',→ volRefNum}} **アプリケーションが起動されようとしているボリュームの参照番号。 *{{span style='color:blue;font-family:monospace;',→ path}} **起動されるアプリケーションへの完全なパス。 *{{span style='color:blue;font-family:monospace;',←→ startFlags}} **このフィールドは以下のフラグの組み合わせで構成されます: {{div_begin style="margin-left:5em;"}} *{{span style='color:blue;font-family:monospace;',sysAppLaunchStartFlagAutoStart}} **アプリケーションはカードの挿入時に自動的に実行されるということを示します。 *{{span style='color:blue;font-family:monospace;',sysAppLaunchStartFlagNoUISwitch}} **UI がアプリケーションに切り替わるのを防ぐためにこのビットをセットします。 *{{span style='color:blue;font-family:monospace;',sysAppLaunchStartFlagNoAutoDelete}} **関連するボリュームがアンマウントされたときにVFS マネージャがメイン メモリの中にあるアプリケーションのコピーを削除するのを防ぐためにこのビットをセットします。 {{div_end}} !{{anchor sysAppLaunchCmdCountryChange}}sysAppLaunchCmdCountryChange {{goto top,^TOP^}} カントリーの変更に応答します。 アプリケーションは、適切な数区切り文字を使って、数を表示を変更すべきです。これを行うために、{{goto LocGetNumberSeparators,LocGetNumberSeparators()|Palm OS Programmer's API Reference/60}}, {{goto StrLocalizeNumber,StrLocalizeNumber()|Palm OS Programmer's API Reference/52}}, {{goto StrDelocalizeNumber,StrDelocalizeNumber()|Palm OS Programmer's API Reference/52}} を呼び出します。 !{{anchor sysAppLaunchCmdDisplayAlarm}}sysAppLaunchCmdDisplayAlarm {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdExgAskUser}}sysAppLaunchCmdExgAskUser {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdExgGetData}}sysAppLaunchCmdExgGetData {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdExgPreview}}sysAppLaunchCmdExgPreview {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdExgReceiveData}}sysAppLaunchCmdExgReceiveData {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdFind}}sysAppLaunchCmdFind {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdGoTo}}sysAppLaunchCmdGoTo {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdGoToURL}}sysAppLaunchCmdGoToURL {{goto top,^TOP^}} ''(未訳)'' !{{anchor sysAppLaunchCmdHandleSyncCallApp}}sysAppLaunchCmdHandleSyncCallApp {{goto top,^TOP^}} ハンドヘルド アプリケーションにコンジットのためのなんらかの処理を行うよう要求するためにコンジットから {{span style='color:blue;font-family:monospace;',SyncCallRemoteModule}} が呼び出されるときに、この起動コマンドはデスクトップ リンク サーバによって送信されます。 この起動コードとともに、あなたは {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdHandleSyncCallApp}} パラメータ ブロックを受け取ります。これはデスクトップの {{span style='color:blue;font-family:monospace;',SyncCallRemoteModule}} に渡されるすべての情報とデスクトップに結果を戻す必要があるフィールドを保持します。{{goto DlkControl,DlkControl()|Palm OS Programmer's API Reference/60}} 呼び出しによってコンジットに結果を返します。この起動コードをどのように扱うかの例は、''Palm OS Programmer's API Reference'' の {{span style='color:blue;font-family:monospace;',DlkControl}} のコメントを参照してください。 {{anchor sysAppLaunchCmdHandleSyncCallApp Parameter Block}} '''sysAppLaunchCmdHandleSyncCallApp Parameter Block パラメータ ブロック''' '''Prototype''' typedef struct SysAppLaunchCmdHandleSyncCallAppType { UInt16 pbSize; UInt16 action; void *paramP; UInt32 dwParamSize; void *dlRefP; Boolean handled; UInt8 reserved1; Err replyErr; UInt32 dwReserved1; UInt32 dwReserved2; } SysAppLaunchCmdHandleSyncCallAppType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',pbSize}} **このパラメータ ブロックのサイズ (バイト数)。{{span style='color:blue;font-family:monospace;',sizeof(SysAppLaunchCmdHandleSyncCallAppType)}} にセットします。 *{{span style='color:blue;font-family:monospace;',action}} **アクション ID 呼び出し (アプリケーション特有)。 *{{span style='color:blue;font-family:monospace;',paramP}} **パラメータ ブロックへのポインタ (アクション ID 呼び出し特有)。 *{{span style='color:blue;font-family:monospace;',dwParamSize}} **パラメータ ブロックのサイズ (バイト数)。 *{{span style='color:blue;font-family:monospace;',dlRefP}} **DesktopLink 参照ポインタ。{{span style='color:blue;font-family:monospace;',dlkCtlSendCallAppReply}} 制御コードで {{goto DlkControl,DlkControl()|Palm OS Programmer's API Reference/60}} を呼び出しているときはこの値に {{goto DlkCallAppReplyParamType,DlkCallAppReplyParamType|Palm OS Programmer's API Reference/60}} 構造体をセットします。 *{{span style='color:blue;font-family:monospace;',handled}} **DLServer によって {{span style='color:blue;font-family:monospace;',false}} に初期化されます; ハンドルされた場合、あなたのアプリケーションは {{span style='color:blue;font-family:monospace;',true}} にセットしなければなりません (そして、あなたのハンドラは {{span style='color:blue;font-family:monospace;',dlkCtlSendCallAppReply}} 制御コードで {{span style='color:blue;font-family:monospace;',DlkControl}} を呼び出さなければなりません)。あなたのハンドラがコンジットに応答を反さない場合、このフィールドは {{span style='color:blue;font-family:monospace;',false}} にセットされたままです。そのような場合、DesktopLink サーバ はデフォルトの「未知の要求」 ("unknown request") という応答を送信します。 *{{span style='color:blue;font-family:monospace;',reserved1}} **予約されています。{{span style='color:blue;font-family:monospace;',NULL}} にセットします。 *{{span style='color:blue;font-family:monospace;',replyErr}} **{{span style='color:blue;font-family:monospace;',dlkCtlSendCallAppReply}} 制御コードを伴った {{goto DlkControl,DlkControl()|Palm OS Programmer's API Reference/60}} 呼び出しから返されるエラー コード。 *{{span style='color:blue;font-family:monospace;',dwReserved1}} **予約されています。{{span style='color:blue;font-family:monospace;',NULL}} にセットします。 *{{span style='color:blue;font-family:monospace;',dwReserved2}} **予約されています。{{span style='color:blue;font-family:monospace;',NULL}} にセットします。 !{{anchor sysAppLaunchCmdInitDatabase}}sysAppLaunchCmdInitDatabase {{goto top,^TOP^}} この起動コードは、データベースを作成しなさいという要求への応答として、デスクトップ リンク サーバによって送信されます。これは要求されたデータベースの作成者 ID と一致する作成者 ID を持つアプリーションに送られます。 これはたいてい {{span style='color:blue;font-family:monospace;','data'}} データベースがデスクトップからインスールまたはリストアされようとしているときに起こります。この場合、HotSync はデバイス上に新しいデータベースを作成し、{{span style='color:blue;font-family:monospace;',sysAppLaunchCmdInitDatabase}} コマンド経由でそのデータベースをアプリケーションに渡します。これにより、アプリケーションは必要な初期化を実行することができます。それからHotSync は、レコードをデスクトップ データベースからデバイス データベースへ転送します。 HotSync を使用してのデータベースのインストール中に Palm OS アプリケーションがクラッシュする場合、その原因はアプリケーションが {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdInitDatabase}} コマンドを適切に処理していないからかもしれません。特にグローバル変数にアクセスしないように気をつけてください。 システムはデータベースを作成し、それを初期化するためにアプリケーションに贈ります。アプリケーションは必要な初期化を行い、それからそのデータベースをシステムにクローズせずに返さなければなりません。 {{anchor sysAppLaunchCmdInitDatabase Parameter Block}} '''sysAppLaunchCmdInitDatabase パラメータ ブロック''' '''Prototype''' typedef struct { DmOpenRef dbP; UInt32 creator; UInt32 type; UInt16 version; } SysAppLaunchCmdInitDatabaseType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',dbP}} **データベース参照。 *{{span style='color:blue;font-family:monospace;',creator}} **データベース作成者。 *{{span style='color:blue;font-family:monospace;',type}} **データベース タイプ。 *{{span style='color:blue;font-family:monospace;',version}} **データベース バージョン。 !{{anchor sysAppLaunchCmdLookup}}sysAppLaunchCmdLookup {{goto top,^TOP^}} システムまたはアプリケーションが他のアプリケーションからの情報を取得するためにこの起動コマンドを送信します。検索 ("Find") とは対照的に、間接指定のレベルがあります; 例えば、この起動コードを名前入力に基づく電話番号の取得に使用することができます。 この機能は現在のところ標準 Palm OS アドレス帳によってサポートされています。 この起動コードをハンドルすることを決定したアプリケーションは、ユーザが入力した文字列を求めてアプリケーションのデータベースで探索し、起動コードのパラメータ ブロックで指定されている一致操作を行わなければなりません。 アプリケーションがユーザに対して他のアプリケーションの参照を許可することを望む場合、そのアプリケーションはこの起動コード - 一致処理を行うために必要なすべての情報を含む - を適切に送信しなければなりません。この起動コード送信の例は {{span style='color:blue;font-family:monospace;',Address.c}} と {{span style='color:blue;font-family:monospace;',AppLaunchCmd.h}} です。これらはあなたの SDK の中に含まれています。 {{anchor sysAppLaunchCmdLookup Parameter Block}} '''sysAppLaunchCmdLookup パラメータ ブロック''' パラメータ ブロックはこの起動コードをサポートするアプリケーションによって定義されます。例として {{span style='color:blue;font-family:monospace;',AppLaunchCmd.h}} を参照してください。 //---- //'''重要:''' {{span style='color:blue;font-family:monospace;',2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 //---- ::重要 :::{{span style='color:blue;font-family:monospace;',2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 !{{anchor sysAppLaunchCmdNormalLaunch}}sysAppLaunchCmdNormalLaunch {{goto top,^TOP^}} システムまたはアプリケーションがアプリケーションを起動するためにこの起動コードを送信します。この起動コードを受け取ると、アプリケーションはフル起動を行い、そのアプリケーションのユーザ インターフェイスを表示すべきです。この起動コードへの応答としてあなたのアプリケーションを起動することについての詳細は、{{goto p2,「通常起動への応答」|Palm OS Programmer's Companion Volume I/2-2}} を参照してください。 この起動コードの受信時にグローバル変数は利用可能です。 '''参照''' {{goto sysAppLaunchCmdCardLaunch,sysAppLaunchCmdCardLaunch}} !{{anchor sysAppLaunchCmdNotify}}sysAppLaunchCmdNotify {{goto top,^TOP^}} システムまたはアプリケーションがアプリケーションにイベントが起こったことを通知するためにこの起動コードを送信します。パラメータ ブロックは他の適切な情報とともに起こったイベントのタイプを指定します。システムによってどの通知がブロードキャストされるを学ぶには、本書の [[「通知」|Palm OS Programmer's API Reference/3]] というタイトルの章を参照してください。 //---- //'''重要:''' {{goto Notification Feature Set,通知 Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 //---- ::重要 :::{{goto Notification Feature Set,通知 Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 {{anchor sysAppLaunchCmdNotify Parameter Block}} '''sysAppLaunchCmdNotify パラメータ ブロック''' {{span style='color:blue;font-family:monospace;',NotifyMgr.h}} で宣言されている {{goto SysNotifyParamType,SysNotifyParamType|Palm OS Programmer's API Reference/3}} 構造体はこの起動コードのパラメータ ブロックのフォーマットを定義します。「通知」章の中にあるこの構造体の説明を参照してください。 !{{anchor sysAppLaunchCmdOpenDB}}sysAppLaunchCmdOpenDB {{goto top,^TOP^}} あなたは Web Clipping Application Viewer アプリケーションにこの起動コードを送信して、そのアプリケーションを起動し、そのアプリケーションにデバイスに保存されている Palm クエリ アプリケーションをオープン、表示させることができます。これはランチャがクエリ アプリケーションを起動するのに使用するメカニズムと同じものです。 //---- //'''重要:''' {{goto Wireless Internet Feature Set,ワイヤレス インタネット Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 //---- ::重要 :::{{goto Wireless Internet Feature Set,ワイヤレス インタネット Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 {{anchor sysAppLaunchCmdOpenDB Parameter Block}} '''sysAppLaunchCmdOpenDB パラメータ ブロック''' '''Prototype''' typedef struct { UInt16 cardNo; LocalID dbID; } SysAppLaunchCmdOpenDBType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',cardNo}} **オープンするデータベースのカード番号。 *{{span style='color:blue;font-family:monospace;',dbID}} **オープンするデータベースのデータベース ID。 !{{anchor sysAppLaunchCmdPanelCalledFromApp}}sysAppLaunchCmdPanelCalledFromApp {{goto top,^TOP^}} {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdPanelCalledFromApp}} と {{goto sysAppLaunchCmdReturnFromPanel,sysAppLaunchCmdReturnFromPanel}} は、アプリケーションがユーザに設定アプリケーションに切り替えることなしに設定を変更させることを許可します。例えば、電卓では、あなたはフォーマット パネルを起動し、数フォーマット設定をセット アップし、それから新しいフォーマットを使用する電卓に直接戻るかもしれません。 {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdPanelCalledFromApp}} は設定パネルに設定アプリケーションから切り替えられたのかどうか、それともあるアプリケーションが変更を行うために呼び出したのかどうかを知らせます。パネルはアプリケーションまたはシステム設定パネルによって所有される設定パネルかもしれません。 この起動コードをハンドルするかもしれないシステム パネルの例として以下のものがあります: *ネットワーク パネル (ネットワーク アプリケーションから呼び出されます) *モデム パネル (モデム選択が必要な場合に呼び出されます) すべての設定パネルはこの起動コードをハンドルしなければなりません。パネルがこのコマンドで起動された場合、そのパネルは以下のことをすべきです: *Done (終了) ボタンを表示する。 *設定アプリケーション内部のナビゲーションのために使用されるパネル切り替えポップ アップ トリガを表示'''しない'''。 //---- //'''重要:''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 //---- ::重要 :::{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 !{{anchor sysAppLaunchCmdReturnFromPanel }}sysAppLaunchCmdReturnFromPanel {{goto top,^TOP^}} この起動コードは {{goto sysAppLaunchCmdPanelCalledFromApp,sysAppLaunchCmdPanelCalledFromApp}} とのつながりの中で使用されます。これはアプリケーションにユーザが呼び出された設定パネルを完了したしたことを知らせます。システムは、直前に呼び出された設定パネルが存在しているときにこの起動コードをアプリケーションに渡します。 //---- //'''重要:''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 //---- ::重要 :::{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 !{{anchor sysAppLaunchCmdSaveData}}sysAppLaunchCmdSaveData {{goto top,^TOP^}} アプリケーションに現在のデータをすべて保存するように指示します。例えば、システムがグローバル検索を実行する前に、アプリケーションはすべてのデータを保存すべきです。 検索コマンドをサポートし、バッファされたデータを持つことができるすべてのアプリケーションはこの起動コードをサポートすべきです。システムはこの起動コードを現在アクティブなアプリケーションに - そのアプリケーションが検索を開始する前に - 送信します。この起動コードを受け取ったアプリケーションは、すべてのバッファされたデータを保存して検索が入力されたテキストと一致するものを見つけられるようにすることによって応答すべきです。 {{anchor sysAppLaunchCmdSaveData Parameter Block}} '''sysAppLaunchCmdSaveData パラメータ ブロック''' '''Prototype''' typedef struct { Boolean uiComing; UInt8 reserved1; } SysAppLaunchCmdSaveDataType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',uiComing}} **起動コードが到着する前にシステム ダイアログが表示される場合は {{span style='color:blue;font-family:monospace;',true}} です。 *{{span style='color:blue;font-family:monospace;',reserved1}} **将来使用するために予約されています。 !{{anchor sysAppLaunchCmdSyncNotify}}sysAppLaunchCmdSyncNotify {{goto top,^TOP^}} この起動コードはアプリケーションに HotSync 操作が起こったことを知らせるためにアプリケーションに送信されます。 この起動コードは HotSync 操作中にデータベースが変更されたアプリケーションにだけ送信されます。 (アプリケーション データベース自体のインストールは変更とみなされます。) レコード データベースは、システムがこの起動コードをどのアプリケーションに送信すればよいのか判断できるようにアプリケーションと同じ作成者 ID を持たなければなりません。 この起動コードはアプリケーションの新しいデータを更新、初期化、検証するための良い機会を提供します。レコードの再ソート、アラームの設定などを行うための機会です。 アプリケーションはデータベースが更新されたときにだけ {{span style='color:blue;font-family:monospace;',sysAppLaunchCmdSyncNotify}} を受け取るので、この起動コードは HotSync 操作が終わるたびに行われるべき操作を実行するためのものとしては適当ではありません。その代わりに、あなたは {{span style='color:blue;font-family:monospace;',sysNotifySyncFinishEvent}} を受け取るために {{goto Notification Feature Set,通知 Feature Set|Palm OS Programmer's API Reference/B-1}} を持つシステムに登録を行うかもしれません。この通知は HotSync 操作の最後に送信され、アプリケーションのデータが変更されたかどうかに関係なくそれを受け取るために登録されているすべてのアプリケーションに送信されます。さらに {{span style='color:blue;font-family:monospace;',sysNotifySyncStartEvent}} 通知もあるということに注意してください。 !{{anchor sysAppLaunchCmdSystemLock}}sysAppLaunchCmdSystemLock {{goto top,^TOP^}} この起動コードはデバイスをロックさせるためのシステム内部セキュリティ アプリケーションに送信されます。 規則として、アプリケーションはこの起動コードに応答する必要はありません。あるアプリケーションがシステム内部セキュリティ アプリケーションと置き換わっている場合、そのアプリケーションはこの起動コードをハンドルしなければなりません。 //---- //'''重要:''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 //---- ::重要 :::{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ実装されます。 !{{anchor sysAppLaunchCmdSystemReset}}sysAppLaunchCmdSystemReset {{goto top,^TOP^}} この起動コードはシステムのソフト リセットまたはハード リセットに応答するためのものです。 アプリケーションはシステムがリセットされたときに行う必要がある初期化、インデックス付け、その他のセットアップを実行することによってこの起動コードに応答することができます。デバイスのリセットについての更なる情報は、''Palm OS Programmer's Companion, vol. I'' の [[「システムのブートとリセット」|Palm OS Programmer's Companion Volume I/11-4]] を参照してください。 {{anchor sysAppLaunchCmdSystemReset Parameter Block}} '''sysAppLaunchCmdSystemReset パラメータ ブロック''' '''Prototype''' typedef struct { Boolean hardReset; Boolean createDefaultDB; } SysAppLaunchCmdSystemResetType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',hardReset}} **システムが {{span style='color:blue;font-family:monospace;',hardReset}} された場合は {{span style='color:blue;font-family:monospace;',true}}。システムが {{span style='color:blue;font-family:monospace;',softReset}} された場合は {{span style='color:blue;font-family:monospace;',false}}。 *{{span style='color:blue;font-family:monospace;',createDefaultDB}} **{{span style='color:blue;font-family:monospace;',true}} の場合、アプリケーションはデフォルトのデータベースを作成しなければなりません。 !{{anchor sysAppLaunchCmdTimeChange}}sysAppLaunchCmdTimeChange {{goto top,^TOP^}} この起動コードはユーザによって行われる日時変更に応答するためのものです。 現在の時刻または日付に依存するアプリケーションはこの起動コードに応答する必要があります。例えば、アラームをセットするアプリケーションはシステム タイムが変更された場合にアラームをキャンセルしたり、異なるアラームをセットすることを望むかもしれません。 {{goto Notification Feature Set,通知 Feature Set|Palm OS Programmer's API Reference/B-1}} を持つシステムでは、アプリケーションはこの起動コードに応答する代わりに {{span style='color:blue;font-family:monospace;',sysNotifyTimeChangeEvent}} 通知を受け取るために登録を行うべきです。{{span style='color:blue;font-family:monospace;',sysAppLaunchCmdTimeChange}} 起動コードはすべてのアプリケーションに送信されます。{{span style='color:blue;font-family:monospace;',sysNotifyTimeChangeEvent}} 通知はそれを受け取るために登録されているアプリケーションだけに送信されるので、{{span style='color:blue;font-family:monospace;',sysAppLaunchCmdTimeChange}} よりも効率的です。 !{{anchor sysAppLaunchCmdURLParams}}sysAppLaunchCmdURLParams {{goto top,^TOP^}} この起動コードは Web Clipping Viewer アプリケーションから他のアプリケーションを起動するために送信されます。 ''(以下未訳)'' !!{{anchor Launch Flags}}起動フラグ {{goto top,^TOP^}} アプリケーションがなんらかの起動コマンドを伴って起動される場合、起動フラグのセットも渡されます。 アプリケーションは、たとえもしそのアプリケーションが起動コードをハンドルする場合であっても、フラグを無視するかもしれません。起動フラグを使用するアプリケーションのために、以下の表は追加情報を提供します: {{anchor Table 1.3}} '''表 1.3 起動フラグ''' ,フラグ,機能 ,"{{span style='color:blue;font-family:monospace;',sysAppLaunchFlagNewGlobals}}",システムがアプリケーションのために新しいグローバル変数の集まり (?) (原文では "globals world") を作成し、初期化した場合にセットされます。メモリ チャンクに対して新しい所有者 ID を適用します。 ,"{{span style='color:blue;font-family:monospace;',sysAppLaunchFlagUIApp}}",UI アプリケーションが起動されようとしている場合にセットされます。 ,"{{span style='color:blue;font-family:monospace;',sysAppLaunchFlagSubCall}}",アプリケーションがサブルーチン呼び出しとしてそのアプリケーションのエントリ ポイントを呼び出している場合にセットされます。これは起動コードに A5 (グローバル) ポインタを呼び出しの間に有効に保っておくことができるということを知らせます。このフラグがセットされている場合、アプリケーションはすでに現在のアプリケーションとして実行されているということを意味します。 //---- //'''重要:''' アプリケーションは起動コードを他のアプリケーションに送信するときに決して起動フラグをセットすべきではありません。起動フラグはシステムだけがセットします。特に、あなたは {{span style='color:blue;font-family:monospace;',SysAppLaunch}} に対する起動フラグとして {{span style='color:blue;font-family:monospace;',sysAppLaunchFlagNewGlobals}} を渡すことは決してすべきではありません。そのような呼び出しを繰り返した場合、最数的にシステムは所有者 ID の不足を引き起こし、新しいアプリケーションの起動は失敗します。 //---- ::重要 :::アプリケーションは起動コードを他のアプリケーションに送信するときに決して起動フラグをセットすべきではありません。起動フラグはシステムだけがセットします。特に、あなたは {{span style='color:blue;font-family:monospace;',SysAppLaunch}} に対する起動フラグとして {{span style='color:blue;font-family:monospace;',sysAppLaunchFlagNewGlobals}} を渡すことは決してすべきではありません。そのような呼び出しを繰り返した場合、最数的にシステムは所有者 ID の不足を引き起こし、新しいアプリケーションの起動は失敗します。 {{div_end}} {{div_begin "style='border-top:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 0 章に戻る|Palm OS Programmer's API Reference/0]] [[↑トップへ|Palm OS Programmer's API Reference]] [[2 章に進む →|Palm OS Programmer's API Reference/2]] {{div_end}}