22.8 DBFSコンテンツAPIの作成操作

プロバイダSPIは、クライアントがDBFSコンテンツAPIを起動したときにディレクトリ、ファイル、リンクおよび参照要素(ストア機能のサポート対象)をSPIが作成できるように実装する必要があります。

すべての作成メソッドでは、有効なパス名が必要であり、パス名が作成されるときにプロパティがパス名と関連付けられるようオプションとして指定できます。std_creation_timeなど、自動的に生成されたプロパティがただちにクライアントに使用可能になるように、作成完了後にクライアントが項目のプロパティをフェッチ・バックすることも可能です。フェッチ・バックされる正確なプロパティのセットは、prop_flagsにある様々なprop_xxxビット・マスクによって制御されます。

リンクおよび参照には、プライマリ・パス名に関連付けられた追加パス名が必要です。ファイル・パス名では、オプションでBLOB値を指定して、基礎となるファイルのコンテンツを最初に移入できます(指定されるBLOBは、一時LOBまたは永続LOBの任意の有効なLOBです)。prop_flagsprop_dataが指定されている場合は、作成時に基礎となるLOBがクライアントに戻されます。

ディレクトリ以外のパス名では、親ディレクトリを最初に作成する必要があります。ディレクトリ・パス名自体を再帰的に作成できます。つまり、ディレクトリまでつながるパス名階層を1回のコールで作成できます。

存在するパスの作成を試行するとエラーが発生します。例外はソフト削除されたパス名です。この場合、ソフト削除されたアイテムは暗黙的にパージされ、新しいアイテムの作成が試行されます。

コンテンツIDベースのアクセスをサポートするストアおよびそのプロバイダは、明示的なストア名およびNULLパスを受け入れて新しいコンテンツ要素を作成します。この要素用に生成されるコンテンツIDは、OPT_CONTENT_IDプロパティを介して使用できます。prop_flagsパラメータのPROP_OPTプロパティは、自動的にコンテンツIDベースの作成の意味になります。

FEATURE_LAZY_PATHプロパティがサポートされていない場合、新しく作成された要素には内部生成されたパス名が存在することもあり、このパスはSTD_CANONICAL_PATHプロパティを介して使用できます。

ファイル要素のみがコンテンツIDベースのアクセスの候補です。

関連項目: