[[← 29 章に戻る|Palm OS Programmer's API Reference/29]] [[↑トップへ|Palm OS Programmer's API Reference]] [[31 章に進む →|Palm OS Programmer's API Reference/31]] ---- [[この章のページ 1 へ|Palm OS Programmer's API Reference/30-1]] この章の索引 *(ページ 1) *データ マネージャ データ構造体 **{{goto DmOpenRef,DmOpenRef|Palm OS Programmer's API Reference/30-1}} **{{goto DmResID,DmResID|Palm OS Programmer's API Reference/30-1}} **{{goto DmResType,DmResType|Palm OS Programmer's API Reference/30-1}} **{{goto SortRecordInfoType,SortRecordInfoType|Palm OS Programmer's API Reference/30-1}} *データ マネージャ定数 **{{goto カテゴリ定数,カテゴリ定数|Palm OS Programmer's API Reference/30-1}} **{{goto レコード属性定数,レコード属性定数|Palm OS Programmer's API Reference/30-1}} **{{goto データベース属性定数,データベース属性定数|Palm OS Programmer's API Reference/30-1}} **{{goto エラー コード,エラー コード|Palm OS Programmer's API Reference/30-1}} **{{goto オープン モード定数,オープン モード定数|Palm OS Programmer's API Reference/30-1}} **{{goto Miscellaneous Constants,Miscellaneous Constants|Palm OS Programmer's API Reference/30-1}} *データ マネージャ関数 **{{goto DmArchiveRecord,DmArchiveRecord|Palm OS Programmer's API Reference/30-1}} **{{goto DmAttachRecord,DmAttachRecord|Palm OS Programmer's API Reference/30-1}} **{{goto DmAttachResource,DmAttachResource|Palm OS Programmer's API Reference/30-1}} **{{goto DmCloseDatabase,DmCloseDatabase|Palm OS Programmer's API Reference/30-1}} **{{goto DmCreateDatabase,DmCreateDatabase|Palm OS Programmer's API Reference/30-1}} **{{goto DmCreateDatabaseFromImage,DmCreateDatabaseFromImage|Palm OS Programmer's API Reference/30-1}} **{{goto DmDatabaseInfo,DmDatabaseInfo|Palm OS Programmer's API Reference/30-1}} **{{goto DmDatabaseProtect,DmDatabaseProtect|Palm OS Programmer's API Reference/30-1}} **{{goto DmDatabaseSize,DmDatabaseSize|Palm OS Programmer's API Reference/30-1}} **{{goto DmDeleteCategory,DmDeleteCategory|Palm OS Programmer's API Reference/30-1}} **{{goto DmDeleteDatabase,DmDeleteDatabase|Palm OS Programmer's API Reference/30-1}} **{{goto DmDeleteRecord,DmDeleteRecord|Palm OS Programmer's API Reference/30-1}} **{{goto DmDetachRecord,DmDetachRecord|Palm OS Programmer's API Reference/30-1}} **{{goto DmDetachResource,DmDetachResource|Palm OS Programmer's API Reference/30-1}} **{{goto DmFindDatabase,DmFindDatabase|Palm OS Programmer's API Reference/30-1}} **{{goto DmFindRecordByID,DmFindRecordByID|Palm OS Programmer's API Reference/30-1}} **{{goto DmFindResource,DmFindResource|Palm OS Programmer's API Reference/30-1}} **{{goto DmFindResourceType,DmFindResourceType|Palm OS Programmer's API Reference/30-1}} **{{goto DmFindSortPosition,DmFindSortPosition|Palm OS Programmer's API Reference/30-1}} **{{goto DmFindSortPositionV10,DmFindSortPositionV10|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetAppInfoID,DmGetAppInfoID|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetDatabase,DmGetDatabase|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetDatabaseLockState,DmGetDatabaseLockState|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetLastErr,DmGetLastErr|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetNextDatabaseByTypeCreator,DmGetNextDatabaseByTypeCreator|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetRecord,DmGetRecord|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetResource,DmGetResource|Palm OS Programmer's API Reference/30-1}} **{{goto DmGetResourceIndex,DmGetResourceIndex|Palm OS Programmer's API Reference/30-1}} **{{goto DmGet1Resource,DmGet1Resource|Palm OS Programmer's API Reference/30-1}} **{{goto DmInsertionSort,DmInsertionSort|Palm OS Programmer's API Reference/30-1}} **{{goto DmMoveCategory,DmMoveCategory|Palm OS Programmer's API Reference/30-1}} **{{goto DmMoveRecord,DmMoveRecord|Palm OS Programmer's API Reference/30-1}} *(ページ 2) **{{goto DmNewHandle,DmNewHandle}} **{{goto DmNewRecord,DmNewRecord}} **{{goto DmNewResource,DmNewResource}} **{{goto DmNextOpenDatabase,DmNextOpenDatabase}} **{{goto DmNextOpenResDatabase,DmNextOpenResDatabase}} **{{goto DmNumDatabases,DmNumDatabases}} **{{goto DmNumRecords,DmNumRecords}} **{{goto DmNumRecordsInCategory,DmNumRecordsInCategory}} **{{goto DmNumResources,DmNumResources}} **{{goto DmOpenDatabase,DmOpenDatabase}} **{{goto DmOpenDatabaseByTypeCreator,DmOpenDatabaseByTypeCreator}} **{{goto DmOpenDatabaseInfo,DmOpenDatabaseInfo}} **{{goto DmOpenDBNoOverlay,DmOpenDBNoOverlay}} **{{goto DmPositionInCategory,DmPositionInCategory}} **{{goto DmQueryNextInCategory,DmQueryNextInCategory}} **{{goto DmQueryRecord,DmQueryRecord}} **{{goto DmQuickSort,DmQuickSort}} **{{goto DmRecordInfo,DmRecordInfo}} **{{goto DmReleaseRecord,DmReleaseRecord}} **{{goto DmReleaseResource,DmReleaseResource}} **{{goto DmRemoveRecord,DmRemoveRecord}} **{{goto DmRemoveResource,DmRemoveResource}} **{{goto DmRemoveSecretRecords,DmRemoveSecretRecords}} **{{goto DmResizeRecord,DmResizeRecord}} **{{goto DmResizeResource,DmResizeResource}} **{{goto DmResourceInfo,DmResourceInfo}} **{{goto DmSearchRecord,DmSearchRecord}} **{{goto DmSearchResource,DmSearchResource}} **{{goto DmSeekRecordInCategory,DmSeekRecordInCategory}} **{{goto DmSet,DmSet}} **{{goto DmSetDatabaseInfo,DmSetDatabaseInfo}} **{{goto DmSetRecordInfo,DmSetRecordInfo}} **{{goto DmSetResourceInfo,DmSetResourceInfo}} **{{goto DmStrCopy,DmStrCopy}} **{{goto DmSync,DmSync}} **{{goto DmSyncDatabase,DmSyncDatabase}} **{{goto DmWrite,DmWrite}} **{{goto DmWriteCheck,DmWriteCheck}} *アプリケーション定義関数 **{{goto DmComparF,DmComparF}} ---- !!!30 データとリソース マネージャ (ページ 2) !{{anchor DmNewHandle}}DmNewHandle 関数 {{goto p0,^TOP^}} '''目的''' 渡されたデータベース アクセス ポインタのデータベース ヘッダと同じデータ ヒープまたはカードに対して、新しいチャンクの割り当てを試みます。データ ヒープに十分な空き容量が無い場合は、他のヒープで試みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmNewHandle ( DmOpenRef dbP, UInt32 size ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ size}} **新しいハンドルのサイズ '''返り値''' 新しいチャンクのチャンク ID を返します。エラーが起きた場合は 0 を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 '''コメント''' 与えられたサイズの新しいハンドルを割り当てます。新しいハンドルが、与えられたデータベースと同じメモリ カードにあることを保証します。このことは、データベースに新しいハンドルをレコードとして追加でき、かつ、その {{span style='color:blue;font-family:monospace;',LocalID}} をデータベース ヘッダの {{span style='color:blue;font-family:monospace;',appInfoID}} または {{span style='color:blue;font-family:monospace;',sortInfoID}} フィールドに保存できるということを保証します。 新しいハンドルをできる限り早くデータベースに追加すべきです。ハンドルをデータベースに追加できず、アプリケーションがクラッシュした場合、新しいハンドルに使用されたメモリはソフト リセットされるまで使用できません。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 !{{anchor DmNewRecord}}DmNewRecord 関数 {{goto p0,^TOP^}} '''目的''' データベース中の新しいレコードへのハンドルを返し、レコードを Busy 状態にします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmNewRecord ( DmOpenRef dbP, UInt16 *atP, UInt32 size ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',←→ atP}} **新しいレコードが位置する場所を示すインデックスへのポインタ。データベースの最後にレコードを追加する場合は、{{span style='color:blue;font-family:monospace;',dmMaxRecordIndex}} を指定します。 *{{span style='color:blue;font-family:monospace;',→ size}} **新しいレコードのサイズ '''返り値''' レコード データへのハンドル。エラーが起きた場合、この関数は 0 を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。データベースが Read-only モードでオープンされている場合、または、データベースがリソース データベースの場合、いくつかのエラーは致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 与えられたサイズの新しいレコードを割り当て、そのレコード データへのハンドルを返します。パラメータ {{span style='color:blue;font-family:monospace;',atP}} はインデックス変数を指します。新しいレコードはインデックス {{span style='color:blue;font-family:monospace;',*atP}} に挿入され、その後に位置するすべてのレコードはシフト ダウンされます。{{span style='color:blue;font-family:monospace;',*atP}} がデータベースの現在のレコード数よりも大きい場合、新しいレコードはデータベースの最後に追加され、そのインデックスが {{span style='color:blue;font-family:monospace;',*atP}} で返されます。新しいレコードに対して {{span style='color:blue;font-family:monospace;',busy}} と {{span style='color:blue;font-family:monospace;',dirty}} の両方のビットがセットされ、固有 ID が自動的に作成されます。 レコードの閲覧または編集の完了後は、できるだけ早く {{goto DmReleaseRecord,DmReleaseRecord()}} を呼び出すべきです。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmAttachRecord,DmAttachRecord()|Palm OS Programmer's API Reference/30-1}}, {{goto DmRemoveRecord,DmRemoveRecord()}}, {{goto DmDeleteRecord,DmDeleteRecord()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmNewResource}}DmNewResource 関数 {{goto p0,^TOP^}} '''目的''' リソース データベースに対して、新しいリソースの割り当てと追加を行います。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmNewResource ( DmOpenRef dbP, DmResType resType, DmResID resID, UInt32 size ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ resType}} **新しいリソースの型 *{{span style='color:blue;font-family:monospace;',→ resID}} **新しいリソースの ID *{{span style='color:blue;font-family:monospace;',→ size}} **新しいリソースに指定するサイズ '''返り値''' 新しいリソースへのハンドル。エラーが起きた場合、この関数は {{span style='color:blue;font-family:monospace;',NULL}} を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 データベースがリソース データベースではない場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 新しいリソースにメモリ チャンクを割り当て、与えられたリソース データベースに追加します。新しいリソースは与えられた型と ID を持ちます。成功した場合、アプリケーションは、リソースの初期化が終了後、できるだけ早く {{goto DmReleaseResource,DmReleaseResource()}} を呼び出すべきです。 '''参照''' {{goto DmAttachResource,DmAttachResource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmRemoveResource,DmRemoveResource()}} !{{anchor DmNextOpenDatabase}}DmNextDatabase 関数 {{goto p0,^TOP^}} '''目的''' 現在のタスクのために、次のオープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' DmOpenRef DmNextOpenDatabase ( DmOpenRef currentP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ currentP}} **現在のデータベース アクセス ポインタまたは {{span style='color:blue;font-family:monospace;',NULL}} '''返り値''' 次のオープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}}。次のデータベースが無い場合は、{{span style='color:blue;font-family:monospace;',NULL}} を返します。 '''コメント''' すべてのオープンされたデータベースの {{span style='color:blue;font-family:monospace;',DmOpenRef}} を取得するには、このルーチンを相次いで呼び出します。最初の {{span style='color:blue;font-family:monospace;',DmOpenRef}} を取得する場合には、{{span style='color:blue;font-family:monospace;',currentP}} に {{span style='color:blue;font-family:monospace;',NULL}} を渡します。通常、アプリケーションがこの関数を呼び出すことはありませんが、システム情報を取得する場合には有用です。 '''参照''' {{goto DmOpenDatabaseInfo,DmOpenDatabaseInfo()}}, {{goto DmDatabaseInfo,DmDatabaseInfo()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmNextOpenResDatabase}}DmNextOpenResDatabase 関数 {{goto p0,^TOP^}} '''目的''' 連続した探索を行う場合に、次のオープンされたリソース データベースへのアクセス ポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' DmOpenRef DmNextOpenResDatabase ( DmOpenRef dbP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **データベースへのポインタ。または、先頭から探索を開始する場合には 0。 '''返り値''' 次のオープンされたリソース データベースへのポインタ '''コメント''' 次のオープンされたリソース データベースへのポインタを返します。連続した探索で最初のポインタを取得するには、{{span style='color:blue;font-family:monospace;',dbP}} に {{span style='color:blue;font-family:monospace;',NULL}} を渡します。これにより取得されるデータベースは、{{goto DmGet1Resource,DmGet1Resouce()|Palm OS Programmer's API Reference/30-1}} の呼び出しで得られるものです。 関連するオーバレイを持つかもしれないリソース データベースにアクセスするためにこの関数を使用する場合、その返り値をどのように使用するのかに気をつけてください。この関数で返される {{span style='color:blue;font-family:monospace;',DmOpenRef}} はオーバレイ データベースへのポインタであり、ベース データベースではありません。次にこのポインタを {{goto DmFindResource,DmFindResource()|Palm OS Programmer's API Reference/30-1}} に渡すと、オーバレイ リソースへのハンドルが返されます。ベースのみのリソースを探索している場合、それは見つかりません。代わりに、リソースを取得するのに {{goto DmGetResource,DmGetResource()|Palm OS Programmer's API Reference/30-1}} または {{goto DmGet1Resource,DmGet1Resource()|Palm OS Programmer's API Reference/30-1}} を使用してください。これらの関数は両方ともオーバレイ データベースとそれらが関連しているベース データベースの両方を探索します。 !{{anchor DmNumDatabases}}DmNumDatabases 関数 {{goto p0,^TOP^}} '''目的''' メモリ カードにいくつのデータベースが存在しているか調べます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmNumDatabases ( UInt16 cardNo ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ cardNo}} **チェックするカードの番号 '''返り値''' 見つかったデータベースの数 '''コメント''' このルーチンはカード上のすべてのデータベースのディレクトリを取得する助けになります。ルーチン {{goto DmGetDatabase,DmGetDatabase()|Palm OS Programmer's API Reference/30-1}} は、0 から {{goto DmNumDatabasesmDmNumDatabases()}}-1 までのインデックスを受け付け、インデックスからデータベース ID を返します。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmGetDatabase,DmGetDatabase()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmNumRecords}}DmNumRecords 関数 {{goto p0,^TOP^}} データベース中のレコード数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmNumRecords ( DmOpenRef dbP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} '''返り値''' データベース中のレコード数 '''コメント''' {{span style='color:blue;font-family:monospace;',deleted}} ビットがセットされているレコード(つまり、ユーザが削除マークを付けたため、次回の同期時に削除されるレコード)はレコード数に含まれます。これらのレコードを除外したい場合は、{{goto DmNumRecordsInCategory,DmNumRecordsInCategory()}} を使用して、カテゴリとして {{span style='color:blue;font-family:monospace;',dmAllCategories}} を渡してください。 '''参照''' {{goto DmNumRecordsInCategory,DmNumRecordsInCategory()}}, {{goto DmRecordInfo,DmRecordInfo()}}, {{goto DmSetRecordInfo,DmSetRecordInfo()}} !{{anchor DmNumRecordsInCategory}}DmNumRecordsInCategory 関数 {{goto p0,^TOP^}} '''目的''' データベース中の指定されたカテゴリのレコード数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmNumRecordsInCategory ( DmOpenRef dbP, UInt16 category ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ category}} **カテゴリ インデックス '''返り値''' カテゴリのレコード数 '''コメント''' この関数はデータベース中のすべてのレコードを評価しなくてはならないため、大きなデータベースに対して呼び出した場合は特に、返りが遅くなることがあります。 {{span style='color:blue;font-family:monospace;',deleted}} ビットがセットされたレコードは数に入りませし、ユーザがプライベート レコードに hide または mask を指定している場合はプライベート レコードも数に入りません。 与えられたレコードからカテゴリ インデックスを取得するのに{{goto DmRecordInfo,DmRecordInfo()}} 呼び出しを使用することができます。以下に例を挙げます。 DmOpenRef myDB; UInt16 record, attr, category, total; DmRecordInfo(myDB, record, &attr, NULL, NULL); category = attr & dmRecAttrCategoryMask; total = DmNumRecordsInCategory(myDB, category); '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmNumRecords,DmNumRecords()}}, {{goto DmQueryNextInCategory,DmQueryNextInCategory()}}, {{goto DmPositionInCategory,DmPositionInCategory()}}, {{goto DmSeekRecordInCategory,DmSeekRecordInCategory()}}, {{goto DmMoveCategory,DmMoveCategory()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmNumResources}}DmNumResources 関数 {{goto p0,^TOP^}} 与えられたリソース データベース中のリソース数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmNumResources ( DmOpenRef dbP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} '''返り値''' 与えられたデータベース中のリソースの総数。 データベースがリソース データベースではない場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' {{span style='color:blue;font-family:monospace;',DmNumResources}} は、{{span style='color:blue;font-family:monospace;',DmOpenRef}} パラメータで指定されたデータベース中のみのリソース数をカウントします。データベースが関連するオーバレイを持つリソース データベースである場合、この関数はベース データベース中のリソース数を返すだけで、オーバレイ中のリソース数は返しません。 !{{anchor DmOpenDatabase}}DmOpenDatabase 関数 {{goto p0,^TOP^}} '''目的''' データベースをオープンし、そのデータベースへの参照を返します。データベースがリソース データベースの場合、現在のロケールでのそのデータベースのオーバレイもまた、オープンします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' DmOpenRef DmOpenDatabase ( UInt16 cardNo, LocalID dbID, UInt16 mode ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ cardNo}} **データベースが存在しているカード番号 *{{span style='color:blue;font-family:monospace;',→ dbID}} **データベースのデータベース ID *{{span style='color:blue;font-family:monospace;',→ mode}} **データベースをオープンするモード({{goto オープン モード定数,オープン モード定数}} を参照してください) '''返り値''' オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} を返します。データベース パラメータが {{span style='color:blue;font-family:monospace;',NULL}} または無効な ID である場合、致命的なエラー メッセージが表示されるかもしれません。他のすべてのエラーでは、この関数は 0 を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 '''コメント''' 読み込みまたは書き込みを行うデータベースをオープンするためにこの関数を呼び出します。 このルーチンはデータベースの個々のレコードへのアクセスに用いられる {{span style='color:blue;font-family:monospace;',DmOpenRef}} を返します。失敗した場合、0 が返され、エラーが起きた理由は {{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} を呼び出すことで調べられます。 リソース データベースを Read-only モードでオープンするためにこのルーチンを使用した場合、現在のロケールでそのデータベースに関連しているオーバレイがあれば、そのオーバレイもまたオープンします。(関数 {{goto OmGetCurrentLocale,OmGetCurrentLocale|Palm OS Programmer's API Reference/44}} が現在のロケールを返します。)オーバレイは、一般に、アプリケーション、共有ライブラリ、それにパネルをローカライズするのに用いられるリソース データベースです。オーバレイはベース データベースと同じ作者を持ち、{{span style='color:blue;font-family:monospace;',"'ovly'"}} の型(記号的には {{span style='color:blue;font-family:monospace;',omOverlayDBType}} と名付けられています)を持ち、さらにベース データベースのリソースと同じ ID と型のリソースを保持しています。{{goto DmGetResource,DmGetResouce()|Palm OS Programmer's API Reference/30-1}} または {{goto DmGet1Resource,DmGet1Resource()|Palm OS Programmer's API Reference/30-1}} を使ってデータベースからリソースを取り出そうとした場合、オーバレイが最初に探索されます。オーバレイが与えられた ID のリソースを保持していれば、それが返されます。保持していなければ、ベース データベースのリソースが返されます。 この関数で返される {{span style='color:blue;font-family:monospace;',DmOpenRef}} はベース データベースへのポインタであり、オーバレイ データベースへのポインタではありません。ですから、このポインタをオーバレイを回避する関数 {{goto DmFindResource,DmFindResource()|Palm OS Programmer's API Reference/30-1}} などに渡す場合には気を付けてください。 ユーザ インターフェイス リソースを持たない「剥ぎ取られた(訳者注: stripped)」ベース データベースが作成される可能性があります。{{span style='color:blue;font-family:monospace;',DmOpenDatabase}} は剥ぎ取られたデータベースに関連するオーバレイが存在する場合にのみ、そのデータベースをオープンします。オーバレイが存在しないか、オーバレイが利ソート データベースと一致しない場合、{{span style='color:blue;font-family:monospace;',DmOpenDatabase}} は {{span style='color:blue;font-family:monospace;',NULL}} を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} がエラー コード {{goto omErrBaseRequiresOverlay,omErrBaseRequiresOverlay|Palm OS Programmer's API Reference/44}} を返します。 リソース データベースを書き込み可能モードでオープンする場合、関連のオーバレイはオープンされません。リソース データベースに変更を加える場合、オーバレイにも存在するリソースのどれかに影響を与える変更を加えると、そのオーバレイ データベースは無効になります。このことは、その後にリソース データベースを Read-only モードでオープンしても、Palm OS はそのオーバレイは無効であると見なしてオーバレイがオープンされないことを意味します。 ---- '''TIP:''' リソース データベースがオーバレイされるのを防ぎたい場合、データベースに ID 0 ({{span style='color:blue;font-family:monospace;',sysResIDExtPrefs}})の {{span style='color:blue;font-family:monospace;',"'xprt'"}} リソース(記号的には {{span style='color:blue;font-family:monospace;',sysResTExtPrefs}} と名付けられています) を含め、その {{span style='color:blue;font-family:monospace;',disableOverlays}} フラグをセットしてください。このリソースは {{span style='color:blue;font-family:monospace;',UIResource.r}} で定義されています。 ---- '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合にのみ、オーバレイ サポートが利用可能です。 {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に {{span style='color:blue;font-family:monospace;',DmOpenDatabase}} が剥ぎ取られたリソース データベースをオープンしようと試みて、そのオーバレイを見つけられないと、システム ロケールがデフォルト ロケールと異なる場合、{{span style='color:blue;font-family:monospace;',DmOpenDatabase}} はデフォルト ロケールと一致するオーバレイを探します。 {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmCloseDatabase,DmCloseDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmCreateDatabase,DmCreateDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmFindDatabase,DmFindDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDatabaseByTypeCreator,DmOpenDatabaseByTypeCreator()}}, {{goto DmDeleteDatabase,DmDeleteDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDBNoOverlay,DmOpenDBNoOverlay()}} !{{anchor DmOpenDatabaseByTypeCreator}} DmOpenDatabaseByTypeCreator 関数 {{goto p0,^TOP^}} '''目的''' 与えられた型と作者から、最新バージョンのデータベースをオープンします。データベースがリソース データベースの場合、現在のロケールに対応するオーバレイもオープンします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' DmOpenRef DmOpenDatabaseByTypeCreator( UInt32 type, UInt32 creator, UInt16 mode ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ type}} **データベースの型 *{{span style='color:blue;font-family:monospace;',→ creator}} **データベースの作者 *{{span style='color:blue;font-family:monospace;',→ mode}} **データベースをオープンするモード({{goto オープン モード定数,オープン モード定数}} を参照してください) '''返り値''' オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}}。データベースが見つからなかった場合、この関数は 0 を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 '''コメント''' Read-only モードでリソース データベースをオープンするのにこの関数を使用すると、現在のロケールに対応するこのデータベース関連のオーバレイもオープンします。オーバレイとリソース データベースに関する詳細情報は、{{goto DmOpenDatabase,DmOpenDatabase()}} を参照してください。 '''互換性''' {{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}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmCreateDatabase,DmCreateDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDatabase,DmOpenDatabase()}}, {{goto DmOpenDatabaseInfo,DmOpenDatabaseInfo()}}, {{goto DmCloseDatabase,DmCloseDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDBNoOverlay,DmOpenDBNoOverlay()}} !{{anchor DmOpenDatabaseInfo}}DmOpenDatabaseInfo 関数 {{goto p0,^TOP^}} '''目的''' オープンされたデータベースについての情報を調べます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmOpenDatabaseInfo ( DmOpenRef dbP, LocalID *dbIDP, UInt16 *openCountP, UInt16 *modeP, UInt16 *cardNoP, Boolean *resDBP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',← dbIDP}} **データベースの ID。この情報について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← openCountP}} **このデータベースをオープンしたアプリケーションの数。この情報について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← modeP}} **データベースをオープンする際のモード({{goto オープン モード定数,オープン モード定数}} を参照してください)。この情報について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← cardNoP}} **このデータベースが存在しているカードの番号。この情報について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← resDBP}} **{{span style='color:blue;font-family:monospace;',true}} が返された場合、データベースはリソース データベースです。リソース データベースでなければ {{span style='color:blue;font-family:monospace;',false}} が返されます。この情報について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。 '''参照''' {{goto DmDatabaseInfo,DmDatabaseInfo()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmOpenDBNoOverlay}}DmOpenDBNoOverlay 関数 {{goto p0,^TOP^}} '''目的''' データベースをオープンし、そのデータベースへの参照を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' DmOpenRef DmOpenDBNoOverlay ( UInt16 cardNo, LocalID dbID, UInt16 mode ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ cardNo}} **データベースが存在しているカード番号 *{{span style='color:blue;font-family:monospace;',→ dbID}} **データベースのデータベース ID *{{span style='color:blue;font-family:monospace;',→ mode}} **データベースをオープンする際のモード({{goto オープン モード定数,オープン モード定数}} を参照してください) '''返り値''' オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}}。データベース パラメータが {{span style='color:blue;font-family:monospace;',NULL}} の場合、致命的なエラー メッセージを表示するかもしれません。他のすべてのエラーでは、この関数は 0 を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 '''コメント''' 読み込みまたは書き込みのためにデータベースをオープンするのにこの関数を呼び出します。オープンする際、そのデータベースに関連するかもしれないオーバレイ データベースを無視します。 このルーチンは、データベースの個々のレコードにアクセスするために使用される {{span style='color:blue;font-family:monospace;',DmOpenRef}} を返します。失敗した場合、0 が返され、エラーが起きた理由を {{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} を呼び出すことで調べることができます。 '''互換性''' {{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}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmCloseDatabase,DmCloseDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmCreateDatabase,DmCreateDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmFindDatabase,DmFindDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDatabaseByTypeCreator,DmOpenDatabaseByTypeCreator()}}, {{goto DmDeleteDatabase,DmDeleteDatabase()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDatabase,DmOpenDatabase()}} !{{anchor DmPositionInCategory}}DmPositionInCategory 関数 {{goto p0,^TOP^}} '''目的''' 指定したカテゴリでのレコードの位置を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmPositionInCategory ( DmOpenRef dbP, UInt16 index, UInt16 category ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **レコードのインデックス *{{span style='color:blue;font-family:monospace;',→ category}} **探索を行うカテゴリのインデックス '''返り値''' (0 ベースの)位置を返します。指定したインデックスが範囲外の場合、この関数は 0 を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。このことは、0 の返り値は呼び出し成功かもしれないし、失敗かもしれないということを意味するということに注意してください。この関数が 0 を返し、{{span style='color:blue;font-family:monospace;',DmGetLastErr}} が {{span style='color:blue;font-family:monospace;',errNone}} を返した場合、返り値はカテゴリの最初のレコードを示していることになります。 '''コメント''' この関数は現在のレコードをすべて評価しなくてはならないため、大きなデータベースに対して呼び出した場合特に、返りが遅くなる可能性があります。{{span style='color:blue;font-family:monospace;',deleted}} ビットがセットされたレコードは無視し、ユーザがプライベート レコードを隠したり、マスクをかけている場合は、プライベート レコードも無視します。 レコードが ROM ベース(pointer accessed 訳者??)の場合、このルーチンはそのレコードに対する偽の(訳者注: fake)ハンドルを作成し、このハンドルを {{span style='color:blue;font-family:monospace;',DmAccessType}} 構造体に保存します。 レコードが収められているカテゴリを調べるには、{{goto DmRecordInfo,DmRecordInfo()}} を使用してください。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmQueryNextInCategory,DmQueryNextInCategory()}}, {{goto DmSeekRecordInCategory,DmSeekRecordInCategory()}}, {{goto DmMoveCategory,DmMoveCategory()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmQueryNextInCategory}}DmQueryNextInCategory 関数 {{goto p0,^TOP^}} '''目的''' 指定した読み込み専用({{span style='color:blue;font-family:monospace;',busy}} ビットがセットされていない)でオープンされているカテゴリ中の次のレコードへのハンドルを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmQueryNextInCategory ( DmOpenRef dbP, UInt16 *indexP, UInt16 category ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',←→ indexP}} **既存のレコード(たいてい {{goto DmPositionInCategory,DmPositionInCategory()}} で調べます)のインデックス。「次の」レコードが見つかった場合、このインデックスはそのレコードを示すように更新されます。 *{{span style='color:blue;font-family:monospace;',→ category}} **問い合わせるカテゴリのインデックス、または、すべてのカテゴリ中の次のレコードを見つける場合には {{span style='color:blue;font-family:monospace;',dmAllCategories}} '''返り値''' 既知のレコードのインデックスの後に続くインデックスを持つレコードへのハンドルを返します。レコードが見つからなかった場合、この関数は {{span style='color:blue;font-family:monospace;',NULL}} を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 '''コメント''' この関数は、指定したカテゴリ中のレコードを見つけるために、データベースの探索を {{span style='color:blue;font-family:monospace;',*indexP}} のレコードから開始します。{{span style='color:blue;font-family:monospace;',*indexP}} のレコードが指定したカテゴリに属する場合、そのレコードへのハンドルが返されます。レコードが属さない場合、この関数はカテゴリに属するレコードが見つかるまで探索を続けます。 {{span style='color:blue;font-family:monospace;',deleted}} ビットがセットされたレコードはスキップされ、ユーザがプライベート レコードを隠したり、マスクをかけている場合は、プライベート レコードもスキップされます。 カテゴリ中のインデックスが既知のレコードの次のレコードを見つけるには、この関数を呼び出す前にこのインデックス値を +1 しておきます。以下に例を挙げます。 DmOpenRef myDB; UInt16 record, attr, category, pos; MemHandle newRecH; DmRecordInfo(myDB, record, &attr, NULL, NULL); category = attr & dmRecAttrCategoryMask; pos = DmPositionInCategory(myDB, record, category); pos++; newRecH = DmQueryNextInCategory(myDB, &pos, category); '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmNumRecordsInCategory,DmNumRecordsInCategory()}}, {{goto DmPositionInCategory,DmPositionInCategory()}}, {{goto DmSeekRecordInCategory,DmSeekRecordInCategory()}} !{{anchor DmQueryRecord}}DmQueryRecord 関数 {{goto p0,^TOP^}} '''目的''' 読み込み専用({{span style='color:blue;font-family:monospace;',busy}} ビットがセットされていない)レコードへのハンドルを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmQueryRecord ( DmOpenRef dbP, UInt16 index ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **探すレコードのインデックス '''返り値''' レコード ハンドルを返します。エラーが起きた場合、この関数は {{span style='color:blue;font-family:monospace;',NULL}} を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 指定したインデックスが範囲外の場合、いくつかのエラーは致命的なエラー メッセージを表示します。 '''コメント''' 与えられたレコードへのハンドルを返します。レコードが見えている(訳者注: インデックスがわかっている?)場合にのみ、このルーチンを使用します。このルーチンは成功すると、もしレコードが Busy 状態であっても、そのレコードへのハンドルを返します。 レコードが ROM ベース(pointer accessed 訳者??)の場合、このルーチンはそのレコードに対する偽の(訳者注: fake)ハンドルを返します。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 !{{anchor DmQuickSort}}DmQuickSort 関数 {{goto p0,^TOP^}} '''目的''' データベース中のレコードをソートします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmQuickSort ( DmOpenRef dbP, DmComparF *compar, Int16 other ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **データベース アクセス ポインタ *{{span style='color:blue;font-family:monospace;',→ compar}} **比較関数。{{goto DmComparF,DmComparF()|Palm OS Programmer's API Reference/30-1}} を参照してください。 *{{span style='color:blue;font-family:monospace;',→ other}} **アプリケーションが比較関数に渡すすべての値。このパラメータは、しばしば、ソート方法(昇順または降順)を指示するのに使用されます。 '''返り値''' エラーが無い場合は、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合は、以下の 1 つを返します。 *{{goto dmErrReadOnly,dmErrReadOnly}} *{{goto dmErrNotRecordDB,dmErrNotRecordDB}} いくつかのエラーは、エラー コードを返す代わりに致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 削除されたレコードはどのような順序であっても最後にきます。他のすべてのレコードは、渡された比較関数によってソートされます。 {{span style='color:blue;font-family:monospace;',DmQuickSort}} の実行後でも、等価なデータベース レコードの順序は一貫しません。それゆえ、{{span style='color:blue;font-family:monospace;',DmQuickSort}} に等価な 2 つのレコードを渡した場合、2 つのレコードのソート順序は予測できません。同じデータを持つレコードが予測不可能な順序に並び替えられるのを防ぐには、レコードの固有 ID を比較関数に渡してください({{goto SortRecordInfoType,SortRecordInfoType}} 構造体を使用します)。 {{span style='color:blue;font-family:monospace;',DmQuickSort}} は、制御されない再帰を制限するために、それ自身のスタックを持っています。スタックがいっぱいになると、{{span style='color:blue;font-family:monospace;',DmQuickSort}} は代わりとして「挿入-ソート(訳者注: insertion-sort)」を行います。レコード数が少ない場合も、少ないレコードにクイック ソートを行う際の無視できないオーバヘッドを避けるため、「挿入-ソート」を行います。最後に、レコードがほぼソートされているように見える場合、移動させる必要のあるレコードのみを移動させるために「挿入-ソート」が実行されます。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmFindSortPositionV10,DmFindSortPositionV10()|Palm OS Programmer's API Reference/30-1}}, {{goto DmInsertionSort,DmInsertionSort()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmRecordInfo}}DmRecordInfo 関数 {{goto p0,^TOP^}} '''目的''' データベース ヘッダに保存されたレコード情報を調べます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmRecordInfo ( DmOpenRef dbP, UInt16 index, UInt16 *attrP, UInt32 *uniqueIDP, LocalID *chunkIDP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **レコードのインデックス *{{span style='color:blue;font-family:monospace;',← attrP}} **レコードの属性。{{goto レコード属性定数,レコード属性定数}} を参照してください。この値について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← uniqueIDP}} **レコードの固有 ID。この値について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← chunkIDP}} **レコードのローカル ID。この値について調べたくない場合は、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。指定したレコードが見つからなかった場合、{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} を返します。いくつかのエラーは、エラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmNumRecords,DmNumRecords()}}, {[goto DmSetRecordInfo,DmSetRecordInfo()}}, {{goto DmQueryNextInCategory,DmQueryNextInCategory()}} !{{anchor DmReleaseRecord}}DmReleaseRecord 関数 {{goto p0,^TOP^}} '''目的''' 与えられたレコードの {{span style='color:blue;font-family:monospace;',busy}} ビットをクリアし、Dirty が {{span style='color:blue;font-family:monospace;',true}} であれば {{span style='color:blue;font-family:monospace;',dirty}} ビットをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmReleaseRecord ( DmOpenRef dbP, UInt16 index, Boolean dirty ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **ロックを解除するレコード *{{span style='color:blue;font-family:monospace;',→ dirty}} **{{span style='color:blue;font-family:monospace;',ture}} であれば {{span style='color:blue;font-family:monospace;',dirty}} ビットをセットします。 '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。指定したインデックスが範囲外の場合、{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} を返します。いくつかのエラーは、エラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' {{goto DmGetRecord,DmGetRecord()|Palm OS Programmer's API Reference/30-1}} で呼び出した、または、{{goto DmNewRecord,DmNewRecord()}} で作成したレコードへの変更または読み込みが終了したときに、このルーチンを呼び出します。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmGetRecord,DmGetRecord()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmReleaseResource}}DmReleaseRecord 関数 {{goto p0,^TOP^}} '''目的''' {{goto DmGetResource,DmGetResource()|Palm OS Programmer's API Reference/30-1}} で取得したリソースを解放します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmReleaseResource ( MemHandle resourceH ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ resourceH}} **リソースへのハンドル '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。 '''コメント''' アプリケーションにとって必要のなくなったリソースに印を付けます。 '''参照''' {{goto DmGet1Resource,DmGet1Resource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmGetResource,DmGetResource()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmRemoveRecord}}DmRemoveRecord 関数 {{goto p0,^TOP^}} '''目的''' データベースからレコードを削除し、そのデータ チャンクを処分します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmRemoveRecord ( DmOpenRef dbP, UInt16 index ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **削除するレコードのインデックス '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrReadOnly,dmErrReadOnly}} *{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} *{{goto dmErrNotRecordDB,dmErrNotRecordDB}} *{{goto memErrChunkLocked,memErrChunkLocked}} *{{goto memErrInvalidParam,memErrInvalidParam}} いくつかのエラーはエラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' レコードのデータ チャンクを処分し、データベース ヘッダからレコードのエントリを削除します。{{span style='color:blue;font-family:monospace;',DmRemoveRecord}} は新たに作成され削除されたばかりのレコード、または、決して同期されることのないレコードに対してのみ使用されます。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmDetachRecord(),DmDetachRecord()|Palm OS Programmer's API Reference/30-1}}, {{goto DmDeleteRecord(),DmDeleteRecord()|Palm OS Programmer's API Reference/30-1}}, {{goto DmArchiveRecord(),DmArchiveRecord()|Palm OS Programmer's API Reference/30-1}}, {{goto DmNewRecord(),DmNewRecord()}} !{{anchor DmRemoveResource}}DmRemoveResource 関数 {{goto p0,^TOP^}} '''目的''' リソース データベースからリソースを削除します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmRemoveResource ( DmOpenRef dbP, UInt16 index ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **削除するリソースのインデックス '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrCorruptDatabase,dmErrCorruptDatabase}} *{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} *{{goto dmErrReadOnly,dmErrReadOnly}} *{{goto memErrChunkLocked,memErrChunkLocked}} *{{goto memErrInvalidParam,memErrInvalidParam}} *{{goto memErrNotEnoughSpace,memErrNotEnoughSpace}} いくつかのエラーはエラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' このルーチンは、与えられたりソースを保持しているメモリ マネージャ チャンクを処分し、データベース ヘッダからリソースのエントリを削除します。 '''参照''' {{goto DmDetachResource,DmDetachResource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmRemoveResource,DmRemoveResource()}}, {[goto DmAttachResource,DmAttachResource()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmRemoveSecretRecords}}DmRemoveSecretRecords 関数 {{goto p0,^TOP^}} '''目的''' すべてのシークレット レコードを削除します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmRemoveSecretRecords ( DmOpenRef dbP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrReadOnly,dmErrReadOnly}} *{{goto dmErrNotRecordDB,dmErrNotRecordDB}} いくつかのエラーはエラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmRemoveRecord,DmRemoveRecord()}}, {{goto DmRecordInfo,DmRecordInfo()}}, {{goto DmSetRecordInfo,DmSetRecordInfo()}} !{{anchor DmResizeRecord}}DmResizeRecord 関数 {{goto p0,^TOP^}} '''目的''' インデックスで示されたレコードをリサイズします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmResizeRecord ( DmOpenRef dbP, UInt16 index, UInt32 newSize ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **処理を行うレコード *{{span style='color:blue;font-family:monospace;',→ newSize}} **レコードの新しいサイズ '''返り値''' リサイズされたレコードへのハンドル。レコードをリサイズするのに十分な空き容量がない場合、{{span style='color:blue;font-family:monospace;',NULL}} を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。 '''コメント''' このルーチンは、現在のヒープに十分な空き容量が無い場合、レコードを同じメモリ カードにある他のヒープに再割り当てします。これが起きるとハンドルは変更されるので、リサイズされたレコードにアクセスする際は返されたハンドルを使うようにしてください。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 !{{anchor DmResizeResource}}DmResizeResource 関数 {{goto p0,^TOP^}} '''目的''' リソースをリサイズして、新しいハンドルを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' MemHandle DmResizeResource ( MemHandle resourceH, UInt32 newSize ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ resourceH}} **リソースへのハンドル *{{span style='color:blue;font-family:monospace;',→ newSize}} **リソースの新しいサイズ '''返り値''' 新しいサイズのリソースへのハンドルを返します。リソースをリサイズするのに十分な空き容量が無い場合、{{span style='color:blue;font-family:monospace;',NULL}} を返し、{{goto DmGetLastErr,DmGetLastErr()|Palm OS Programmer's API Reference/30-1}} が失敗理由を示すエラー コードを返します。いくつかのエラーは、エラー コードを返す代わりに致命的なエラー メッセージを表示するかもしれません。 '''コメント''' リソースをリサイズして、新しいハンドルを返します。リソースのサイズを大きくする場合、このルーチンはリソースを現在のメモリ カード上の他のヒープに再割り当てする可能性があります。 現在のデータ ヒープに十分な空き容量が無いために異なるデータ ヒープに再割り当てされた場合、リソースのハンドルは変更されるかもしれません。 !{{anchor DmResourceInfo}}DmResourceInfo {{goto p0,^TOP^}} '''目的''' 与えられたリソースの情報を調べます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmResourceInfo ( DmOpenRef dbP, UInt16 index, DmResType *resTypeP, DmResID *resIDP, LocalID *chunkLocalIDP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **情報を取得するリソースのインデックス *{{span style='color:blue;font-family:monospace;',← resTypeP}} **リソースの型。この情報について調べたくない場合は {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← resIDP}} **リソース ID。この情報について調べたくない場合は {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← chunkLocalIDP}} **リソース データのメモリ マネージャ ローカル ID。この情報について調べたくない場合は {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' エラーが無い場合は、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合は、{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} を返します。データベースがリソース データベースでない場合は、致命的なエラー メッセージが表示されるかもしれません。 '''コメント''' {{span style='color:blue;font-family:monospace;',dbP}} がベース リソース データベースへのハンドルの場合、データベースのみからリソースについての情報が返されます。この関数は関連するすべてのオーバレイを無視します。 '''参照''' {{goto DmGetResource,DmGetResource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmGet1Resource,DmGet1Resource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmSetResourceInfo,DmSetResourceInfo()}}, {{goto DmFindResource,DmFindResource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmFindResourceType,DmFindResourceType()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmSearchRecord}}DmSearchRecord 関数 {{goto p0,^TOP^}} '''目的''' オープンされたすべてのデータベースで、渡されたハンドルを持つレコードを探します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmSearchRecord ( MemHandle recH, DmOpenRef *dbPP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ recH}} **レコード ハンドル *{{span style='color:blue;font-family:monospace;',← dbPP}} **レコード {{span style='color:blue;font-family:monospace;',recH}} を保持しているデータベース '''返り値''' レコードのインデックスとデータベース アクセス ポインタを返します。見つからなかった場合、-1 を返し、{{span style='color:blue;font-family:monospace;',*dbPP}} は 0 になります。 '''参照''' {{goto DmGetRecord,DmGetRecord()|Palm OS Programmer's API Reference/30-1}}, {{goto DmFindRecordByID,DmFindRecordByID()|Palm OS Programmer's API Reference/30-1}}, {{goto DmRecordInfo,DmRecordInfo()}} !{{anchor DmSearchResource}}DmSearchResource 関数 {{goto p0,^TOP^}} '''目的''' オープンされたすべてのリソース データベースで、型と ID から、または、ポインタが non-{{span style='color:blue;font-family:monospace;',NULL}} の場合はポインタからリソースを探します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' UInt16 DmSearchResource ( DmResType resType, DmResID resID, MemHandle resH, DmOpenRef *dbPP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ resType}} **探すリソースの型 *{{span style='color:blue;font-family:monospace;',→ resID}} **探すリソースの ID *{{span style='color:blue;font-family:monospace;',→ resH}} **ロックされたりソースへのポインタ、または、{{span style='color:blue;font-family:monospace;',NULL}} *{{span style='color:blue;font-family:monospace;',← dbPP}} **指定したりソースを保持しているリソース データベース '''返り値''' リソースのインデックスを返します。{{span style='color:blue;font-family:monospace;',dbPP}} には {{span style='color:blue;font-family:monospace;',DmOpenRef}} が収められています。 '''コメント''' このルーチンは、オープンされたすべてのリソース データベースで、型と IDから、または、ポインタからリソースを探すために使用されます。{{span style='color:blue;font-family:monospace;',resH}} が {{span style='color:blue;font-family:monospace;',NULL}} の場合、型と ID からリソースを探します。{{span style='color:blue;font-family:monospace;',resH}} が {{span style='color:blue;font-family:monospace;',NULL}} ではない場合、{{span style='color:blue;font-family:monospace;',resType}} と {{span style='color:blue;font-family:monospace;',resID}} は無視され、リソース ハンドルのインデックスが返されます。返ってきたとき、{{span style='color:blue;font-family:monospace;',*dbPP}} はリソースが見つかったリソース データベースのアクセス ポインタを保持しています。一旦リソースのインデックスがわかれば、{{goto DmGetResourceIndex,DmGetResourceIndex()|Palm OS Programmer's API Reference/30-1}} を呼び出すことで、リソースをロックしてアクセスすることができます。 オープンされたデータベースのいずれかがオーバレイされている場合に、型と ID (訳者注: 原文では ID ではなく creator と書かれていましたが、誤りだと思われます)で探索を行うと、リソースのローカライズされたバージョンを見つけて、返します。この場合、{{span style='color:blue;font-family:monospace;',dbPP}} で返される値は、オーバレイ データベースへのポインタであり、ベース リソース データベースへのポインタではありません。 '''参照''' {{goto DmGetResource,DmGetResource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmFindResourceType,DmFindResourceType()|Palm OS Programmer's API Reference/30-1}}, {{goto DmResourceInfo,DmResourceInfo()}}, {{goto DmFindResource,DmFindResource()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmSeekRecordInCategory}}DmSeekRecordInCategory 関数 {{goto p0,^TOP^}} '''目的''' 渡されたレコード インデックスからのオフセットに最も近く、渡されたカテゴリと一致するカテゴリを持つレコードのインデックスを返します。({{span style='color:blue;font-family:monospace;',offset}} パラメータは何レコード分前方または後方ということを示します。) '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSeekRecordInCategory ( DmOpenRef dbP, UInt16 *indexP, UInt16 offset, Int16 direction, UInt16 category ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',←→ index}} **探索を開始するインデックス。返る際は、渡されたインデックスから {{span style='color:blue;font-family:monospace;',offset}} 分ずれた位置にあるレコードのインデックスを保持しています。 *{{span style='color:blue;font-family:monospace;',→ offset}} **渡されたレコード インデックスからのオフセット。この値は正の数でなくてはなりません。後方に探索する場合は {{span style='color:blue;font-family:monospace;',direction}} パラメータに {{span style='color:blue;font-family:monospace;',dmSeekBackward}} を渡してください。 *{{span style='color:blue;font-family:monospace;',→ direction}} **{{span style='color:blue;font-family:monospace;',dmSeekForward}} または {{span style='color:blue;font-family:monospace;',dmSeekBackward}} のどちらかでなくてはなりません。 *{{span style='color:blue;font-family:monospace;',→ category}} **カテゴリ インデックス '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} または {{goto dmErrSeekFailed,dmErrSeekFailed}} を返します。 '''コメント''' {{span style='color:blue;font-family:monospace;',DmSeekRecordInCategory}} は指定されたカテゴリ中のレコードを探します。探索は {{span style='color:blue;font-family:monospace;',index}} に位置するレコードから開始します。指定されたカテゴリ中にレコードを見つけると、{{span style='color:blue;font-family:monospace;',offset}} パラメータを -1 し、一致するレコードが見つかり、かつ、{{span style='color:blue;font-family:monospace;',offset}} が 0 になるまで探索を続けます。 このため、特定のカテゴリに属する最も近い一致レコードを見つけるために {{span style='color:blue;font-family:monospace;',DmSeekRecordInCategory}} を使用する場合、開始レコードがそのカテゴリに属しているか、属していないかで異なる {{span style='color:blue;font-family:monospace;',offset}} パラメータを渡さなくてはなりません。{{span style='color:blue;font-family:monospace;',index}} に位置するレコードがカテゴリに属する場合、そのカテゴリに属する次のレコードを見つけるためには 1 の {{span style='color:blue;font-family:monospace;',offset}} を渡さなくてはなりません。なぜなら、{{span style='color:blue;font-family:monospace;',value}} 値が変わる前に比較が行われるからです。{{span style='color:blue;font-family:monospace;',index}} に位置するレコードがカテゴリに属さない場合、そのカテゴリに属する次のレコードを見つけるためには 0 の {{span style='color:blue;font-family:monospace;',offset}} を渡さなくてはなりません。この場合、1 の {{span style='color:blue;font-family:monospace;',offset}} だと最初の一致レコードはスキップされてしまいます。 {{span style='color:blue;font-family:monospace;',deleted}} ビットがセットされたレコードは無視され、ユーザがプライベート レコードを隠したり、マスクをかけている場合は、プライベート レコードも無視されます。 '''参照''' {{goto DmNumRecordsInCategory,DmNumRecordsInCategory()}}, {{goto DmQueryNextInCategory,DmQueryNextInCategory()}}, {{goto DmPositionInCategory,DmPositionInCategory()}}, {{goto DmMoveCategory,DmMoveCategory()|Palm OS Programmer's API Reference/30-1}} !{{anchor DmSet}}DmSet 関数 {{goto p0,^TOP^}} '''目的''' レコードのある範囲に特定の値を書き込みます。また、この関数はレコードのポインタの妥当性をチェックし、レコードへの書き込みがそのレコードの領域を超えないことを確実にします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSet ( void *recordP, UInt32 offset, UInt32 bytes, UInt8 value ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ recordP}} **ロックされたデータ レコードへのポインタ(チャンク ポインタ) *{{span style='color:blue;font-family:monospace;',→ offset}} **書き込みを開始するレコードのオフセット *{{span style='color:blue;font-family:monospace;',→ bytes}} **書き込むバイト数 *{{span style='color:blue;font-family:monospace;',→ value}} **書き込むバイトの値 '''返り値''' エラーがない場合は、{{span style='color:blue;font-family:monospace;',errNone}} を返します。レコード ポインタが無効である場合、または、この関数がレコードを上書きする場合(訳者注: 指定したレコードの領域を超えた書き込みが行われる場合という意味?)、致命的なエラー メッセージが表示されるかもしれません。 '''コメント''' データ マネージャ レコードの書き込みに使用しなくてはなりません。データ ストレージ領域は Write-protect されています。 '''参照''' {{goto DmWrite,DmWrite()}} !{{anchor DmSetDatabaseInfo}}DmSetDatabaseInfo 関数 {{goto p0,^TOP^}} '''目的''' データベースの情報をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSetDatabaseInfo ( UInt16 cardNo, LocalID dbID, const Char *nameP, UInt16 *attributesP, UInt16 *versionP, UInt32 *crDateP, UInt32 *modDateP, UInt32 *bckUpDateP, UInt32 *modNumP, LocalID *appInfoIDP, LocalID *sortInfoIDP, UInt32 *typeP, UInt32 *creatorP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ cardNo}} **データベースが存在しているカード番号 *{{span style='color:blue;font-family:monospace;',→ dbID}} **データベースのデータベース ID *{{span style='color:blue;font-family:monospace;',→ nameP}} **データベースの新しい名前へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。データベースの名前は、null 終端子を含む、32 バイトまでの ASCII です({{span style='color:blue;font-family:monospace;',dmDBNameLength}} で指定されています)。データベースの名前には 7 ビット ASCII 文字(0x20 から 0x7E まで)を使用しなくてはなりません。 *{{span style='color:blue;font-family:monospace;',→ attributesP}} **新しい属性変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。取り得る値のリストは {{goto データベース属性定数,「データベース属性定数」}} を参照してください。 *{{span style='color:blue;font-family:monospace;',→ versionP}} **新しいバージョンへのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。 *{{span style='color:blue;font-family:monospace;',→ crDateP}} **新しい作成日付変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。値には 1904年1月1日 からの秒数を指定してください。 *{{span style='color:blue;font-family:monospace;',→ modDateP}} **新しい変更日付変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。値には 1904年1月1日 からの秒数を指定してください。 *{{span style='color:blue;font-family:monospace;',→ bckUpDateP}} **新しいバックアップ日付変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。値には 1904年1月1日 からの秒数を指定してください。 *{{span style='color:blue;font-family:monospace;',→ modNumP}} **新しい変更数(訳者注: 回数?)変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。 *{{span style='color:blue;font-family:monospace;',→ appInfoIDP}} **新しい {{span style='color:blue;font-family:monospace;',appInfoID}} 変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。 *{{span style='color:blue;font-family:monospace;',→ sortInfoIDP}} **新しい {{span style='color:blue;font-family:monospace;',sortIDP}} 変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。 *{{span style='color:blue;font-family:monospace;',→ typeP}} **新しい {{span style='color:blue;font-family:monospace;',type}} 変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。 *{{span style='color:blue;font-family:monospace;',→ creatorP}} **新しい {{span style='color:blue;font-family:monospace;',creator}} 変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。 '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrInvalidDatabaseName,dmErrInvalidDatabaseName}} *{{goto dmErrAlreadyExists,dmErrAlreadyExists}} *{{goto dmErrInvalidParam,dmErrInvalidParam}} '''コメント''' {{span style='color:blue;font-family:monospace;',appInfoID}} または {{span style='color:blue;font-family:monospace;',sortInfoID}} を変更するためにこの関数を呼び出すと、古いチャンク ID (があれば)は、孤立したチャンク({{goto 注1,注1}})というマークを付けられ、新しいチャンク ID が付加されます。そのため、すでに他のデータベースに取り付けた {{span style='color:blue;font-family:monospace;',appInfoID}} または {{span style='color:blue;font-family:monospace;',sortInfoID}} のチャンクを置き換えるべきではありません。 カード番号とデータベース ID を除くデータベースのいずれか、または、すべての情報をセットするためにこのルーチンを呼び出します。このルーチンはすべての non-{{span style='color:blue;font-family:monospace;',NULL}} パラメータを新しい値としてセットします。 '''参照''' {{goto DmDatabaseInfo,DmDatabaseInfo()|Palm OS Programmer's API Reference/30-1}}, {{goto DmOpenDatabaseInfo,DmOpenDatabaseInfo()}}, {{goto DmFindDatabase,DmFindDatabase()|Palm OS Programmer's API Reference/30-1}}, {[goto DmGetNextDatabaseByTypeCreator,DmGetNextDatabaseByTypeCreator()|Palm OS Programmer's API Reference/30-1}}, {[goto TimDateTimeToSeconds,TimDateTimeToSeconds()|Palm OS Programmer's API Reference/57}} !{{anchor DmSetRecordInfo}}DmSetRecordInfo 関数 {{goto p0,^TOP^}} '''目的''' データベース ヘッダに保存されているレコード情報をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSetRecordInfo ( DmOpenRef dbP, UInt16 index, UInt16 *attrP, UInt32 *uniqueIDP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **レコードのインデックス *{{span style='color:blue;font-family:monospace;',→ attrP}} **新しい属性変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。とりえる値のリストは {{goto レコード属性定数,「レコード属性定数」}} を参照してください。 *{{span style='color:blue;font-family:monospace;',→ uniqueIDP}} **新しい固有 ID 変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}} '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrReadOnly,dmErrReadOnly}} *{{goto dmErrNotRecordDB,dmErrNotRecordDB}} *{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} いくつかのエラーは、エラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' レコードの情報をセットします。このルーチンは {{span style='color:blue;font-family:monospace;',dmRecAttrBusy}} ビットをセットするのに使用することはできません。代わりに、{{goto DmGetRecord,DmGetRecord()|Palm OS Programmer's API Reference/30-1}} がそのビットをセットし、{{goto DmReleaseRecord,DmReleaseRecord()}} がクリアします。 通常、レコードの固有 ID は、レコードが {{goto DmNewRecord,DmNewRecord()}} によって作成されたときに、データ マネージャによって自動的に作成されます。ですから、アプリケーションがその固有 ID を変更することは、通常では、ありません。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmNumRecords,DmNumRecords()}}, {{goto DmRecordInfo,DmRecordInfo()}} !{{anchor DmSetResourceInfo}}DmSetResource 関数 {{goto p0,^TOP^}} '''目的''' データベース ヘッダに保存されたレコード情報をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSetRecordInfo ( DmOpenRef dbP, UInt16 index, UInt16 *attrP, UInt32 *uniqueIDP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **レコードのインデックス *{{span style='color:blue;font-family:monospace;',→ attrP}} **新しい属性変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}}。取り得る値のリストは、{{goto レコード属性定数,「レコード属性定数」}}を参照してください。 *{{span style='color:blue;font-family:monospace;',→ uniqueID}} **新しい固有 ID 変数へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}} '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrReadOnly,dmErrReadOnly}} *{{goto dmErrNotRecordDB,dmErrNotRecordDB}} *{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} いくつかのエラーは、エラー コードを返す代わりに、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' レコードの情報をセットします。このルーチンは {{span style='color:blue;font-family:monospace;',dmRecAttrBusy}} ビットをセットするのには使用できません。代わりに、{{goto DmGetRecord,DmGetRecord()|Palm OS Programmer's API Reference/30-1}} でそのビットをセットし、{{goto DmReleaseRecord,DmReleaseRecord()}} でクリアします。 通常、レコードの固有 ID は、{{goto DmNewRecord,DmNewRecord()}} がレコードを作成する際に、自動的に作成されます。そのため、アプリケーションが固有 ID を変更することは、通常は、ありません。 '''互換性''' {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合に PIM アプリケーション データベースにかかわるこの関数を呼び出すと、PACE は呼び出しを阻止して、対応するスキーマ データベースに対して適切な行動をとります。詳細は、[[「PIM アプリケーション データベースへのアクセス」|Palm OS Programmers's API Reference/B]] を参照してください。 '''参照''' {{goto DmNumRecords,DmNumRecords()}}, {{goto DmRecordInfo,DmRecordInfo()}} !{{anchor DmSetResourceInfo}}DmSetResourceInfo 関数 {{goto p0,^TOP^}} '''目的''' 与えられたリソースの情報をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSetResourceInfo ( DmOpenRef dbP, UInt16 index, DmResType *resTypeP, DmResID *resIDP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbP}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} *{{span style='color:blue;font-family:monospace;',→ index}} **情報をセットするリソースのインデックス *{{span style='color:blue;font-family:monospace;',→ resTypeP}} **新しい {{span style='color:blue;font-family:monospace;',resType}} (リソースの型)へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}} *{{span style='color:blue;font-family:monospace;',→ resIDP}} **新しいリソース ID へのポインタ、または {{span style='color:blue;font-family:monospace;',NULL}} '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{goto dmErrIndexOutOfRange,dmErrIndexOutOfRange}} *{{goto dmErrReadOnly,dmErrReadOnly}} データベースがリソース データベースでない場合、いくつかのエラーは致命的なエラー メッセージを表示するかもしれません。 '''コメント''' この関数は、指定したりソースのすべての、または一部の情報をセットするために使用します。いずれかの、または、すべての新しい情報ポインタを {{span style='color:blue;font-family:monospace;',NULL}} にすることができます。{{span style='color:blue;font-family:monospace;',NULL}} でない場合、リソースの型と ID は *{{span style='color:blue;font-family:monospace;',resTypeP}} と *{{span style='color:blue;font-family:monospace;',resIDP}} に変更されます。 !{{anchor DmStrCopt}} 関数 {{goto p0,^TOP^}} '''目的''' 文字列を、書き込みのためにオープンされたデータベース中のレコードにコピーします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmStrCopy ( void *recordP, UInt32 offset, const Char *srcP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ recordP}} **データ レコードへのポインタ(チャンク ポインタ) *{{span style='color:blue;font-family:monospace;',→ offset}} **書き込みを開始するレコードでのオフセット *{{span style='color:blue;font-family:monospace;',→ srcP}} **null で終了している文字列へのポインタ '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。レコード ポインタが無効の場合、または、関数がレコードを上書きする場合(訳者注: レコードの領域を超えて書き込む場合?)、致命的なエラー メッセージが表示されるかもしれません。 '''コメント''' このルーチンは、データ マネージャ レコードに書き込みをするためのルーチンの 1 つです。データ ストレージ領域は Write-protect されているため、そこに直接書き込むことはできません。このルーチンは、チャンク ポインタの妥当性をチェックし、レコードへの書き込みがそのチャンクの領域を超えないことを保証します。{{span style='color:blue;font-family:monospace;',DmStrCopy}} は与えられた文字列のサイズを調べるのに便利な手段であり、{{span style='color:blue;font-family:monospace;',DmStrCopy}} を呼び出した後には、単に、{{goto DmWrite,DmWrite()}} を呼び出せば済みます。 '''参照''' {{goto DmSet,DmSet()}} !{{anchor DmSync}}DmSync 関数 {{goto p0,^TOP^}} '''目的''' オープンされたすべてのデータベースの自動バックアップ ファイルを更新します。この関数は非難されます。開発者は、この関数の代わりに、{{goto DmSyncDatabase,DmSyncDatabase()}} を使用するべきです。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' void DmSync( void ) '''パラメータ''' ありません。 '''返り値''' ありません。 '''互換性''' この関数は、Palm OS Cobalt ではサポートされておらず、Palm OS Garnet では非難されます。開発者は、この関数の代わりに、{{goto DmSyncDatabase,DmSyncDatabase()}} を使用するべきです。 !{{anchor DmSyncDatabase}}DmSyncDatabase 関数 {{goto p0,^TOP^}} '''目的''' 与えられたオープンされたデータベースの自動バックアップ ファイルを更新します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmSyncDatabase ( DmOpenRef dbRef ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dbRef}} **オープンされたデータベースへの {{span style='color:blue;font-family:monospace;',DmOpenRef}} '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、以下の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',dmErrInvalidParam}} **{{span style='color:blue;font-family:monospace;',dbRef}} はオープンされたデータベースへの参照としては無効です。 *{{span style='color:blue;font-family:monospace;',dmErrReadOnly}} **{{span style='color:blue;font-family:monospace;',dbRef}} が参照しているデータベースは Read-only モードでオープンされています。データベースは書き込みできるようにオープンされていなくてはなりません。 *{{span style='color:blue;font-family:monospace;',dmErrOperationAborted}} **Palm OS デバイスが自動データベース バックアップ機能をサポートしてきません。 '''コメント''' データベースはオープンされたままです。 この関数は、オープンされたデータベースのバックアップをとるのに使用されます。 Palm OS Cobalt バージョン 6.1 を走らせている多くのデバイスは、RAM ストレージ ヒープの中身を何種類かの不揮発性 NAND フラッシュにバックアップします。RAM ストレージ ヒープが何らかの理由で壊れたり、失われた場合、そのストレージ ヒープはバックアップにより修復することができます。バックアップは、いくつかに制限されたイベントによって引き起こされます: データベースがクローズされた、データベースが作成された、{{goto DmSetDatabaseInfo,DmSetDatabaseInfo()}} が呼び出された、または、デバイスがスリープ状態に入った(オープンされたデータベースがある場合にのみ)。開発者は、{{span style='color:blue;font-family:monospace;',DmSyncDatabase()}} を呼び出すことで明示的にデータベースのバックアップを引き起こすことができます。 この機能についての詳細情報は、{{goto 自動データベース バックアップと修復,ファイルとデータベース|Palm OS Programmer's Companion Volume I/6}} を参照してください。 '''互換性''' 与えられたデバイスがこの機能を持っているかどうか調べるには、{{span style='color:blue;font-family:monospace;',sysFtrNumDmAutoBackup}} 特性の存在をチェックしてください。 !{{anchor DmWrite}}DmWrite 関数 {{goto p0,^TOP^}} '''目的''' 指定されたバイト数を書き込みのためにオープンされたデータベース中のレコードにコピーします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmWrite ( void *recordP, UInt32 offset, const void *srcP, UInt32 bytes ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ dbP}} **ロックされたデータ レコードへのポインタ(チャンク ポインタ) *{{span style='color:blue;font-family:monospace;',→ offset}} **レコードでの書き込みを開始するオフセット *{{span style='color:blue;font-family:monospace;',→ srcP}} **レコードにコピーするデータへのポインタ *{{span style='color:blue;font-family:monospace;',→ bytes}} **書き込むバイト数 '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。レコード ポインタが無効の場合、または、関数がレコードを上書きする場合(訳者注: レコードの領域を超えて書き込む場合?)、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' このルーチンは、データ マネージャ レコードに書き込みをするためのルーチンの 1 つです。データ ストレージ領域は Write-protect されているため、そこに直接書き込むことはできません。このルーチンは、チャンク ポインタの妥当性をチェックし、レコードへの書き込みがそのチャンクの領域を超えないことを保証します。 '''参照''' {{goto DmStrCopy,DmStrCopy()}}, {{goto DmSet,DmSet()}} !{{anchor DmWriteCheck}}DmWriteCheck 関数 {{goto p0,^TOP^}} '''目的''' 書き込みが実際に行われる前に、データ ストレージ チャンクへの書込み操作のパラメータをチェックします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' Err DmWriteCheck ( void *recordP, UInt32 offset, UInt32 bytes ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ recordP}} **{{span style='color:blue;font-family:monospace;',recordH}} へのロックされたポインタ *{{span style='color:blue;font-family:monospace;',→ offset}} **レコードへの書き込みを開始するオフセット *{{span style='color:blue;font-family:monospace;',→ bytes}} **書き込むバイト数 '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合、{{goto dmErrNotValidRecord,dmErrNotValidRecord}} または {{goto dmErrWriteOutOfBounds,dmErrWriteOutOfBounds}} を返します。 !!{{anchor アプリケーション定義関数}}アプリケーション定義関数 {{goto p0,^TOP^}} !{{anchor DmComparF}}DmComparF 関数 {{goto p0,^TOP^}} '''目的''' データベース中の 2 つのレコードを比較します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DataMgr.h}} '''Prototype''' typedef Int16 DmComparF ( void *rec1, void *rec2, Int16 other, SortRecordInfoPtr rec1SortInfo, SortRecordInfoPtr rec2SortInfo, MemHandle appInfoH ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ rec1, rec2}} **比較する 2 つのレコードへのポインタ *{{span style='color:blue;font-family:monospace;',→ other}} **比較関数に渡すすべての値。このパラメータは、しばしば、ソート方法(昇順または降順)を指示するのに使用されます。 *{{span style='color:blue;font-family:monospace;',→ rec1SortInfo, rec2SortInfo}} **2 つのレコードの固有のソート情報を指定する {{goto SortRecordInfoType, SortRecordInfoType}} 構造体へのポインタ *{{span style='color:blue;font-family:monospace;',→ appInfoH}} **データベースのアプリケーション情報ブロックへのハンドル '''返り値''' *{{span style='color:blue;font-family:monospace;',rec1}} = {{span style='color:blue;font-family:monospace;',rec}} の場合、0 *{{span style='color:blue;font-family:monospace;',rec1}} < {{span style='color:blue;font-family:monospace;',rec}} の場合、< 0 *{{span style='color:blue;font-family:monospace;',rec1}} > {{span style='color:blue;font-family:monospace;',rec}} の場合、> 0 '''コメント''' この関数は、データベース中のレコードをソートするのに使用されます。この関数は、特に、{{goto DmFindSortPosition,DmFindSortPosition()|Palm OS Programmer's API Reference/30-1}}, {{goto DmInsertionSort,DmInsertionSort()|Palm OS Programmer's API Reference/30-1}} それに {{goto DmQuickSort,DmQuickSort()}} によって呼び出されます。 '''互換性''' {{span style='color:blue;font-family:monospace;',DmComparF}} のプロトタイプは Palm OS バージョン 2.0 で変更されました。それ以前では、プロトタイプは最初の 3 つのパラメータのみを定義していました。 規則では、バージョン 1.0 のアプリケーションがバージョン 2.0 のデバイスで実行された場合、引数が 3 つから 6 つに変更されたことは問題を引き起こしません。なぜなら、システムは引数が存在しているスタックから引数を引いてくるだけだからです(訳者: ?)。 しかしながら、2.0 以降のデバイスで走らせる場合に、Palm OS 用の Metrowerks CodeWarrior 以外のツールでビルドされた最適化されたアプリケーションのいくつかは、引数の変更の結果として、問題を引き起こすかもしれないということに注意してください。 ---- {{anchor 注1}}. 「孤立したチャンク」(原文: "orphaned chunk")は、ストレージ ヒープに割り当てられていますが、参照されることはありません。孤立したチャンクがデータベースにレコード、appInfo ブロック、またはそれに類するものとしてセットされておらず、かつ、アプリケーションがそのトラックを -- おそらく、グローバル変数として -- 保持していばい場合、そのチャンクは失われる可能性があります。アプリケーションが、チャンクが停止するか、クラッシュする前、または、デバイスがリセットされる前に、そのチャンクを解放しておかないと、そのチャンクのストレージは永遠に使用不可能になります: ユーザはデータベースを削除するだけなので、ユーザはそのチャンクを削除することができません。 ソフトリセットがかかると、OS はストレージ ヒープを走査して、孤立したチャンクを見つけるとそれを解放します。しかしながら、たいていのユーザは、リセットをかけるのは稀なので、この機能に頼るべきではありません。 [[この章のページ 1 へ|Palm OS Programmer's API Reference/30-1]] ---- [[← 29 章に戻る|Palm OS Programmer's API Reference/29]] [[↑トップへ|Palm OS Programmer's API Reference]] [[31 章に進む →|Palm OS Programmer's API Reference/31]] //要チェック: {{goto 自動データベース バックアップと修復,ファイルとデータベース|Palm OS Programmer's Companion Volume I/6}}