CreateNtmsMediaW 函式 (ntmsapi.h)
[從 Windows 7 和 Windows Server 2008 R2 起,不再提供卸除式儲存管理員 。]
CreateNtmsMedia 函式會為新的離線媒體建立 PMID 和側邊 (或側邊) 。 媒體會放在為 lpPhysicalMedia 指定的媒體集區中。
語法
DWORD CreateNtmsMediaW(
[in] HANDLE hSession,
[in] LPNTMS_OBJECTINFORMATIONW lpMedia,
[in] LPNTMS_OBJECTINFORMATIONW lpList,
[in] DWORD dwOptions
);
參數
[in] hSession
OpenNtmsSession 函式所傳回之會話的句柄。
[in] lpMedia
包含要建立之媒體相關信息 的NTMS_OBJECTINFORMATION 結構指標。 如需適用成員的描述,請參閱。
[in] lpList
NTMS_OBJECTINFORMATION 結構的指標,指定與媒體相關聯的側邊陣列。 如需適用成員的描述,請參閱。
[in] dwOptions
選項。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
預設值。 允許建立具有重複 OMID 的重複媒體。 |
|
傳回錯誤,如果系統上已有具有指定 OMID 的媒體,則不會建立媒體。 |
傳回值
此函式會傳回下列其中一個值。
值 | 意義 |
---|---|
|
NTMS_MODIFY_ACCESS電腦或媒體的媒體集區遭到拒絕。 可能會發生其他安全性錯誤,但表示安全性子系統錯誤。
Windowsxp: NTMS_CONTROL_ACCESS到媒體集區或離線連結庫的NTMS_MODIFY_ACCESS遭到拒絕。 可能會發生其他安全性錯誤,但表示安全性子系統錯誤。 |
|
資料庫無法存取或損毀。 |
|
資料庫已滿。 |
|
已提供選項NTMS_ERROR_ON_DUPLICATE,且此 OMID 已經存在媒體。 |
|
會話句柄遺失或無效。 |
|
此條碼的媒體已有專案存在。 |
|
指定的媒體集區不存在,或不是有效的匯入或應用程式集區。 |
|
遺漏參數,或對象資訊大小或物件類型無效。 |
|
指定的側邊數目不符合與媒體集區媒體類型相關聯的側邊數目。 |
|
處理期間記憶體配置失敗。 |
|
函式已成功執行。 |
備註
lpMedia 參數必須指向NTMS_OBJECTINFORMATION結構,其 dwType 參數為 NTMS_PHYSICAL_MEDIA。 以下是 NTMS_OBJECTINFORMATION 結構的成員和描述清單。
member | 描述 |
---|---|
dwSize | [in]CreateNtmsMedia 會確認此大小等於包含NTMS_PMIDINFORMATION結構的NTMS_OBJECTINFORMATION結構長度。 如果大小不正確,則會傳回ERROR_INVALID_PARAMETER。 |
dwType | [in] CreateNtmsMedia 會確認已提供值NTMS_PHYSICAL_MEDIA。 如果提供的型別不正確,它會傳回ERROR_INVALID_PARAMETER。 |
建立日期 | [out]指出實體媒體對象進入 NTMS 資料庫的時間。 |
修改日期 | [out]指出實體媒體對象進入 NTMS 資料庫的時間。 |
ObjectGuid | [in/out]實體媒體物件的唯一標識碼 (PMID) 。 如果提供非 NULL 值,則會使用此值做為實體媒體的 GUID,否則會產生 GUID。 |
啟用 | [in]指出是否應該啟用實體媒體。 |
dwOperationalState | [out]必須是NTMS_READY。 |
szName | [in/out] CreateNtmsMedia 可讓應用程式指定新實體媒體的名稱。 這可讓應用程式在將媒體從一部 RSM 計算機移至另一部 RSM 計算機之後,繼續使用該媒體的名稱。 RSM 預設命名選取範圍是:針對單面:條形碼,然後為標籤資訊值或序號;。 用於多側媒體條碼,然後為序號。
請注意,分割區 RSM 使用者介面中顯示的名稱是這個名稱, (指派給實體媒體對象的名稱) 。 |
szDescription | [in]可使用 CreateNtmsMedia 設定的選擇性參數。 提供空字串 (“\0”) ,以避免傳入描述的值。 |
以下是 NTMS_PMIDINFORMATION 結構的成員和描述清單。
member | 描述 |
---|---|
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 | [in/out]條碼會移除任何結束空格。 CreateNtmsMedia 不會對驗證條碼的有效性執行任何其他嘗試。 |
BarCodeState | [out]如果針對 szBarCode 傳入的值是空字串,則 BarCodeState 會設定為 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 結構。
member | 描述 |
---|---|
dwSize | [in]CreateNtmsMedia 會確認提供的大小符合包含NTMS_PARTITIONINFORMATION結構之NTMS_OBJECTINFORMATION結構的預期長度。 如果大小不正確,則會傳回ERROR_INVALID_PARAMETER。 |
dwType | [in] CreateNtmsMedia 會確認已提供值NTMS_PARTITION。 如果提供的型別不正確,它會傳回ERROR_INVALID_PARAMETER。 |
建立日期 | [out]指出數據分割對象進入 RSM 資料庫的時間。 |
修改日期 | [out]指出數據分割對象進入 RSM 資料庫的時間。 |
ObjectGuid | [in/out]側邊的唯一標識碼。 如果提供非 NULL 值,該值會當做側邊的 GUID 使用;否則會產生 GUID。 |
啟用 | [in]判斷是否應該啟用側邊。 |
dwOperationalState | [out]必須是NTMS_READY。 |
szName | [in]新端的名稱。 |
szDescription | [in]可使用 CreateNtmsMedia 設定的選擇性參數。 提供空字串 (“\0”) ,以避免傳入描述的值。 |
PhysicalMedia | [out]新建立之側邊物件的 GUID。 |
LogicalMedia | [in/out]選擇性輸入參數,以及輸出參數。 如果提供 GUID,CreateNtmsMedia 會嘗試使用預先指派的 GUID 來建立新的邏輯媒體物件。 如果 GUID 不是唯一的, CreateNtmsMedia 會傳回錯誤。 |
狀態 | [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 標頭會將 CreateNtmsMedia 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ntmsapi.h |
程式庫 | Ntmsapi.lib |
Dll | Ntmsapi.dll |