CreateNtmsMediaA 関数 (ntmsapi.h)
[Windows 7 および Windows Server 2008 R2 以降、リムーバブル 記憶域マネージャー は使用できなくなりました。
CreateNtmsMedia 関数は、新しいオフライン メディアの PMID とサイド (または辺) を作成します。 メディアは、lpPhysicalMediaに指定
構文
DWORD CreateNtmsMediaA(
[in] HANDLE hSession,
[in] LPNTMS_OBJECTINFORMATIONA lpMedia,
[in] LPNTMS_OBJECTINFORMATIONA lpList,
[in] DWORD dwOptions
);
パラメーター
[in] hSession
OpenNtmsSession 関数によって返されるセッションへのハンドル。
[in] lpMedia
作成するメディアに関する情報を含む NTMS_OBJECTINFORMATION 構造体へのポインター。 該当するメンバーの説明については、「解説」を参照してください。
[in] lpList
メディアに関連付けられた辺の配列を指定する NTMS_OBJECTINFORMATION 構造体へのポインター。 該当するメンバーの説明については、「解説」を参照してください。
[in] dwOptions
オプション。 このパラメーターには、次のいずれかの値を指定できます。
価値 | 意味 |
---|---|
|
既定値。 重複する OMID を持つ重複するメディアの作成を許可します。 |
|
指定した OMID を持つメディアがシステムに既に存在する場合、エラーを返し、メディアは作成しません。 |
戻り値
この関数は、次のいずれかの値を返します。
価値 | 意味 |
---|---|
|
コンピューターまたはメディアのメディア プールへのNTMS_MODIFY_ACCESSが拒否されました。 その他のセキュリティ エラーが発生する可能性がありますが、セキュリティ サブシステム エラーを示します。
Windows XP: メディア プールへの NTMS_CONTROL_ACCESS またはオフライン ライブラリへのNTMS_MODIFY_ACCESSは拒否されます。 その他のセキュリティ エラーが発生する可能性がありますが、セキュリティ サブシステム エラーを示します。 |
|
データベースにアクセスできないか、破損しています。 |
|
データベースがいっぱいです。 |
|
NTMS_ERROR_ON_DUPLICATEオプションが指定されており、この OMID にはメディアが既に存在します。 |
|
セッション ハンドルが見つからないか、無効です。 |
|
このバーコードを含むメディアのエントリが既に存在します。 |
|
指定されたメディア プールが存在しないか、有効なインポート またはアプリケーション プールではありません。 |
|
パラメーターがないか、オブジェクト情報のサイズまたはオブジェクトの種類が無効です。 |
|
指定された辺の数が、メディア・プールのメディア・タイプに関連付けられている辺の数と一致しません。 |
|
処理中のメモリ割り当てエラー。 |
|
関数が正常に実行されました。 |
備考
lpMedia パラメーターは、dwType パラメーターがNTMS_PHYSICAL_MEDIA NTMS_OBJECTINFORMATION 構造体を指す必要があります。 NTMS_OBJECTINFORMATION 構造体のメンバーと説明の一覧を次に示します。
メンバー | 形容 |
---|---|
dwSize を |
[入力] CreateNtmsMedia は、このサイズが、NTMS_PMIDINFORMATION 構造体を含む NTMS_OBJECTINFORMATION 構造体の長さと等しいことを確認します。 サイズが正しくない場合はERROR_INVALID_PARAMETERを返します。 |
dwType を |
[入力] CreateNtmsMedia は、NTMS_PHYSICAL_MEDIA値が指定されたことを確認します。 指定された型が正しくない場合は、ERROR_INVALID_PARAMETERを返します。 |
Created | [out]物理メディア オブジェクトが NTMS データベースに入力された時刻を示します。 |
変更された | [out]物理メディア オブジェクトが NTMS データベースに入力された時刻を示します。 |
ObjectGuid | [入力/出力]物理メディア オブジェクト (PMID) の一意識別子。 以外の NULL 値が指定されている場合、その値は物理メディアの GUID として使用され、それ以外の場合は GUID が生成されます。 |
Enabled | [in]物理メディアを有効にするかどうかを示します。 |
dwOperationalState を |
[out]NTMS_READYする必要があります。 |
szName | [入力/出力] CreateNtmsMedia を使用すると、アプリケーションで新しい物理メディアの名前を指定できます。 これにより、アプリケーションは、ある RSM コンピューターから別の RSM コンピューターに移動した後も、メディアの名前を引き続き使用できます。 RSM の既定の名前付け選択は、片面のバーコード、ラベル情報の値、またはシーケンス番号です。 両面メディアバーコードの場合はシーケンス番号。
パーティションの RSM ユーザー インターフェイスに表示される名前は、この名前 (物理メディア オブジェクトに割り当てられた名前) であることに注意してください。 |
szDescription | [in]CreateNtmsMedia |
NTMS_PMIDINFORMATION 構造体のメンバーと説明の一覧を次に示します。
メンバー | 形容 |
---|---|
CurrentLibrary | [in]NULL_GUID、またはオフライン ライブラリの GUID である必要があります。 |
MediaPool | [in]有効なインポート プールまたはアプリケーション プールの GUID である必要があります。
CreateNtmsMedia |
場所の | [out]NULL_GUIDである必要があります。 |
LocationType | [out]NTMS_STORAGESLOTする必要があります。 |
HomeSlot | [out]NULL_GUIDである必要があります。 |
MediaType | [out] CreateNtmsMedia は、指定されたメディア プールに関連付けられているメディアの種類にメディアの種類を設定します。 |
szBarCode | [入力/出力]バーコードは終了スペースを取り除きます。 CreateNtmsMedia では、バーコードの有効性を確認する追加の試行は実行されません。 |
BarCodeState | [out]BarCodeState は、szBarCode に渡される値が空の文字列の場合はNTMS_BARCODESTATE_UNREADABLEに設定され、それ以外の場合はNTMS_BARCODESTATE_OKに設定されます。 |
szSequenceNumber | [out] CreateNtmsMedia は、新しく作成されたメディアにシーケンス番号を割り当てます。このシーケンス番号は、このメンバーで返されます。 |
MediaState | [out] CreateNtmsMedia MediaState を NTMS_MEDIASTATE_IDLE に設定します。 |
dwNumberOfPartitions の |
[in]このメディアの側面を表す NTMS_OBJECTINFORMATION 構造体の数を定義します。
CreateNtmsMedia |
dwMediaTypeCode を |
[in]SCSI メディアの種類のコード。
このメンバーは RSM では使用されませんが、メディアに関する追加情報のために RSM に書き込まれたアプリケーションで使用できます。 このメンバーを設定する必要がある内容の詳細については、ハードウェアの製造元の SCSI 仕様で設定を参照してください。 RSM は、新しくインポートされたメディアを初めてマウントするときに、このメンバーを更新します。 |
dwDensityCode を |
[in]SCSI 密度コード。
このメンバーは RSM では使用されませんが、メディアに関する追加情報のために RSM に書き込まれたアプリケーションで使用できます。 このメンバーを設定する必要がある内容の詳細については、ハードウェアの製造元の SCSI 仕様で設定を参照してください。 RSM は、新しくインポートされたメディアを初めてマウントするときに、このメンバーを更新します |
lpList パラメーターは、dwType が次の情報でNTMS_PARTITION NTMS_OBJECTINFORMATION 構造体を指す必要があります。
メンバー | 形容 |
---|---|
dwSize を |
[入力] CreateNtmsMedia は、指定されたサイズが、NTMS_PARTITIONINFORMATION 構造体を含む NTMS_OBJECTINFORMATION 構造体の予想される長さと一致することを確認します。 サイズが正しくない場合はERROR_INVALID_PARAMETERを返します。 |
dwType を |
[入力] CreateNtmsMedia は、NTMS_PARTITION値が指定されたことを確認します。 指定された型が正しくない場合は、ERROR_INVALID_PARAMETERを返します。 |
Created | [out]パーティション オブジェクトが RSM データベースに入力された時刻を示します。 |
変更された | [out]パーティション オブジェクトが RSM データベースに入力された時刻を示します。 |
ObjectGuid | [入力/出力]サイドの一意識別子。 以外の NULL 値が指定されている場合、値はサイドの GUID として使用されます。それ以外の場合は、GUID が生成されます。 |
Enabled | [in]サイドを有効にするかどうかを決定します。 |
dwOperationalState を |
[out]NTMS_READYする必要があります。 |
szName | [in]新しい側の名前。 |
szDescription | [in]CreateNtmsMedia |
PhysicalMedia | [out]新しく作成されたサイド オブジェクトの GUID。 |
LogicalMedia の |
[入力/出力]オプションの入力パラメーターと出力パラメーター。 GUID が指定されている場合、CreateNtmsMedia |
State | [in]任意の有効なサイド状態。 |
サイド | [out] CreateNtmsMedia は、サイド番号を Partitions 配列内のオフセットに設定します。 |
dwOmidLabelIdLength を |
[in]正の値にする必要があります。
CreateNtmsMedia |
OmidLabelId | [in]インストールされている MLL で認識できる有効なメディア ラベルである必要があります。 |
szOmidLabelType | [in]空の文字列にすることはできません。 |
szOmidLabelInfo | [in]空の文字列を指定できます。 |
dwMountCount を |
[in]任意の値が受け入れられます。 |
dwAllocateCount を |
[in]任意の値が受け入れられます。 |
容量 の |
[in]SCSI 容量コード。
このメンバーは RSM では使用されませんが、メディアに関する追加情報のために RSM に書き込まれたアプリケーションで使用できます。 このメンバーを設定する必要がある内容の詳細については、ハードウェアの製造元の SCSI 仕様で設定を参照してください。 RSM は、新しくインポートされたメディアを初めてマウントするときに、このメンバーを更新します。 |
手記
ntmsapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CreateNtmsMedia を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | ntmsapi.h |
ライブラリ | Ntmsapi.lib |
DLL | Ntmsapi.dll |