CreateNtmsMediaPoolW 関数 (ntmsapi.h)
[Windows 7 および Windows Server 2008 R2 以降、リムーバブル 記憶域マネージャー は使用できなくなりました。
CreateNtmsMediaPool 関数は、新しいアプリケーション メディア プールを作成します。
構文
DWORD CreateNtmsMediaPoolW(
[in] HANDLE hSession,
[in] LPCWSTR lpPoolName,
[in] LPNTMS_GUID lpMediaType,
[in] DWORD dwAction,
[in] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[out] LPNTMS_GUID lpPoolId
);
パラメーター
[in] hSession
OpenNtmsSession 関数によって返されるセッションへのハンドル。
[in] lpPoolName
新しいメディア プールの名前。 メディア プール名は、単一の RSM データベースのスコープ内で一意である必要があります。
[in] lpMediaType
このメディア プール内のメディアの種類の識別子。 EnumerateNtmsObject 関数を使用して、使用可能なメディアの種類とその属性の一覧を取得します。 アプリケーションは、NULL ポインターを渡して、他のメディア プールのみを含むメディア プールを作成できます。
[in] dwAction
実行するアクション。 このパラメーターは、次のいずれかの値である必要があります。
[in] lpSecurityAttributes
プールへのアクセスを制限するために使用されるオプションのセキュリティ記述子。
[out] lpPoolId
メディア プールが正常に作成または開かれた後に、メディア プールの一意識別子を受け取る変数へのポインター。
戻り値
この関数は、次のいずれかの値を返します。
価値 | 意味 |
---|---|
|
ルート プールまたは親メディア プールへのNTMS_CONTROL_ACCESSは、新しいメディア プールの作成中に拒否されます。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。
Windows XP: 新しいメディア プールを作成しようとすると、親メディア プールへの NTMS_MODIFY_ACCESS が拒否されます。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。 |
|
この名前のメディア プールが既に存在するため、新しいメディア プールを作成できません。 |
|
データベースにアクセスできないか、破損しています。 |
|
データベースがいっぱいです。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。 |
|
セッション ハンドルが見つからないか、無効です。 |
|
選択したメディアの種類が無効です。 |
|
プール名の構文が無効です。 (名前が長すぎます)。 |
|
メディア プール名またはメディア プール ID ポインターがありません。 |
|
既存のメディア プールを開くことができません。 |
|
関数が成功しました。 |
備考
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 は、作成者およびローカル システム アカウントに対するフル アクセスです。
手記
ntmsapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CreateNtmsMediaPool を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | ntmsapi.h |
ライブラリ | Ntmsapi.lib |
DLL | Ntmsapi.dll |
関連項目
AllocateNtmsMedia の
DeleteNtmsMediaPool の
GetNtmsObjectSecurity の
SetNtmsObjectSecurity の