次の方法で共有


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

オプション。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
0
既定値。 重複する OMID を持つ重複するメディアの作成を許可します。
NTMS_ERROR_ON_DUPLICATE
指定した OMID を持つメディアがシステムに既に存在する場合、エラーを返し、メディアは作成しません。

戻り値

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

価値 意味
ERROR_ACCESS_DENIED
コンピューターまたはメディアのメディア プールへのNTMS_MODIFY_ACCESSが拒否されました。 その他のセキュリティ エラーが発生する可能性がありますが、セキュリティ サブシステム エラーを示します。

Windows XP: メディア プールへの NTMS_CONTROL_ACCESS またはオフライン ライブラリへのNTMS_MODIFY_ACCESSは拒否されます。 その他のセキュリティ エラーが発生する可能性がありますが、セキュリティ サブシステム エラーを示します。

ERROR_DATABASE_FAILURE
データベースにアクセスできないか、破損しています。
ERROR_DATABASE_FULL
データベースがいっぱいです。
ERROR_DUPLICATE_OMID
NTMS_ERROR_ON_DUPLICATEオプションが指定されており、この OMID にはメディアが既に存在します。
ERROR_INVALID_HANDLE
セッション ハンドルが見つからないか、無効です。
ERROR_INVALID_MEDIA
このバーコードを含むメディアのエントリが既に存在します。
ERROR_INVALID_MEDIA_POOL
指定されたメディア プールが存在しないか、有効なインポート またはアプリケーション プールではありません。
ERROR_INVALID_PARAMETER
パラメーターがないか、オブジェクト情報のサイズまたはオブジェクトの種類が無効です。
ERROR_MEDIA_INCOMPATIBLE
指定された辺の数が、メディア・プールのメディア・タイプに関連付けられている辺の数と一致しません。
ERROR_NOT_ENOUGH_MEMORY
処理中のメモリ割り当てエラー。
ERROR_SUCCESS
関数が正常に実行されました。

備考

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使用して設定できる省略可能なパラメーター。 説明の値が渡されないように、空の文字列 ("\0") を指定します。
 

NTMS_PMIDINFORMATION 構造体のメンバーと説明の一覧を次に示します。

メンバー 形容
CurrentLibrary [in]NULL_GUID、またはオフライン ライブラリの GUID である必要があります。
MediaPool [in]有効なインポート プールまたはアプリケーション プールの GUID である必要があります。

CreateNtmsMedia 、これが有効なインポートまたはアプリケーション プールの GUID であることを確認します。 また、指定されたパーティションの数がこのメディア プールに関連付けられているメディアの種類に対して正しいことを確認します。

場所の [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 、指定された辺の数が、割り当てるメディア プールによって暗黙的に示される辺の数と一致することを確認します。 一致しない場合は、ERROR_MEDIA_INCOMPATIBLEが返されます。
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使用して設定できる省略可能なパラメーター。 説明の値が渡されないように、空の文字列 ("\0") を指定します。
PhysicalMedia [out]新しく作成されたサイド オブジェクトの GUID。
LogicalMedia の [入力/出力]オプションの入力パラメーターと出力パラメーター。 GUID が指定されている場合、CreateNtmsMedia は、事前に割り当てられた GUID を持つ新しい論理メディア オブジェクトの作成を試みます。 GUID が一意でない場合は、CreateNtmsMedia エラーが返されます。
State [in]任意の有効なサイド状態。
サイド [out] CreateNtmsMedia は、サイド番号を Partitions 配列内のオフセットに設定します。
dwOmidLabelIdLength を する [in]正の値にする必要があります。

CreateNtmsMedia dwOmidLabelIdLength を使用して、OmidLabelId メンバーの有効バイト数を決定します。 値が正しくない場合、記録された OmidLabelId が正しくありません。

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

関連項目

Media Services Functions