Palm Programmer's Laboratory

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

Palm OS Programmer's API Reference/3

← 2 章に戻る ↑トップへ 4 章に進む →

3 通知

この章では、ヘッダ ファイル NotifyMgr.h で宣言されている通知についての詳細な情報を提供します。通知は、アプリケーション、共有ライブラリ、システム 拡張、それにある特定のシステム レベルまたはアプリケーション レベルのイベントのその他のコード リソースに情報を伝えるためにブロードキャストされます。

通知はアプリケーション起動コードに似ています。しかしながら、起動コードとは以下の点が異なります:

  • システムは通知を利害関係者にだけブロードキャストします。通知を受け取るために登録を行うには SysNotifyRegister()|Palm OS Programmer's API Reference/43 を使用します。
  • 通知は非アプリケーションに送ることができます。

通知の受信とハンドルについての更なる情報は、本書の 「通知マネージャ」?Palm OS Programmer's Companion, vol. I「ノティフィケーション」 を参照してください。


表 3.1 通知定数

定数 説明
cncNotifyProfileEvent 接続パネルによって使用されている接続プロファイルが変更されました。
kTelTelephonyNotification 電話イベントが起こりました。
ソケット通知 ネットワーク ソケットの変更が起こりました。
sysExternalConnectorAttachEvent デバイスが外部コネクタに取り付けられました。
sysExternalConnectorDetachEvent デバイスが外部コネクタから取り外されました。
sysNotifyAntennaRaisedEvent Palm VII シリーズ デバイスでアンテナが立てられました。
sysNotifyAppLaunchingEvent アプリケーションが起動されようとしています。
sysNotifyAppQuittingEvent アプリケーションが終了しました。
sysNotifyCardInsertedEvent 拡張カードが拡張スロットに挿入されました。
sysNotifyCardRemovedEvent 拡張カードが拡張スロットから取り外されました。
sysNotifyDBCreatedEvent データベースが作成されました。
sysNotifyDBChangedEvent DmSetDatabaseInfo() などでデータベース情報がデータベースにセットされました。
sysNotifyDBDeletedEvent データベースが削除されました。
sysNotifyDBDirtyEvent データベースが書き込みのため、または、他の何らかの変更可能な方法でオープンされました。
sysNotifyDeleteProtectedEvent ランチャはプロテクトされているデータベースを削除しようとしました。
sysNotifyDeviceUnlocked ユーザがデバイスのロックを解除しました。
sysNotifyDisplayChangeEvent カラー テーブルまたはディスプレイのビット深度が変更されました。
sysNotifyDisplayResizedEvent ダイナミック入力エリアがオープンまたはクローズされました。
sysNotifyEarlyWakeupEvent システムがウェイク アップを開始しています。
sysNotifyEventDequeuedEvent EvtGetEvent でイベントがイベント キューから削除されました。
sysNotifyForgotPasswordEvent ユーザがセキュリティ アプリケーションでロスト パスワード ボタン (訳者: パスワードを忘れたときに押すボタンと思われる) をタップしました。
sysNotifyGotUsersAttention アテンション マネージャはイベントについてユーザに知らせました。
sysNotifyGsiDrawIndicator システムはシフト インジケータを描画しようとしています。
sysNotifyHelperEvent アプリケーションがある特定のサービスが実行されるよう要求しました。
sysNotifyIdleTimeEvent システムはアイドル状態で、休止状態になろうとしています。
sysNotifyInputAreaDrawingEvent システムはダイナミック入力エリアを描画しようとしています。
sysNotifyInputAreaPendownEvent システムはダイナミック入力エリアに対する penDownEvent を発信しようとしています。
sysNotifyInsPtEnableEvent 挿入ポイントは使用可能または使用不可の状態になろうとしています。
sysNotifyIrDASniffEvent 使用されません。
sysNotifyKeyboardDialogEvent キーボード ダイアログが表示されようとしています。
sysNotifyLateWakeupEvent システムはウェイク アップを終了しました。
sysNotifyLocaleChangedEvent システム ロケールが変更されました。
sysNotifyMenuCmdBarOpenEvent システムはメニュー コマンド ツールバーを表示しようとしています。
sysNotifyNetLibIFMediaEvent システムはネットワークに接続された、またはネットワークとの接続を解除されました。
sysNotifyPhoneEvent 将来使用するために予約されています。
sysNotifyPOSEMountEvent システムのみが使用します。
sysNotifyProcessPenStrokeEvent ユーザはデジタイザの一部であるシルクスクリーン上でペン入力を行いました。
sysNotifyResetFinishedEvent システムはリセットを完了しました。
sysNotifyRetryEnqueueKey アテンション マネージャは仮想文字をキー キューに送ることに失敗しました。
sysNotifySelectDay システムは、ユーザがカレンダーの中のある特定の日付を選択するよう要求する必要があります。
sysNotifySleepNotifyEvent システムはスリープ状態に入ろうとしています。
sysNotifySleepRequestEvent システムはスリープ状態に入ることを決定しました。
sysNotifySyncFinishEvent HotSync が完了しました。
sysNotifySyncStartEvent HotSync が開始されようとしています。
sysNotifyTimeChangeEvent システム タイムが変更されました。
sysNotifyVirtualCharHandlingEvent 仮想文字がハンドルされているところです。
sysNotifyVolumeMountedEvent ファイル システムがマウントされました。
sysNotifyVolumeUnmountedEvent ファイル システムがアンマウントされました。

通知データ構造体 ^TOP^

SysNotifyParamType Typedef ^TOP^

目的

SysNotifyParamType 構造体はある通知に関連付けされるすべてのデータを保持します。この構造体は sysAppLaunchCmdNotify 起動コードに対してパラメータ ブロックとして渡されたり、通知コールバック関数へのパラメータとして渡されたりします。すべての通知はいくつかの共通データを持ちます。さらに、たいていの通知はその通知に特有のデータを持ちます。特有のデータは notifyDetailsP フィールドによって指されます。

各通知で共通のデータは以下の構造体宣言で説明されています。通知リファレンス では、通知の各タイプに関連付けられる重要なデータについての詳細を説明します。

Prototype

typedef struct SysNotifyParamType {
  UInt32 notifyType;
  UInt32 broadcaster;
  void *notifyDetailsP;
  void *userDataP;
  Boolean handled;
  UInt8 reserved2;
} SysNotifyParamType;

フィールド

  • notifyType
  • broadcaster
    • 通知をブロードキャストするアプリケーションのクリエイタ ID、または、システムがインベントをブロード伽するする場合は sysNotifyBroadcasterCode
  • notifyDetailsP
    • この通知に特有のデータへのポインタ。
  • userDataP
  • handled
    • 通知がハンドルされた場合は true にセットし、そうでない場合は false にセットします。いくつかのケースでは、handled は、通知ハンドラがある特定の条件が true であることを示すためにしようすることができるビット フィールドとして扱われます。
  • reserved2
    • 将来使用するために予約されています。

通知リファレンス ^TOP^

cncNotifyProfileEvent ^TOP^

cncNotifyProfileEvent は、接続プロファイルが作成、変更、削除されたとき、接続プロファイル リストを更新するためにリクエストが作成されたあとにブロードキャストされます。

notifyDetailsP フィールドは通知ハンドラに発生した変更のタイプについて知らせます。あなたのアプリケーションが現在の状態を把握し続けているべきであるそれ自身の接続プロファイルを維持している場合、または、あなたのアプリケーションが接続パネルがリストを維持するのを助けるべきである場合、cncNotifyProfileEvent に登録を行います。

cncNotifyProfileEvent 特有のデータ

notifyDetailsPCncProfileNotifyDetailsType 構造体を指します。

Prototype

typedef struct _CncProfileNotifyDetailsTag {
  UInt16 version;
  UInt32 profileID;
  UInt16 deviceKind;
  UInt16 request;
} CncProfileNotifyDetailsType;

フィールド

  • version
    • この構造体の現在のバージョン。現在のバージョンが何なのかを調べるには kCncProfileNotifyCurrentVersion 定数を使用します。
  • profileID
    • 変更された接続プロファイルの ID。
  • deviceKind
    • プロファイルのデバイスの種類。これは以下の定数のうちのどれかになります:
  • kCncDeviceKindSerial
    • シリアル接続プロファイル。
  • kCncDeviceKindModem
    • モデム プロファイル。
  • kCncDeviceKindPhone
    • 電話プロファイル。
  • kCncDeviceKindLocalNetwork
    • LAN プロファイル。
  • request
    • 実行されたアクション。これは以下の定数のどれかになります:
  • kCncNotifyCreateRequest
    • プロファイルが作成されました。
  • kCncNotifyDeleteRequest
    • プロファイルは削除されるところです。
  • kCncNotifyModifyRequest
    • プロファイルは変更されました。
  • kCncNotifyUpdateListRequest
    • HotSync またはシステム リセットされました。通知ハンドラは接続パネルのリストを更新すべきです。さらに、プロファイルが作成または変更されている場合、request フィールドは現在のプロファイルがどのようにセットされるかを示すフラグを含みます:
  • kCncBecomeCurrentModifier
  • 新しいプロファイルは現在のプロファイルとされるべきです。
  • kCncNotifyAlertUserModifier
    • ユーザに現在のプロファイルをセットするか問い合わせます。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

kTelTelephonyNotification ^TOP^

目的

kTelTelephonyNotification は、Palm OS が電話から SMS メッセージが届いているまたは電話がかかってきているなどの電話からのイベントを受け取ったときにブロードキャストされます。

kTelTelephonyNotification 特有のデータ

notifyDetailsPTelNotificationType 構造体を指します。

Prototype

typedef struct _TelNotificationType {
   UInt32 notificationData;
   UInt32 notificationData2;
   UInt32 timeStamp;
   UInt16 notificationId;
   UInt8 priority;
} TelNotificationType

フィールド

ソケット通知 ^TOP^

ソケット通知は、ネットワーク ソケットの状態が変更されたときにブロードキャストされます - 例えば、ソケットがクローズされる、または、ソケットが TCP データを受け取るです。この通知はこの章で説明されている他の通知とは大きく異なります: ソケット通知を示す単一の定数値はありません。その代わり、各アプリケーションはソケット通知を受け取るための固有の値を持たなくてはなりません。あなたのアプリケーションはこの固有の定数を notifyType パラメータとして SysNotifyRegister()|Palm OS Programmer's API Reference/43 に渡さなければなりません。

ソケット通知はネット ライブラリによってソケットに関する注意を配達するために使用されます。通常の通知登録プロセス以上のことがあります。詳細は、Palm OS Programmer's Companion, vol. II「ソケット通知」|http://ppl.palmwareinfo.com/index.cgi?page=Palm+OS+Programmer%27s+Companion+Volume+II%2F7%2D1 を参照してください。

notifyDetailsP フィールドは通知ハンドラに変更されたソケットが何なのか、その変更の性質を知らせます。

ソケット通知特有のデータ

notifyDetailsPSysNotifyNetSocketType 構造体を指します。

Prototype

typedef struct SysNotifyNetSocketType {
  NetSocketRef socketRef;
  UInt32 condition;
} SysNotifyNetSocketType;

フィールド

互換性

5.4 New Feature Set が存在する場合にのみ、実装されます。

sysExternalConnectorAttachEvent ^TOP^

目的

sysExternalConnectorAttachEvent は、USB クレドル、RS-232 クレドルまたは周辺装置、電源ケーブル、モデムがユニバーサル コネクタに接続されたときブロードキャストされます。この通知はユニバーサル コネクタを持つデバイスでのみブロードキャストされます。

sysExternalConnectorAttachEvent 特有のデータ

notifyDetailsP フィールドは接続されたデバイスのタイプを示す UInt16 を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysExternalConnectorDetachEvent ^TOP^

目的

sysExternalConnectorDetachEvent は、USB クレドル、RS-232 クレドルまたは周辺装置、電源ケーブル、モデムがユニバーサル コネクタから取り外されたときブロードキャストされます。この通知はユニバーサル コネクタを持つデバイスでのみブロードキャストされます。

sysExternalConnectorDetachEvent 特有のデータ

notifyDetailsP は取り外されたデバイスのタイプを示す UInt16 を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyAntennaRaisedEvent ^TOP^

目的

sysNotifyAntennaRaisedEvent は、Palm VII シリーズ デバイスでアンテナが立てられたときに SysHandleEvent()|Palm OS Programmer's API Reference/54 によってブロードキャストされます。

あなたがアンテナ キー ダウン イベントをハンドルすることを望む場合にこの通知のための登録を行います。あなたのハンドラの後にキー ダウン イベントをハンドルするコードが無いということを保証するには、SysNotifyParamType 構造体の handled パラメータに true をセットしてください。

sysNotifyAntennaRaisedEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyAppLaunchingEvent ^TOP^

sysNotifyAppLaunchingEvent は、sysAppLaunchCmdNormalLaunch でアプリケーションが起動される前にブロードキャストされます。

sysNotifyAppLaunchingEvent 特有のデータ

notifyDetailsPSysNotifyAppLaunchOrQuitType 構造体を指します。

Prototype

typedef struct SysNotifyAppLaunchOrQuitTag {
  UInt32 version;
  UInt32 dbID;
  UInt16 cardNo; 
} SysNotifyAppLaunchOrQuitType;

フィールド

  • version
    • この構造体の現在のバージョン。現在のバージョンは 0 です。
  • dbID
    • アプリケーションのローカル ID。
  • cardNo
    • アプリケーションが存在しているカードの番号。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyAppQuittingEvent ^TOP^

sysNotifyAppQuittingEventsysAppLaunchCmdNormalLaunch で起動されたアプリケーションが終了したすぐ後にブロードキャストされます。

sysNotifyAppQuittingEvent 特有のデータ

notifyDetailsPSysNotifyAppLaunchOrQuitType 構造体を指します。この構造体についての説明は、sysNotifyAppLaunchingEvent の説明を参照してください。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyCardInsertedEvent ^TOP^

sysNotifyCardInsertedEvent は、拡張マネージャ カードがスロットに挿入されたときにブロードキャストされます。新しいカードが挿入されたとき、拡張マネージャはそのカードのボリュームをマウントしようと試みて、試みが完了したところでサウンドを鳴らします (成功または失敗を示します)。

たいていのアプリケーションはこの通知の代わりに sysNotifyVolumeMountedEvent のために登録することを望みます。あなたがカードが挿入されたことを知る必要がある場合、または、あなたが拡張マネージャがこの通知のデフォルトのハンドリングを実行するのを防ぐことを望む場合、sysNotifyCardInsertedEvent のための登録を行います。

拡張マネージャがボリュームをマウントするのを防ぐには、handled フィールドの expHandledVolume ビットをセットします。拡張マネージャがサウンドを鳴らすのを防ぐには、handled フィールドの expHandledSound ビットをセットします。例えば以下のように:

cmdPBP->handled |= expHandledSound;

sysNotifyCardInsertedEvent 特有のデータ

notifyDetailsP はスロット参照番号を保持している UInt16 を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyCardRemovedEvent ^TOP^

sysNotifyCardRemovedEvent は、拡張マネージャ カードがスロットから取り外されたときにブロードキャストされます。カードが取り外されたとき、拡張マネージャはグッバイ サウンドを鳴らしてボリュームをアンマウントしようと試みることでこの通知に応答します。

たいていのアプリケーションはこの通知の代わりに sysNotifyVolumeUnmountedEvent のために登録することを望みます。あなたがカードが取り外されたことを知る必要がある場合、または、あなたが拡張マネージャがこの通知のデフォルトのハンドリングを実行するのを防ぐことを望む場合、sysNotifyCardRemovedEvent のための登録を行います。

拡張マネージャがボリュームをアンマウントするのを防ぐには、handled フィールドの expHandledVolume ビットをセットします。拡張マネージャがサウンドを鳴らすのを防ぐには、handled フィールドの expHandledSound ビットをセットします。例えば以下のように:

cmdPBP->handled |= expHandledSound;

sysNotifyCardRemovedEvent 特有のデータ

notifyDetailsP はスロット参照番号を保持している UInt16 を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDBCreatedEvent ^TOP^

sysNotifyDBCreatedEvent は、DmCreateDatabase() でデータベースが作成された後のいつかにブロードキャストされます。

あなたが新しいデータベースが作成されたときに更新される必要のある内部のデータベース リストを維持している場合、この通知のための登録を行います。

重要
sysNotifyDB...Event 通知は延期される可能性のある通知です。そのため、例えば EvtGetEvent が呼び出される前にあなたのアプリケーションがデータベースを作成し、それを書き込みのためにオープンし、そのデータベースをリネームした場合、その 3 つの操作に対応する通知は一緒に発せられます。この場合、データベースはすでにリネームされているため、sysNotifyDBDirtyEvent ハンドラがそのデータベースをオープンしようとしても失敗します。あなたの通知ハンドラを作成しているときは、延期される可能性のある通知の影響を気を配る必要があります。

sysNotifyDBCreatedEvent 特有のデータ

notifyDetailsPSysNotifyDBCreatedType 構造体を指します。

Prototype

typedef struct SysNotifyDBCreatedTag {
   Char dbName[dmDBNameLength];
   UInt32 creator;
   UInt32 type;
   LocalID newDBID;
   UInt16 cardNo;
   Boolean resDB;
   UInt8 padding;
} SysNotifyDBCreatedType;

フィールド

  • dbName
    • データベース名。
  • creator
    • データベース クリエイタ ID。
  • type
    • データベース タイプ。
  • newDBID
    • 新たに作成されたデータベースのローカル ID。
  • cardNo
    • データベースが存在しているカードの番号。
  • resDB
    • データベースがリソース データベースの場合、true です。僧でない場合、false です。
  • padding
    • 構造体のパディング バイト。

互換性

5.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDBChangedEvent ^TOP^

sysNotifyDBChangedEvent は、DmSetDatabaseInfo() でデータベース情報がセットされた後のいつかにブロードキャストされます。

あなたがデータベース情報が変更されたときに更新される必要のある内部のデータベース リストを維持している場合、この通知のための登録を行います。

重要
sysNotifyDB...Event 通知は延期される可能性のある通知です。そのため、例えば EvtGetEvent が呼び出される前にあなたのアプリケーションがデータベースを作成し、それを書き込みのためにオープンし、そのデータベースをリネームした場合、その 3 つの操作に対応する通知は一緒に発せられます。この場合、データベースはすでにリネームされているため、sysNotifyDBDirtyEvent ハンドラがそのデータベースをオープンしようとしても失敗します。あなたの通知ハンドラを作成しているときは、延期される可能性のある通知の影響を気を配る必要があります。

sysNotifyDBChangedEvent 特有のデータ

notifyDetailsPSysNotifyDBChangedType 構造体を指します。この構造体の fields の内容はデータベースの何について変更が行われたのか、それゆえに他の構造体フィールドのどれが有効なデータを保持しているのかを示します。

Prototype

typedef struct SysNotifyDBChangedTag {
   Char dbName[dmDBNameLength];
   LocalID dbID;
   UInt32 creator;
   UInt32 type;
   UInt32 crDate;
   UInt32 modDate;
   UInt32 bckUpDate;
   UInt32 modNum;
   LocalID appInfoID;
   LocalID sortInfoID;
   UInt16 attributes;
   UInt16 cardNo;
   UInt16 version;
   UInt16 fields;
   Char oldName[dmDBNameLength];
   UInt32 oldCreator;
   UInt32 oldType;
   UInt16 oldAttributes;
   UInt16 padding;
} SysNotifyDBChangedType;

フィールド

  • dbName
    • データベースの新しい名前。
  • dbID
    • データベース ID。
  • creator
    • 新しいデータベース クリエイタ ID。
  • type
    • 新しいデータベース タイプ。
  • crDate
    • 新しいデータベース作成日付。
  • modDate
    • 新しいデータベース変更日付。
  • bckUpDate
    • 新しいデータベース バックアップ日付。
  • modNum
    • 新しいデータベース変更番号。
  • appInfoID
    • 新しいデータベース アプリケーション情報ブロック。
  • sortInfoID
    • 新しいデータベース ソート情報ブロック。
  • attributes
    • 新しいデータベース属性。
  • cardNo
    • データベース存在しているカードの番号。
  • version
    • 新しいデータベース バージョン。
  • fields
    • データベースの何について変更されたのか、それゆえ上記のフィールドのどれがセットされたのかを示すフラグ。fields のビットを定義する定数は以下の通りです:
      • DBChangedFieldSetName = 0x1
      • DBChangedFieldSetCreator = 0x2
      • DBChangedFieldSetType = 0x4
      • DBChangedFieldSetCrDate = 0x8
      • DBChangedFieldSetModDate = 0x10
      • DBChangedFieldSetBckUpDate = 0x20
      • DBChangedFieldSetModNum = 0x40
      • DBChangedFieldSetAppInfo = 0x80
      • DBChangedFieldSetSortInfo = 0x100
      • DBChangedFieldSetAttributes = 0x200
      • DBChangedFieldSetVersion = 0x400
  • oldName
    • DmSetDatabaseInfo が呼び出される前のデータベースの名前。
  • oldCreator
    • DmSetDatabaseInfo が呼び出される前のデータベース クリエイタ ID。
  • oldType
    • DmSetDatabaseInfo が呼び出される前のデータベース タイプ。
  • oldAttributes
    • DmSetDatabaseInfo が呼び出される前のデータベース属性。
  • padding
    • 構造体のパディング バイト。

互換性

5.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDBDeletedEvent ^TOP^

sysNotifyDBDeletedEvent は、デバイスからデータベースが削除された後のいつかにブロードキャストされます。

あなたがデータベースの削除時に更新される必要のある内部のデータベース リストを維持している場合、この通知のための登録を行います。例えば、アテンション マネージャと接続マネージャは内部のデータベース リストを維持するためにこの通知のための登録を行います。

重要
sysNotifyDB...Event 通知は延期される可能性のある通知です。そのため、例えば EvtGetEvent が呼び出される前にあなたのアプリケーションがデータベースを作成し、それを書き込みのためにオープンし、そのデータベースをリネームした場合、その 3 つの操作に対応する通知は一緒に発せられます。この場合、データベースはすでにリネームされているため、sysNotifyDBDirtyEvent ハンドラがそのデータベースをオープンしようとしても失敗します。あなたの通知ハンドラを作成しているときは、延期される可能性のある通知の影響を気を配る必要があります。

sysNotifyDBDeletedEvent 特有のデータ

notifyDetailsPSysNotifyDBDeletedType 構造体を指します。

Prototype

typedef struct SysNotifyDBDeletedTag {
  LocalID oldDBID;
  UInt16 cardNo;
  UInt16 attributes;
  Char dbName[dmDBNameLength];
  UInt32 creator;
  UInt32 type;
} SysNotifyDBDeletedType;

フィールド

  • oldDBID
    • 削除されたデータベースのローカル ID。この ID はもはや有効ではありません。
WARNING!
oldDBID の ID は、この通知がブロードキャストされるときには無効になっています。あなたがこれをデータ マネージャ関数に渡そうとした場合、システムはクラッシュします。
  • cardNo
    • データベースが存在していたカードの番号。
  • attributes
    • 削除されたデータベースの属性。
  • dbName
    • 削除されたデータベースの名前。
  • creator
    • 削除されたデータベースのクリエイタ ID。
  • type
    • 削除されたデータベースのタイプ。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDBDirtyEvent ^TOP^

sysNotifyDBDirtyEvent は、データベースが書き込みのためか、変更が行われる可能性のある他の方法でオープンされた後のいつかにブロードキャストされます。

あなたがデータベースが "Dirty" 状態になったときに更新される必要のある内部のデータベース リストを維持している場合、この通知のための登録を行います。例えば、通常、リセット時にランチャはそのようなデータベースをチェックして、内部リストを更新します。

重要
sysNotifyDB...Event 通知は延期される可能性のある通知です。そのため、例えば EvtGetEvent が呼び出される前にあなたのアプリケーションがデータベースを作成し、それを書き込みのためにオープンし、そのデータベースをリネームした場合、その 3 つの操作に対応する通知は一緒に発せられます。この場合、データベースはすでにリネームされているため、sysNotifyDBDirtyEvent ハンドラがそのデータベースをオープンしようとしても失敗します。あなたの通知ハンドラを作成しているときは、延期される可能性のある通知の影響を気を配る必要があります。

sysNotifyDBDirtyEvent 特有のデータ

notifyDetailsPSysNotifyDBDirtyType 構造体を指します。

Prototype

typedef struct SysNotifyDBDirtyTag {
   Char dbName[dmDBNameLength];
   UInt32 creator;
   UInt32 type;
} SysNotifyDBDirtyType;

フィールド

  • dbName
    • データベース名。
  • creator
    • データベース クリエイタ ID。
  • type
    • データベース タイプ。

互換性

5.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDeleteProtectedEvent ^TOP^

sysNotifyDeleteProtectedEvent は、ランチャがプロテクト フラグがセットされているデータベースを削除しようとしたときにブロードキャストされます。ランチャは通知をブロードキャストして、そのデータベースを再び削除しようと試みます。データベースを削除するサード パーティのアプリケーションも同様にこの通知をブロードキャストします。

あなたがプロテクトされたデータベースを持っているがユーザがあなたのアプリケーションやその他のリソースを削除することを許可する - ユーザがそうすることを選択した場合に - 場合に、この通知のための登録を行います。通知ハンドラは notifyDtailsP 構造体のデータベースが削除されようとしているデータベースであるかどうかをチェックするためにその構造体の情報をチェックすべきです。そうである場合、通知ハンドラは必要なクリーン アップを実行し、プロテクト フラグをクリアすることでこの通知に応答すべきです。このやり方の中で、ランチャがデータベースを再び削除しようと試みると、削除は成功します。アプリケーションが複数のプロテクトされたデータベースを持つ場合、この通知は複数回送られるかもしれないということに注意してください。

sysNotifyDeleteProtectedEvent 特有のデータ

notifyDetailsPSysNotifyDBInfoType を指します。

Prototype

typedef struct SysNotifyDBInfoTag {
  LocalID dbID;
  UInt16 cardNo;
  UInt16 attributes;
  Char dbName[dmDBNameLength];
  UInt32 creator;
  UInt32 type;
} SysNotifyDBInfoType;

フィールド

  • dbID
    • 削除されるデータベースのローカル ID。
  • cardNo
    • データベースが存在しているカードの番号。
  • attributes
    • データベースの属性。
  • dbName
    • 削除されるデータベースの名前。
  • creator
    • 削除されるデータベースのクリエイタ ID。
  • type
    • 削除されるデータベースのタイプ。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDeviceUnlocked ^TOP^

sysNotifyDeviceUnlocked は、ユーザがデバイスのロックを解除したときにセキュリティ アプリケーションによってブロードキャストされます。この通知はデバイスがロック解除を終了するとすぐにブロードキャストされます。

あなたが sysNotifyLateWakeupEvent 通知への応答で UI を表示する場合、あなたはさらに sysNotifyDeviceUnlocked 通知を受け取るために登録を行うべきです。ロックされているデバイスが sysNotifyLateWakeupEvent を受け取ったとき、デバイスがユーザのパスワード入力を待っている場合はあなたの UI は表示されるべきではありません。sysNotifyDeviceUnlocked 通知はパスワードが入力された後にブロードキャストされます。このことはユーザ インターフェイスの準備が整ったことを意味します。

sysNotifyDeviceUnlocked 特有のデータ

ありません。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyDisplayChangeEvent ^TOP^

sysNotifyDisplayChangeEvent はディスプレイ モードが変更されたると必ずブロードキャストされます。つまり、ある特定のパレットを使用するために WinPalette()|Palm OS Programmer's API Reference/59-2 を使ってカラー テーブルをセットした場合でも、WinScreenMode()|Palm OS Programmer's API Reference/59-2 を使ってディスプレイのビット深度を変更した場合でもブロードキャストされます。

notifyDetailsP フィールドはどのようにビット深度が変更されたかを示します。構造体の中の 2 つの値が等しい場合、ビット深度ではなくカラー パレットが変更されたということを意味します。

sysNotifyDisplayChangeEvent 特有のデータ

notifyDetailsPSysNotifyDisplayChangeDetailsType 構造体を指します。

Prototype

typedef struct {
  UInt32 oldDepth;
  UInt32 newDepth;
} SysNotifyDisplayChangeDetailsType;

フィールド

  • oldDepth
    • 古いビット深度。
  • newDepth
    • 新しいビット深度。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyDisplayResizedEvent ^TOP^

sysNotifyDisplayResizedEvent は、ダイナミック入力エリアまたはコントロール バーがオープンまたはクローズされた後に PINSetInputAreaState()|Palm OS Programmer's API Reference/46 によってブロードキャストされます。通常、ユーザがダイナミック入力エリアとコントロール バーをオープン、クローズします。しかしながら、アプリケーションもまたそうするかもしれません - そうすることは推奨されていないにもかかわらず。

アプリケーションは使用可能な空間にアクティブ フォームを再描画することでこの通知に応答するかもしれません。

sysNotifyDisplayResizedEvent 特有のデータ

notifyDetailsPSysNotifyDisplayResizedDetailsType 構造体を指します。

Prototype

typedef struct SysNotifyDisplayResizedDetailsTag{
   RectangleType newBounds;
} SysNotifyDisplayResizedDetailsType;

フィールド

  • newBounds
    • 入力エリアまたはコントロール バーがオープンまたはクローズされた後のアプリケーション エリアの新しい境界。アプリケーションはこれらの境界内に現在のフォームを描画すべきです。

互換性

ペン入力マネージャ Feature Set が存在する場合にのみ、実装されます。

sysNotifyEarlyWakeupEvent ^TOP^

sysNotifyEarlyWakeupEvent は、システムがスリープを終了した後にすぐに SysHandleEvent()|Palm OS Programmer's API Reference/54 の中でブロードキャストされます。スクリーンはまだオフのままかもしれず、システムは完全にはウェイク アップしていないかもしれません。この通知によって、単にアラームまたはバッテリー充電イベントをハンドルして、スリープ状態に戻るだけかもしれません。ウェイクアップ イベントの通知を必要とするたいていのアプリケーションはこの通知の代わりに sysNotifyLateWakeupEvent のための登録を望みます。

重要
この通知はブロードキャストされることを保証されていません。それゆえ、システムの電源がオンにされたときに外部ハードウェアをオンにしなければならないアプリケーションには向いていません。

sysNotifyEarlyWakeupEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyEventDequeuedEvent ^TOP^

sysNotifyEventDequeuedEventEvtGetEvent でイベント キューから削除される各イベントのためにブロードキャストされます。

WARNING!
この通知のための登録には非常に注意してください; 結果としてシステムのパフォーマンスを非常に悪化させる可能性があります。

sysNotifyEventDequeuedEvent 特有のデータ

notifyDetailsP はキューから削除されるイベントの EventType 構造体を指します。

重要
処理スピードのために、notifyDetailsP が指すイベント構造体はシステム ネイティブのエンディアンを使用します。このことは、基本的なオペレーティング システムのエンディアンしだいであなたは構造体の内容のバイト入れ替えを行う必要があるかもしれないということを意味します。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyForgotPasswordEvent ^TOP^

sysNotifyForgotPasswordEvent は、ユーザがセキュリティ アプリケーションの中のロスト パスワード ボタン (訳者補足: パスワードを忘れてしまったときに押すボタン) をタップした後にブロードキャストされます。この通知は、ユーザがすべてのプライベート レコードが削除されるということを確認した後 - その削除が実際に行われる前でなければ - に送られます。

sysNotifyForgotPasswordEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyGotUsersAttention ^TOP^

sysNotifyGotUsersAttention 通知は、アテンション マネージャがアテンション インジケータ (点滅、サウンドを鳴らす、バイブレーションなど) を表示または鳴らし終わったときにブロードキャストされます。

システム拡張または共有ライブラリは、それらがある特別な効果を実行することを望む場合、または、単にユーザのアテンションが届いたことをそれらに知らせたい場合、それらはこの通知のための登録を行うべきです。

sysNotifyGotUsersAttention 特有のデータ

notifyDetailsPAttnNotifyDetailsType 構造体を指します。

Prototype

typedef struct {
  AttnFlagsType flags;
} AttnNotifyDetailsType;

フィールド

  • flags
    • ユーザのアテンションを得るために使用されたアテンション インジケータ。AttnFlagsType を参照してください。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyGsiDrawIndicator ^TOP^

sysNotifyGsiDrawIndicator 通知は、システムがシフト インジケータを表示しようとする直前にブロードキャストされます。あなたがこの通知をハンドルした場合、システムはシフト インジケータは表示されたものと仮定します。そのため、システムはシステムの描画コードをスキップします。
あなたがシフト インジケータを描画する場所を調べたいのなら、あなたはタイプ frmGraffitiStateObj を 1 つ見つけるまでフォーム オブジェクトを反復操作して、それからそのオブジェクトの位置を取得します。GraffitiShift. で定義されているように、幅 kMaxGsiWidth (9)、高さ kMaxGsiHeight (10) のシフト インジケータを描画します。あなたは、この通知をハンドルする場合、この 9 × 10 領域の各ピクセルをクリア、描画しなければならないということに注意してください。

sysNotifyGsiDrawIndicator 特有のデータ

ありません。

互換性

5.3SC New Feature Set が存在する場合にのみ、実装されます。

NOTE
将来の Palm OS バージョンはこの通知をサポートしないかもしれません。

sysNotifyHelperEvent ^TOP^

sysNotifyHelperEvent は他のアプリケーションのサービスをリクエストするためにアプリケーションによってブロードキャストされます。例えば、アドレス帳アプリケーションはダイアル アプリケーションに電話番号をダイアルすることをリクエストするためにこの通知をブロードキャストします。sysNotifyHelperEvent において、通知クライアント (つまり、この通知のための登録を行うアプリケーションまたは共有ライブラリ) はヘルパと呼ばれます。

この通知をブロードキャストするアプリケーションは、第 39 章 「ヘルパ API」?表 39.1|Palm OS Programmer's API Reference/39 の中でリスト アップされているアクション コードのうちの 1 つを指定します。これらのアクション コードはすべてのヘルパ アプリケーションに列挙 (それらが実行するサービスをリスト アップ)し、検証 (サービスが成功することを保証する) し、実行 (アクションを実行) することをリクエストします。ヘルパは notifyDetailsP 構造体の適切な位置にリクエストされたデータを返し、アクションが成功または失敗したことを示すために handled フィールドに true または false をセットすることで、この通知に応答します。

この通知についての更なる情報は、Palm OS Companion, vol. I「ヘルパ通知」 を参照してください。

sysNotifyHelperEvent 特有のデータ

notifyDetailsPHelperNotifyEventType|Palm OS Programmer's API Reference/39 構造体を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyIdleTimeEvent ^TOP^

sysNotifyIdleTimeEvent は、システムがアイドル状態で、休止状態に入ろうとしているときにブロードキャストされます。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyInputAreaDrawingEvent ^TOP^

sysNotifyInputAreaDrawingEvent 通知は、ダイナミック入力エリアをサポートするデバイスでシステムがダイナミック入力エリアを再描画しようとする直前にブロードキャストされます。あなたがこの通知をハンドルする場合、システムは入力エリアのリクエストされた部分は再描画されたものと仮定し、システム自体の描画コードをスキップします。

sysNotifyInputAreaDrawingEvent 特有のデータ

notifyDetailsPSysNotifyInputAreaDrawingDetailsType 構造体を指します。この構造体はリトル エンディアン フォーマットです。

Prototype

typedef struct SysNotifyInputAreaDrawingDetailsTag 
{
  RectangleType updateBounds;
  const BitmapType *bitmapP;
  Boolean selected;
  Boolean fullRedraw;
  UInt16 padding;
} SysNotifyInputAreaDrawingDetailsType;

フィールド

  • updateBounds
    • fullRedraw フィールドが false の場合、これは再描画するエリア - 入力エリア ウィンドウからの相対的なネイティブ座標 (訳者: ?、原文: native coordinates) です。
  • bitmapP
    • システムによって描画されようとしているビットマップへのポインタ。
  • selected
    • 再描画されているエリアがユーザがタップしていてそのために選択された状態として再描画されるべきであるボタンである場合、true です。
  • fullRedraw
    • 入力エリア全体が再描画されるべきである場合、true です。一部だけが再描画される場合、false です。true の場合、updateBounds フィールドは無視できます。
  • padding
    • パディング。使用されません。

互換性

5.3SC New Feature Set が存在する場合にのみ、実装されます。

NOTE
将来の Palm OS バージョンはこの通知をサポートしないかもしれません。

sysNotifyInputAreaPendownEvent ^TOP^

sysNotifyInputAreaPendownEvent 通知は、ダイナミック入力エリアをサポートするデバイスでシステムがダイナミック入力エリアの penDownEvent をハンドル使用とする直前にブロードキャストされます。あなたがこの通知をハンドルする場合、システムはそのイベントはハンドルされたものと仮定し、システム自体のハンドル コードをスキップします。

sysNotifyInputAreaPendownEvent 特有のデータ

notifyDeatilsPSysNotifyInputAreaPendownDetailType 構造体を指します。この構造体はリトル エンディアン フォーマットです。

Prototype

typedef struct SysNotifyInputAreaPendownDetailTag 
{
  PointType where;
} SysNotifyInputAreaPendownDetailType;

フィールド

  • where
    • ペンが最初に接した場所。入力エリア ウィンドウからの相対的なネイティブ座標 (訳者: ?、原文: native coordinates) です。

互換性

5.3SC New Feature Set が存在する場合にのみ、実装されます。

sysNotifyInsPtEnableEvent ^TOP^

sysNotifyInsPtEnableEventInsPtEnable の開始時にブロードキャストされます。

sysNotifyInsPtEnableEvent 特有のデータ

notifyDetailsP はブール値を指します: InsEnable に渡される enableIt パラメータです。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyKeyboardDialogEvent ^TOP^

sysNotifyKeyboardDialogEvent は、システム キーボードが表示されるとき常にブロードキャストされます。SysKeyboardDialog 関数のユーザ インターフェイスの置換を可能にすることを意図しています。

sysNotifyKeyboardDialogEvent 特有のデータ

notifyDetailsPKeyboardType 列挙体を指します。この列挙体はキーボードをオープンするときのモードを示します: アルファベット、数字、国際 (訳者補足: 全角文字など)。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyLateWakeupEvent ^TOP^

sysNotifyLateWakeupEvent は、デバイスがウェイク アップを終了した後すぐに SysHandleEvent()|Palm OS Programmer's API Reference/54 の中でブロードキャストされます。この通知はウェイクアップの最後の段階 - スクリーンがオンにされた後 - で送られます。この通知がブロードキャストされるとき、システムは完全にウェイク アップしていることが保証されています。あなたがシステムがウェイク アップするたびにスタートアップ タスクを実行する必要がある場合、この通知のための登録を行います。

重要
この通知はブロードキャストされることを保証されていません。それゆえ、デバイスがウェイク アップされたときに外部ハードウェアをオンにしなければならないアプリケーションには向いていません。

デバイスがこの通知を受け取ったとき、そのデバイスはロックされていて、ユーザがパスワードを入力するのを待っているかもしれません。そのような場合、あなたはユーザ インターフェイスを表示する前に、ユーザがデバイスのロックを解除するのを待たなくてはなりません。そのため、あなたがデバイスがウェイク アップしたときにユーザ インターフェイスを表示することを意図している場合、あなたはデバイスがロックされていないことを確認すべきです。デバイスがロックされている場合、あなたは sysNotifyDeviceUnlocked 通知のための登録を行い、その通知を受け取ったときにあなたのユーザ インターフェイスを表示すべきです。例えば以下のように:

case sysNotifyLateWakeupEvent:
  if ((Boolean)
      PrefGetPreference(prefDeviceLocked)) {
    SysNotifyRegister(myCardNo, myDbID, 
      sysNotifyDeviceUnlocked, NULL,
      sysNotifyNormalPriority, NULL);
  } else {
    HandleDeviceWakeup();
  }
case sysNotifyDeviceUnlocked:
  HandleDeviceWakeup();

sysNotifyLateWakeupEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyLocaleChangedEvent ^TOP^

sysNotifyLocaleChangedEvent は、システム ロケールが変更された後すぐにブロードキャストされます。現在のところ、ユーザはデバイスが最初にスタート アップするときとハード リセットされた後にだけロケールを変更する機会を持ちます。

RAM べース アプリケーションと他のコード リソースは prefLocale 定数を PrefGetPreference()|Palm OS Programmer's API Reference/48 に渡すことによってロケール情報を取得すべきです。それらはこの通知のための登録を行うべきではありません。この通知はビルト イン アプリケーションによって使用されます。ビルト イン アプリケーションは新たに選択された言語と文字セットを使用するためにそれらのデフォルトのデータベースをリビルドすることによってこの通知に応答します。

sysNotifyLocaleChangedEvent 特有のデータ

notifyDetailsPSysNotifyLocaleChangedType 構造体を指します。

Prototype

typedef struct SysNotifyLocaleChangedTag {
  LmLocaleType oldLocale;
  LmLocaleType newLocale;
} SysNotifyLocaleChangedType;

フィールド

  • oldLocale
    • 古いロケール。LmLocaleType を参照してください。
  • newLocale
    • 新しいロケール。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyMenuCmdBarOpenEvent ^TOP^

sysNotifyMenuCmdBarOpenEvent は、MenuHandleEvent() がメニュー ショートカット コマンド バーを表示しようとしているときに、MenuHandleEvent() の中でブロードキャストされます。

あなたがボタンをメニュー コマンド バーに追加するまたはメニュー コマンド バーを抑制する必要のあるシステム拡張 (HackMaster プログラムにインストールされる "hack" など) を作成している場合、この通知のための登録を行います。ボタンを追加するには、MenuCmdBarAddButton() を呼び出します。コマンド ツールバーを抑制するには、handled フィールドに true をセットします。

ボタンをメニュー コマンド バーに追加する必要のあるアプリケーションは、menuCmdBarOpenEvent への応答の中でそうするべきです。それらはこの通知のための登録を行うべきではありません。なぜなら、アプリケーションはアクティブ アプリケーションである場合にのみボタンを追加すべきだからです。通知は、イベントが受信された後、コマンド ツールバーが表示される直前に送られます。

sysNotifyMenuCmdBarOpenEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyNetLibIFMediaEvent ^TOP^

sysNotifyNetLibIFMediaEvent は、ネットワーク インターフェイスがネットワーク接続をアクティブまたはインアクティブにするとき常にイベント ループの先頭にブロードキャストされます。

あなたがネットワーク接続がアクティブになるときを知る必要がある場合、この通知のための登録を行います。

sysNotifyNetLibIFMediaEvent 特有のデータ

notifyDetailsPSysNotifyNetLibIFMediaType 構造体を保持します。

Prototype

typedef struct SysNotifyNetLibIFMediaTag {
  NetLibIFMediaEventNotificationTypeEnum eType;
  UInt32 ifCreator;
  UInt16 ifInstance;
} SysNotifyNetLibIFMediaType;

フィールド

  • eType
    • 以下の値のうちの 1 つです:
  • netIFMediaUp
    • ネットワーク接続はアクティブです。通常、これはネットワーク インターフェイスが接続しようという試みが進捗中であることを示す UI を表示した後に送られます。
  • netIFMediaDown
    • ネットワーク接続はインアクティブです。通常、これはインアクティブ タイムアウト値に達したためにネットワーク インターフェイスが接続をダウンさせた後に送られます。
  • ifCreator
    • ネットワーク インターフェイスのクリエイタ ID。
  • ifInstance
    • ネットワーク インターフェイスのインスタンス番号。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyProcessPenStrokeEvent ^TOP^

sysNotifyProcessPenStrokeEvent は、デジタイザのシルクスクリーンでの入力のカスタム認識を可能にするためにブロードキャストされます。

sysNotifyProcessPenStrokeEvent 特有のデータ

notifyDetailsPSysNotifyPenStrokeType 構造体を指します。

Prototype

typedef struct SysNotifyPenStrokeTag {
  UInt32 version;
  PointType startPt;
  PointType endPt;
} SysNotifyPenStrokeType;

フィールド

  • version
    • この構造体の現在のバージョン。現在のバージョンは 0 です。
  • startPt
    • 入力の開始点。
  • endPt
    • 入力の終了点。

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyResetFinishedEvent ^TOP^

sysNotifyResetFinishedEvent は、システムがリセットを完了した後すぐにブロードキャストされます。

この通知レジストリはリセット時にクリアされるため、内部システム コンポーネントだけがこの通知を使用します。システム リセットを知らせてもらう必要のあるアプリケーションは sysAppLaunchCmdSystemReset 起動コードに応答することができます。

sysNotifyResetFinishedEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyRetryEnqueueKey ^TOP^

sysNotifyRetryEnqueueKey 通知は、アテンション マネーがが仮想文字をキー キューに送ろうと試みて、キューがいっぱいのために失敗した場合に、イベント ループの先頭にブロードキャストされます。

たいていのアプリケーションはこの通知のための登録を行う必要はありません。この通知は、仮想文字を再びキューに追加するスケジュールを立てるためにアテンション マネージャによってのみ使用されます。仮想文字のキューへの追加が失敗したとき、アテンション マネージャは再びイベント ループの先頭に追加しようと試みます。アテンション マネージャは再度の試みを行うためのスケジュールを立てるためにこの通知を使用し、それにより例えもしユーザがアプリケーションを切り替えたとしても仮想文字はキューに追加されます。

sysNotifyRetryEnqueueKey 特有のデータ

notifyDetailsP はキューに追加する仮想文字を保持している WChar を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifySelectDay ^TOP^

sysNotifySelectDay 通知は、SelectDay() 関数 (SelDay.h で定義されています) が呼び出されたときにブロードキャストされます。あなたがこの通知をハンドルする場合、システムは適切なユーザ インターフェイスがユーザに対して表示されていて、(dayChangedtrue の場合は) そのユーザ インターフェイスはリクエストされた日付のための daySelectorP を使用しているものと仮定します。このことは、あなたがロケール特有の日付選択ユーザ インターフェイスを開発することを可能にします (あらかじめ SelectDay() 関数によってサポートされている日付選択以上のことが可能です)。

sysNotifySelectDay 特有のデータ

notifyDetailsPSysNotifySelectDayDetailsType 構造体を指します。この構造体はリトル エンディアン フォーマットです。

Prototype

typedef struct SysNotifySelectDayDetailsTag {
  DaySelectorType *daySelectorP;
  const Char *titleP;
  Boolean dayChanged;
  UInt8 padding[3];
} SysNotifySelectDayDetailsType;

フィールド

  • daySelectorP
    • DaySelectorType 構造体へのポインタは、入力時にはユーザ インターフェイスが最初に表示されたときに選択されている日付を指定し、出力時にはユーザによって選択された日付を指定します。
  • titleP
    • ユーザが選択する日付が何なのかを知らせるためにユーザ インターフェイスのタイトルとして表示されるかもしれないテキスト文字列へのポインタ。
  • dayChanged
    • ユーザがユーザ インターフェイスで異なる日付を選択した場合、true です。ユーザがユーザ インターフェイスをキャンセルしたり最初に選択されていた日付を変更しなかった場合、false です。
  • padding
    • パディング。使用されません。

互換性

5.3SC New Feature Set が存在する場合にのみ、実装されます。

NOTE
将来の Palm OS バージョンはこの通知をサポートしないかもしれません。

sysNotifySleepNotifyEvent ^TOP^

sysNotifySleepNotifyEvent は、システムがスリープ状態に入る直前に SysHandleEvent()|Palm OS Programmer's API Reference/54 の中でブロードキャストされます。ブロードキャストの完了後、システムはスリープ状態になります。

あなたがシステムがスリープ状態に入る前にちょっとしたクリーンアップを実行する必要がある場合、この通知のための登録を行います。スリープ通知への応答の中で確認を求めるアラート パネルを表示するなおdの時間のかかる処理を行わないことを推奨します。そうした場合、アラートはもう 1 つの自動オフ イベントを引き起こすほど長い時間表示されるかもしれません。これはこの通知の他のハンドラにとって有害なものになる可能性があります。

あなたのコードが長い計算の途中で、スリープを遅らせる必要がある場合、この通知の代わりに sysNotifySleepRequestEvent のための通知を行うべきです。

重要
この通知はブロードキャストされることを保証されていません。例えば、ユーザがバッテリを取り外したためにシステムがスリープ状態に入る場合、スリープ通知は送られません。それゆえ、この通知はシステムがスリープ状態に入る前に電源を維持するため (訳者: パソコンのマザーボードについている CMOS 電池なようなものか?) に外部ハードウェアをオフにしなければならないアプリケーションには向いていません。

sysNotifySleepNotifyEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifySleepRequestEvent ^TOP^

sysNotifySleepRequestEvent は、システムがスリープ状態に入ることを決定したときに SysHandleEvent()|Palm OS Programmer's API Reference/54 処理の中でブロードキャストされます。

あなたが、あなたのコードがネットワークからの接続の切断などの時間のかかる処理を実行する間システムがスリープ状態に入るのを遅らせる必要がある場合、この通知のための登録を行います。システムは、各通知ハンドラが返ってきたときに deferSleep 値をチェックします。この値が非 0 である場合、システムはスリープ イベントをキャンセルします。

あなたがスリープ状態に入るのを遅らせると、あなたのコードは自由に処理を終了することができます。あなたのコードが終了したとき、あなたはシステムがスリープ イベントを再開するのを許可しなければなりません。そうするには、resumeSleepChr とコマンド キー ビット セット (文字が仮想文字であることを知らせるためのもの) を持つ keyDownEvent を作成し、それをイベント キューに追加します。システムがこのイベントを受け取ったとき、システムは再び sysNotifySleepRequestEvent をすべてのクライアントにブロードキャストします。deferSleep が 0 の場合、すべてのクライアントが返った後にシステムはスリープ状態に入っても安全であると認識し、sysNotifySleepRequestEvent をすべてのクライアントにブロードキャストします。

あなたは、システムがスリープ状態に入るまでの間にこの通知を何度か受け取るかもしれないということに注意してください。なぜなら、通知ハンドラはシステム スリープを遅らせて後になってからそれを再開することができるからです。

重要
この通知はブロードキャストされることを保証されていません。例えば、ユーザがバッテリを取り外したためにシステムがスリープ状態に入る場合、スリープ通知は送られません。それゆえ、この通知はシステムがスリープ状態に入る前に電源を維持するため (訳者: パソコンのマザーボードについている CMOS 電池なようなものか?) に外部ハードウェアをオフにしなければならないアプリケーションには向いていません。

sysNotifySleepRequestEvent 特有のデータ

notifyDetailsPSleepEventParamType 構造体を指します。

Prototype

typedef struct {
  UInt16 reason;
  UInt16 deferSleep;
} SleepEventParamType;

フィールド

  • reason
    • システムがスリープ状態に入る理由。取り得る値は以下のどれかです:
  • sysSleepAutoOff
    • アイドル タイム制限に達しました。
  • sysSleepPowerButton
    • ユーザが電源オフ ボタンを押しました。
  • sysSleepResumed
    • スリープ イベントは通知ハンドラの 1 つによって遅らされていましたが、resumeSleepChr によって再開されました。
  • sysSleepUnknown
    • 未知の理由です。
  • deferSleep
    • 初期状態では 0 にセットします。通知ハンドラがスリープを遅らせることを望む場合、その通知ハンドラはこの値を +1 します。defereSleep が 0 よりも大きい場合、システムはスリープ状態に入るのを待ちます。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifySyncFinishEvent ^TOP^

sysNotifySyncFinishEvent は、HotSync が完了した後すぐにブロードキャストされます。あなたが HotSync 完了後に処理を行う必要がある場合、この通知のための登録を行います。

sysNotifySyncFinishEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifySyncStartEvent ^TOP^

sysNotifySyncStartEvent は、HotSync が始まる直前にブロードキャストされます。あなたが HotSync 開始前に処理を行う必要がある場合、この通知のための登録を行います。

sysNotifySyncStartEvent 特有のデータ

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyTimeChangeEvent ^TOP^

sysNotifyTimeChangeEvent 通知は、TimSetSeconds() を使ってシステム タイムが変更された後すぐにブロードキャストされます。あなたがシステム タイムが変更されたことを知る必要がある場合、この通知のための登録を行います。

sysNotifyTimeChangeEvent

ありません。

互換性

通知 Feature Set が存在する場合にのみ、実装されます。

sysNotifyVirtualCharHandlingEvent ^TOP^

sysNotifyVirtualCharHandlingEvent は、仮想文字のカスタム ハンドルを可能にするためにブロードキャストされます。仮想文字がシステム処理の残りの部分に渡されるのを防ぐには、SysNotifyParamType 構造体の中の handled フィーるを true にセットします。

sysNotifyVirtualCharHandlingEvent 特有のデータ

notifyDetailsPSysNotifyVirtualCharHandlingType 構造体を指します。

Prototype

typedef struct SysNotifyVirtualCharHandlingTag{
  UInt32 version;
  struct _KeyDownEventType keyDown;
} SysNotifyVirtualCharHandlingType;

フィールド

  • version
    • この構造体の現在のバージョン。現在のバージョンは 0 です。
  • keyDown

互換性

この通知は Palm OS 4.0 SDK Update 1 で宣言されています。Palm OS のバージョン 4.1以前はこの通知はブロードキャストしません。Palm OS Garnet リリースはこの通知をブロードキャストします。それ以降のバージョンはこの通知をブロードキャストするかもしれませんし、しないかもしれません。

sysNotifyVolumeMountedEvent ^TOP^

sysNotifyVolumeMountedEvent は、仮想ファイル マネージャ ボリュームがマウントされるときにブロードキャストされます。ボリュームがマウントされると、VFS マネージャは新たにマウントされたボリュームの start.prc を開始し、アプリケーションをランチャまたはそのボリュームの start.prc がユーザ インターフェイスを持つ場合はその start.prc に切り替えます。

あなたがボリュームがマウントされることを知る必要がある、または、VFS マネージャのデフォルトの振る舞いを防ぐことを望む場合、この通知のための登録を行います。

VFS マネージャが start.prc アプリケーションを開始するのを防ぐには、handled フィールドの中の vfsHandledStartPrc ビットをセットします。VFS マネージャがアプリケーションを切り替えるのを防ぐには、vfsHandledUIAppSwitch ビットをセットします。

sysNotifyVolumeMountedEvent 特有のデータ

notifyDetailsPVFSSlotMountParamType|Palm OS Programmer's API Reference/58 構造体または VFSPOSEMountParamType|Palm OS Programmer's API Reference/58 構造体を指します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

sysNotifyVolumeUnmountedEvent ^TOP^

sysNotifyVolumeUnmountedEvent は、仮想ファイル システム ボリュームがアンマウントされるときにブロードキャストされます。あなたがボリュームがアンマウントされることを知る必要がある場合、この通知のための登録を行います。

sysNotifyVolumeUnmountedEvent 特有のデータ

notifyDetailsP はボリューム参照番号を保持します。

互換性

4.0 New Feature Set が存在する場合にのみ、実装されます。

← 2 章に戻る ↑トップへ 4 章に進む →