次の方法で共有


CreateNtmsMediaPool 関数 (ntmsapi.h)

[リムーバブル 記憶域マネージャー は、Windows 7 および Windows Server 2008 R2 以降では使用できません。

CreateNtmsMediaPool 関数は、新しいアプリケーション メディア プールを作成します。

構文

DWORD CreateNtmsMediaPool(
  [in]  HANDLE                hSession,
  [in]  LPCTSTR               lpPoolName,
  [in]  LPNTMS_GUID           lpMediaType,
  [in]  DWORD                 dwAction,
  [in]  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [out] LPNTMS_GUID           lpPoolId
);

パラメーター

[in] hSession

OpenNtmsSession 関数によって返されるセッションを処理します。

[in] lpPoolName

新しいメディア プールの名前。 メディア プール名は、1 つの RSM データベースのスコープ内で一意である必要があります。

[in] lpMediaType

このメディア プール内のメディアの種類の識別子。 EnumerateNtmsObject 関数を使用して、使用可能なメディアの種類とその属性の一覧を取得します。 アプリケーションは NULL ポインターを渡して、他のメディア プールのみを含むメディア プールを作成できます。

[in] dwAction

実行するアクション。 このパラメーターには次のいずれかの値を指定する必要があります。

意味
NTMS_OPEN_EXISTING
既存のメディア プールを名前で開きます。 プールが存在しない場合は、ERROR_OBJECT_NOT_FOUNDを返します。
NTMS_OPEN_ALWAYS
既存のメディア プールを開くか、存在しない場合はプールを作成します。
NTMS_CREATE_NEW
新しいメディア プールを作成します。 プールが存在する場合ERROR_ALREADY_EXISTSを返します。

[in] lpSecurityAttributes

プールへのアクセスを制限するために使用されるオプションのセキュリティ記述子。

[out] lpPoolId

メディア プールが正常に作成または開かれた後に、メディア プールの一意識別子を受け取る変数へのポインター。

戻り値

この関数は、次のいずれかの値を返します。

意味
ERROR_ACCESS_DENIED
ルート プールまたは親メディア プールへのNTMS_CONTROL_ACCESSは、新しいメディア プールの作成中に拒否されます。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。

Windows XP: 親メディア プールへのNTMS_MODIFY_ACCESSは、新しいメディア プールの作成中に拒否されます。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。

ERROR_ALREADY_EXISTS
この名前のメディア プールが既に存在するため、新しいメディア プールを作成できません。
ERROR_DATABASE_FAILURE
データベースにアクセスできないか、破損しています。
ERROR_DATABASE_FULL
データベースがいっぱいです。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。
ERROR_INVALID_HANDLE
セッション ハンドルがないか、無効です。
ERROR_INVALID_MEDIA
選択したメディアの種類が無効です。
ERROR_INVALID_NAME
プール名の構文が無効です。 (名前が長すぎます)。
ERROR_INVALID_PARAMETER
メディア プール名またはメディア プール ID ポインターがありません。
ERROR_OBJECT_NOT_FOUND
既存のメディア プールを開くことができません。
ERROR_SUCCESS
関数は成功しました。

注釈

Free、Unrecognized、Import メディア プールは RSM によって作成され、 CreateNtmsMediaPool 関数では作成できません。

RSM メディア プールは、"" 文字で区切られた階層として編成されます。 アプリケーション、Free、Unrecognized、Import の各メディア プールは、階層のルートに存在します。 RSM は、Free、Unrecognized、Import の各プールを作成および管理します。 RSM は、使用可能なメディアの種類ごとに Free メディア プールを作成します。

アプリケーション固有のメディア プールは、アプリケーションによって作成されます。 アプリケーションは、ルート アプリケーション プールの下に独自に使用するメディア プールを作成します。 これらのメディア プールには、ファイル システムに似た名前があります。 名前のエンドポイントにのみメディアとポリシーが含まれています。 アプリケーションでは、\MyApp\Pool1 や \MyApp\Pool2 などのプールを定義できます。 これにより、階層がユーザー インターフェイスに伝達され、名前の重複が回避されます。 各プール レベルは個別に作成する必要があります。フォルダーやファイルと同様に、最初の MyApp と Pool1 と Pool2。

Windows Server 2003: メディア プールを作成するには、ルート プールと親プールへのNTMS_CONTROL_ACCESSが必要です。 セキュリティ記述子が指定されていない場合、プールは親プールの ACE を継承します (親プールがルート プールでない場合)。 さらに、作成者およびローカル システム アカウントは、プールへのフル アクセス権を持ちます。 親プールがルート プールの場合、その ACE は継承されません。DACL の唯一の ACE は、作成者とローカル システム アカウントのフル アクセスです。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntmsapi.h
Library Ntmsapi.lib
[DLL] Ntmsapi.dll

こちらもご覧ください

AllocateNtmsMedia

DeleteNtmsMediaPool

GetNtmsObjectSecurity

Media Services 関数

SetNtmsObjectSecurity