トップ 一覧 検索 ヘルプ RSS ログイン

Palm OS Programmer's API Reference/44の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[[← 40 章に戻る|Palm OS Programmer's API Reference/40]] [[↑トップへ|Palm OS Programmer's API Reference]] [[42 章に進む →|Palm OS Programmer's API Reference/42]]
----

{{anchor top}}

この章の索引

*{{goto Overlay Manager Data Structures,オーバレイ マネージャ データ構造体}}
**{{goto OmLocaleType,OmLocaleType}}
*{{goto Overlay Manager Constants,オーバレイ マネージャ定数}}
*{{goto Overlay Manager Functions,オーバレイ マネージャ関数}}
**{{goto OmGetCurrentLocale,OmGetCurrentLocale}}
**{{goto OmGetIndexedLocale,OmGetIndexedLocale}}
**{{goto OmGetNextSystemLocale,OmGetNextSystemLocale}}
**{{goto OmGetRoutineAddress,OmGetRoutineAddress}}
**{{goto OmGetSystemLocale,OmGetSystemLocale}}
**{{goto OmLocaleToOverlayDBName,OmLocaleToOverlayDBName}}
**{{goto OmOverlayDBNameToLocale,OmOverlayDBNameToLocale}}
**{{goto OmSetSystemLocale,OmSetSystemLocale}}

----

!!!44 オーバレイ マネージャ

この章では、ヘッダファイル {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} で定義されているオーバレイ マネージャ API について説明します。以下の内容について説明します。

*{{goto Overlay Manager Data Structures,オーバレイ マネージャ データ構造体}}
*{{goto Overlay Manager Constants,オーバレイ マネージャ定数}}
*{{goto Overlay Manager Functions,オーバレイ マネージャ関数}}

オーバレイ マネージャについての更なる情報は、''Palm OS Programmer's Companion, vol. I'' の[[「リソースローカライズのためのオーバレイの使用」|Palm OS Programmer's Companion Volume I/12-2]]を参照してください。


!!{{anchor Overlay Manager Data Structures}}オーバレイ マネージャ データ構造体 {{goto top,^TOP^}}


!{{goto OmLocaleType}}OmLocaleType 構造体 {{goto top,^TOP^}}

'''目的'''

{{span style='color:blue;font-family:monospace;',OmLocaleType}} 構造体はロケールを指定します。

'''Prototype'''

 typedef struct {
 	UInt16 language;
 	UInt16 country;
 } OmLocaleType;

'''フィールド'''

*{{span style='color:blue;font-family:monospace;',language}}
**ロケールの中で話される言語。この値は、{{span style='color:blue;font-family:monospace;',LanguageType}} 定数の 1 つです。
*{{span style='color:blue;font-family:monospace;',country}}
**その言語が話されているカントリーまたは地域。この値は、{{span style='color:blue;font-family:monospace;',CountryType}} 定数の 1 つです。

'''互換性'''

{{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合に、{{goto LmLocaleType,LmLocaleType}} が {{span style='color:blue;font-family:monospace;',OmLocaleType}} を置き換えます。下位互換性のために、{{span style='color:blue;font-family:monospace;',OmLocaleType}} は {{span style='color:blue;font-family:monospace;',LmLocaleType}} へマッピングされます。


!!{{goto Overlay Manager Constants}}オーバレイ マネージャ定数 {{goto top,^TOP^}}

,定数,値,説明
,"{{span style='color:blue;font-family:monospace;',omOverlayRscType}}","{{span style='color:blue;font-family:monospace;','ovly'}}",ベース データベースとオーバレイ データベースの両方の中で保持されているオーバレイ リソースの記号的な名前(原文: symbolic name)。
,"{{span style='color:blue;font-family:monospace;',omOverlayRscID}}",1000,ベース データベースとオーバレイ データベースの両方の中で保持されているオーバレイ リソースのリソース ID。
,"{{span style='color:blue;font-family:monospace;',omFtrCreator}}","{{span style='color:blue;font-family:monospace;','ovly'}}","{{span style='color:blue;font-family:monospace;',omFtrShowErrorsFlag}} 機能のために使用される作成者値。"
,"{{span style='color:blue;font-family:monospace;',omFtrDefaultLocale}}",1,"ROM に保存されているデフォルトのロケールを指定する機能。デフォルトのロケールは、システムが「分割された」データベース(オーバレイを要求するデータベース)をオープンしようと試みて、かつ、現在のロケールに一致するオーバレイが見つからなかったというケースで、使用されます。このケースでは、システムはデフォルトのロケールに一致するオーバレイを探します。{{goto FtrGet,FtrGet()|Palm OS Programmer's API Reference/34}} と {{goto FtrSet,FtrSet()|Palm OS Programmer's API Reference/34}} を使用してこの値を取得、セットします。"
,"{{span style='color:blue;font-family:monospace;',omFtrShowErrorsFlag}}",2,"オーバレイ マネージャによって表示されるエラー メッセージの数を制御する機能。この機能が {{span style='color:blue;font-family:monospace;',true}} にセットされている場合、オーバレイ マネージャは、オーバレイをそのベース データベースに対して検証しているときに、さらに数個のエラー メッセージを表示するかもしれません。この機能は、エラー チェック レベルが最高にセットされている(デバッグ ROM では一般にそのようになっていて、リリース ROM ではそのようになっていません)場合にのみ、効果を発揮します。{{goto FtrGet,FtrGet()|Palm OS Programmer's API Reference/34}} と {{goto FtrSet,FtrSet()|Palm OS Programmer's API Reference/34}} を使用してこの値を取得、セットします。"


!!{{goto Overlay Manager Functions}}オーバレイ マネージャ関数 {{goto top,^TOP^}}


!{{anchor OmGetCurrentLocale}}OmGetCurrentLocale 関数 {{goto top,^TOP^}}

'''目的'''

現在のロケールを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 void OmGetCurrentLocale(
 	LmLocaleType *currentLocale
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',← currentLocale}}
**現在のロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体へのポインタ。

'''返り値'''

返り値はありません。

'''コメント'''

この関数は現在のロケールを返します。現在のロケールは、リソース データベースのためにどのオーバレイが使用されるかを制御します。例えば、あるアプリケーションとそれに関連付けされた 2 つのオーバレイをインストールしたとします。1 つのオーバレイは US English のためで、もう 1 つは British English のためのものです。このケースでは、この関数によって返されるロケールの中で指定されているカントリーが {{span style='color:blue;font-family:monospace;',cUnitedKingdom}} である場合、アプリケーションのために British English オーバレイが使用されます。返されるカントリーが {{span style='color:blue;font-family:monospace;',cUnitedStates}} である場合、US English オーバレイが使用されます。

'''互換性'''

{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。それより前のバージョンの Palm OS で実行させることを意図したコードの中でこの関数を使用するには、PalmOSGlue ライブラリにリンクをはり、{{span style='color:blue;font-family:monospace;',OmGlueGetCurrentLocale}} を呼び出します。更なる情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80]] を参照してください。

'''参照'''

{{goto OmGetSystemLocale,OmGetSystemLocale()}}


!{{anchor OmGetIndexedLocale}}OmGetIndexedLocale 関数 {{goto top,^TOP^}}

'''目的'''

インデックスで指定されたシステム ロケールを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 Err OmGetIndexedLocale (
 	UInt16 localeIndex,
 	LmLocaleType *theLocale
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ localeIndex}}
**返されるロケールの 0-ベース インデックス
*{{span style='color:blue;font-family:monospace;',← theLocale}}
**インデックスで指定されたロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} へのポインタ

'''返り値'''

成功時には {{span style='color:blue;font-family:monospace;',true}} を返します。インデックスが領域から外れている場合は、{{span style='color:blue;font-family:monospace;',omErrInvalidLocaleIndex}} を返します。

'''コメント'''

{{span style='color:blue;font-family:monospace;',OmGetIndexedLocale}} は、システム リソースのためにインストールされたシステム オーバレイがいくつあるのか調べるためのループの中で、使用されます。

{{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数の代わりに {{goto OmGetNextSystemLocale,OmGetNextSystemLocale()}} を使用します。{{span style='color:blue;font-family:monospace;',OmGetIndexdLocale}} は多くの有効なシステム ロケールを保持している ROM 上では遅くなる可能性があります。

'''互換性'''

{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。しかしながら、{{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数は実装されません。

Palm OS 3.5 では、この関数は RAM の中に保存されているシステム オーバレイを返しません。この関数の Palm OS 4.0 バージョンは RAM の中のシステム オーバレイを返します。

'''参照'''

{{goto OmGetSystemLocale,OmGetSystemLocale()}}, {{goto OmGetNextSystemLocale,OmGetNextSystemLocale()}}


!{{anchor OmGetNextSystemLocale}}OmGetNextSystemLocale 関数 {{goto top,^TOP^}}

'''目的'''

システム ロケールを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 Err OmGetNextSystemLocale (
 	Boolean iNewSearch,
 	OmSearchStateType *ioStateInfoP,
 	LmLocaleType *oLocaleP
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ iNewSearch}}
**この関数呼び出しが新しい検索を開始する場合は {{span style='color:blue;font-family:monospace;',true}}、この関数呼び出しが検索の続きである場合は、{{span style='color:blue;font-family:monospace;',false}}
*{{span style='color:blue;font-family:monospace;',←→ ioStateInfoP}}
**{{span style='color:blue;font-family:monospace;',iNewSearch}} が {{span style='color:blue;font-family:monospace;',false}} の場合、これは前回の検索で使用されたのと同じデータを指さなくてはなりません。
*{{span style='color:blue;font-family:monospace;',← oLocaleP}}
**見つかったロケール

'''返り値'''

エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。一致するものが見つからなかった場合は、{{span style='color:blue;font-family:monospace;',omErrNoNextSystemLocale}} を返します。

'''コメント'''

この関数を続けて呼び出すことにより、システム リソースのためにインストールされているシステム オーバレイがいくつあるのか調べることができます。見つかった各システム オーバレイは個々の有効なシステム ロケールを決定します。この関数によって返されるいずれかのロケールを、システム ロケールを変更するために、{{goto OmSetSystemLocale,OmSetSystemLocale()}} へ送ることができます。

検索を開始するには、{{span style='color:blue;font-family:monospace;',iNewSearch}} に {{span style='color:blue;font-family:monospace;',true}} を渡します。{{span style='color:blue;font-family:monospace;',OmSearchStateType}} 構造体を割り当て、{{span style='color:blue;font-family:monospace;',ioStateInfoP}} としてそれのアドレスを渡します。{{span style='color:blue;font-family:monospace;',OmGetNextSystemLocale}} は {{span style='color:blue;font-family:monospace;',ioStateInfoP}} の中にプライベート情報を保存し、検索が継続される場合はそれを使用します。

前回の検索が終了したところで検索を継続するには、{{span style='color:blue;font-family:monospace;',iNewSearch}} に {{span style='color:blue;font-family:monospace;',false}} を渡し、前回のこの関数呼び出しで使用したのと同じ {{span style='color:blue;font-family:monospace;',ioStateInfoP}} を渡します。

呼び出しが続けられた場合、この関数は結果的に ROM または RAM の中にあるすべてのシステム オーバレイを返します。

'''互換性'''

{{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。しかしながら、{{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数は実装されません。


!{{anchor OmGetRoutineAddress}}OmGetRoutineAddress 関数 {{goto top,^TOP^}}

'''目的'''

オーバレイ マネージャ関数のアドレスを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 void *OmGetRoutineAddress (
 	OmSelector inSelector
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ inSelector}}
**{{span style='color:blue;font-family:monospace;',OverlayMgr.h}} の中で定義されているルーチン セレクタの 1 つ

'''返り値'''

対応する関数のアドレスを返します。無効なルーチン セレクタが渡された場合は、{{span style='color:blue;font-family:monospace;',NULL}} を返します。

'''コメント'''

通常、この関数を、デバイス上にあるオーバレイ マネージャ関数が存在するかどうか調べるために、使用します。Palm OS の将来のリリースは新しい関数を追加するため、前のバージョンのオーバレイ マネージャを持つ古いデバイスは、それらの新しい関数を実装していないかもしれません。{{span style='color:blue;font-family:monospace;',OmGetRoutineAddress}} が {{span style='color:blue;font-family:monospace;',NULL}} を返す場合、その関数は使用できません。

'''互換性'''

{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto IntlGetRoutineAddress,IntlGetRoutineAddress()|Palm OS Programmer's API Reference/60}}, {{goto SysGetTrapAddress,SysGetTrapAddress()|Palm OS Programmer's API Reference/54}}


!{{anchor OmGetSystemLocale}}OmGetSystemLocale 関数 {{goto top,^TOP^}}

'''目的'''

システム ロケールを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 void OmGetSystemLocale(
 	LmLocaleType *systemLocale
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',← systemLocale}}
**システム ロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体へのポインタ

'''返り値'''

返り値はありません。

'''コメント'''

通常、この関数を使用することはありません。代わりに、どのオーバレイが使用されるのかを決定するロケールを返す {{goto OmGetCurrentLocale,OmGetCurrentLocale()}} を使用します。

システム ロケールはストレージ ヒープ ヘッダの中に保存され、ソフト リセットがかかっても維持されます。デバイスがリセットされるとき、システム ロケールは現在のロケールをセットするために使用されます。

'''互換性'''

{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。それより前のバージョンの Palm OS で実行させることを意図したコードの中でこの関数を使用するには、PalmOSGlue ライブラリにリンクをはり、{{span style='color:blue;font-family:monospace;',OmGlueGetSystemLocale}} を呼び出します。更なる情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80]] を参照してください。

'''参照'''

{{goto OmGetCurrentLocale,OmGetCurrentLocale()}}, {{goto LmGlueGetSystemLocale,LmGlueGetSystemLocale()|Palm OS Programmer's API Reference/80}}


!{{anchor OmLocaleToOverlayDBName}}OmLocaleToOverlayDBName 関数 {{goto top,^TOP^}}

'''目的'''

与えられたベース データベース名とロケールから、オーバレイ データベースの名前を返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 Err OmLocaleToOverlayDBName(
 	const Char *baseDBName,
 	const LmLocaleType *targetLocale,
 	Char *overlayDBName
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ baseDBName}}
**オーバレイに関連付けられたベース リソース データベースの名前
*{{span style='color:blue;font-family:monospace;',→ targetLocale}}
**このオーバレイが適用されるロケール。{{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} を参照してください。現在のロケールを使用するためには {{span style='color:blue;font-family:monospace;',NULL}} を渡します。
*{{span style='color:blue;font-family:monospace;',← overlayDBName}}
**ベース データベース名とターゲット ロケールを与えられたオーバレイ データベース。このバッファは少なくとも {{span style='color:blue;font-family:monospace;',dmDBNameLength}} バイトなけらばなりません。

'''返り値'''

成功時には {{span style='color:blue;font-family:monospace;',errNone}} を返します。{{span style='color:blue;font-family:monospace;',targetLocale}} パラメータが無効の場合は、{{span style='color:blue;font-family:monospace;',omErrUnknownLocale}} を返します。

'''コメント'''

適切なオーバレイ データベース名は現在のところ:

{{span style='color:blue;font-family:monospace;font-style:italic;',baseDBName_llCC}}

ここで:
*{{span style='color:blue;font-family:monospace;font-style:italic;',baseDBName}}
**渡したベース データベースの名前
*{{span style='color:blue;font-family:monospace;font-style:italic;',ll}}
**言語を指定する 2 文字のコード
*{{span style='color:blue;font-family:monospace;font-style:italic;',CC}}
**カントリーを指定する 2 文字のコード

ベース データベース名は、この接尾辞のために必要があれば、切り詰められます。

例えば、ベース データベース "MemoPad" は、US English のための "MemoPad_enUS" という名前のオーバレイを持つかもしれません。

'''互換性'''

{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto OmOverlayDBNameToLocale,OmOverlayDBNameToLocale()}}


!{{anchor OmOverlayDBNameToLocale}}OmOverlayDBNameToLocale 関数 {{goto top,^TOP^}}

'''目的'''

名前が与えられたオーバレイ データベースのロケールを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 Err OmOverlayDBNameToLocale(
 	const Char *overlayDBName,
 	LmLocaleType *overlayLocale
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ overlayDBName}}
**オーバレイ データベースの名前
*{{span style='color:blue;font-family:monospace;',← overlayLocale}}
**オーバレイのロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体へのポインタ

'''返り値'''

成功時には {{span style='color:blue;font-family:monospace;',errNone}} を返します。文字列 {{span style='color:blue;font-family:monospace;',overlayDBName}} がロケール接尾辞を持つにはもはや十分でない場合は、{{span style='color:blue;font-family:monospace;',omErrBadOverlayDBName}} を返し、また、ロケールを決定できない場合は、{{span style='color:blue;font-family:monospace;',omErrUnknownLocale}} を返します。

'''参照'''

{{goto OmLocaleToOverlayDBName,OmLocaleToOverlayDBName()}}


!{{anchor OmSetSystemLocale}}OmSetSystemLocale 関数 {{goto top,^TOP^}}

'''目的'''

システム ロケールをセットし、デバイスをリセットします。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',OverlayMgr.h}}

'''Prototype'''

 Err OmSetSystemLocale(
 	const LmLocaleType *systemLocale
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ systemLocale}}
**システムを切り替えるロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体

'''返り値'''

成功時には {{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合は、以下の 1 つを返します。

*{{span style='color:blue;font-family:monospace;',omErrUnknownLocale}}
**{{span style='color:blue;font-family:monospace;',systemLocale}} のためのシステム オーバレイがありません。
*{{span style='color:blue;font-family:monospace;',omErrInvalidLocale}}
**{{span style='color:blue;font-family:monospace;',systemLocale}} のためのシステム オーバレイは見つかりましたが、無効です。
*{{span style='color:blue;font-family:monospace;',dmErrInvalidParam}}
**オーバレイをオープンする間にメモリ エラーが起こりました。
*{{span style='color:blue;font-family:monospace;',dmErrDatabaseOpen}}
**システム オーバレイはすでにオープンされています。

'''コメント'''

この関数はシステム ロケールを指定されたロケール(もしそれがあれば)に変更します。最初に要求されたロケールのためのシステム ロケールが存在するかどうかを決定し、ベース システム データベースを照合します。そうであれば、ストレージ ヒープ ヘッダの中に保存されるシステム ロケール情報を更新し、デバイスをリセットします。デバイスのリセット後は、現在のロケールはそのシステム ロケールにセットされています。

Palm デバイスは ROM の中にハード-コードされたデフォルトのロケールを持ちます。このロケールは、ハード リセット後、または、ストレージ ヒープ ヘッダが無効である場合いつでも、システム ロケールをセットするために使用されます。ストレージ ヒープ ヘッダは、通常、最初にデバイスが ON になったときにのみ、無効です。

'''互換性'''

{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。しかしながら、{{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数は実装されません。

Palm OS 3.5 では、この関数は RAM の中に位置するシステム オーバレイを切り替えません。この関数の Palm OS 4.0 バージョンは RAM の中に位置するシステム オーバレイを返します。

'''参照'''

{{goto OmGetSystemLocale,OmGetSystemLocale()}}

----
[[← 40 章に戻る|Palm OS Programmer's API Reference/40]] [[↑トップへ|Palm OS Programmer's API Reference]] [[42 章に進む →|Palm OS Programmer's API Reference/42]]