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 が生成されます。
有効 [入力]物理メディアを有効にするかどうかを示します。
dwOperationalState [out]NTMS_READYする必要があります。
szName [入力/出力] CreateNtmsMedia を使用すると、アプリケーションで新しい物理メディアの名前を指定できます。 これにより、アプリケーションは、ある RSM コンピューターから別の RSM コンピューターに移動した後も、メディアの名前を引き続き使用できます。 RSM の既定の名前付け選択は、片面のバーコード、ラベル情報の値、またはシーケンス番号です。 マルチサイドメディアバーコードの場合はシーケンス番号。

パーティションの RSM ユーザー インターフェイスに表示される名前は、この名前 (物理メディア オブジェクトに割り当てられた名前) であることに注意してください。

szDescription [入力] CreateNtmsMedia を使用して設定できる省略可能なパラメーター。 説明の値を渡さないように、空の文字列 ("\0") を指定します。
 

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

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

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

場所 [out]NULL_GUIDである必要があります。
LocationType [out]NTMS_STORAGESLOTする必要があります。
HomeSlot [out]NULL_GUIDである必要があります。
MediaType [out] CreateNtmsMedia は 、指定されたメディア プールに関連付けられているメディアの種類にメディアの種類を設定します。
szBarCode [入力/出力]バーコードは終了スペースを取り除きます。 CreateNtmsMedia では、バーコードの有効性の確認に関する追加の試行は実行されません。
BarCodeState [out]szBarCode に渡された値が空の文字列の場合、BarCodeState は NTMS_BARCODESTATE_UNREADABLE に設定され、それ以外の場合は NTMS_BARCODESTATE_OK に設定されます。
szSequenceNumber [out] CreateNtmsMedia は 、新しく作成されたメディアにシーケンス番号を割り当てます。このシーケンス番号は、このメンバーで返されます。
MediaState [out] CreateNtmsMedia は MediaState をNTMS_MEDIASTATE_IDLEに設定します。
dwNumberOfPartitions [入力]このメディアの辺を表す NTMS_OBJECTINFORMATION 構造体の数を定義します。 CreateNtmsMedia は、指定された辺の数が、それが割り当てられるメディア プールによって暗黙的に示される辺の数と一致していることを確認します。 一致しない場合は、ERROR_MEDIA_INCOMPATIBLEが返されます。
dwMediaTypeCode [入力]SCSI メディアの種類のコード。

このメンバーは RSM では使用されませんが、メディアに関する追加情報のために RSM に書き込まれたアプリケーションで使用できます。 このメンバーを設定する必要がある内容の説明については、ハードウェアの製造元の SCSI 仕様で使用可能な設定を参照してください。

RSM は、新しくインポートされたメディアを初めてマウントするときに、このメンバーを更新します。

dwDensityCode [入力]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 が生成されます。
有効 [入力]側を有効にするかどうかを決定します。
dwOperationalState [out]NTMS_READYする必要があります。
szName [入力]新しい側の名前。
szDescription [入力] CreateNtmsMedia を使用して設定できる省略可能なパラメーター。 説明の値を渡さないように、空の文字列 ("\0") を指定します。
PhysicalMedia [out]新しく作成されたサイド オブジェクトの GUID。
LogicalMedia [入力/出力]オプションの入力パラメーターと出力パラメーター。 GUID が指定されている場合、 CreateNtmsMedia は、事前に割り当てられた GUID を使用して新しい論理メディア オブジェクトを作成しようとします。 GUID が一意でない場合、 CreateNtmsMedia はエラーを返します。
State [入力]任意の有効な側の状態。
[out] CreateNtmsMedia は、Partition 配列内の辺番号をオフセットに設定します。
dwOmidLabelIdLength [入力]正の値である必要があります。

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

OmidLabelId [入力]インストールされている MLL で認識できる有効なメディア ラベルである必要があります。
szOmidLabelType [入力]空の文字列にすることはできません。
szOmidLabelInfo [入力]空の文字列を指定できます。
dwMountCount [入力]任意の値が受け入れられます。
dwAllocateCount [入力]任意の値が受け入れられます。
[容量] [入力]SCSI 容量コード。

このメンバーは RSM では使用されませんが、メディアに関する追加情報のために RSM に書き込まれたアプリケーションで使用できます。 このメンバーを設定する必要がある内容の説明については、ハードウェアの製造元の SCSI 仕様で使用可能な設定を参照してください。

RSM は、新しくインポートされたメディアを初めてマウントするときに、このメンバーを更新します。

 

注意

ntmsapi.h ヘッダーは、CreateNtmsMedia をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

こちらもご覧ください

Media Services 関数