共用方式為


IMDSPStorage4::CreateStorageWithMetadata 方法 (mswmdm.h)

CreateStorageWithMetadata 方法會建立新的記憶體、將指定的元數據套用至新的記憶體,並在新建立的記憶體上傳回 IMDSPStorage 介面的指標。 新的記憶體可以在同一層級建立,也可以插入目前的記憶體。

如果裝置在建立時需要元數據,這個方法就很有用。 視裝置而定,在建立時套用元數據可能更有效率,而不是建立記憶體,然後設定元數據。

語法

HRESULT CreateStorageWithMetadata(
  [in]  DWORD         dwAttributes,
  [in]  LPCWSTR       pwszName,
  [in]  IWMDMMetaData *pMetadata,
  [in]  ULONGLONG     qwFileSize,
  [out] IMDSPStorage  **ppNewStorage
);

參數

[in] dwAttributes

包含新記憶體屬性的 DWORD。 下表列出可用的記憶體屬性。

屬性 Description
WMDM_STORAGECONTROL_INSERTBEFORE 新的儲存物件將會在目標物件前面建立。
WMDM_STORAGECONTROL_INSERTAFTER 新的儲存物件會在目標對象之後建立。
WMDM_STORAGECONTROL_INSERTINTO 新的記憶體物件將會在目標物件資料夾中建立。
WMDM_STORAGECONTROL_OVERWRITE 如果具有相同名稱的記憶體已經存在,則會終結並建立新的記憶體。
WMDM_STORAGE_ATTR_FILESYSTEM 此物件是最上層儲存媒體 (,例如儲存卡或其他一些上線記憶體。)
WMDM_STORAGE_ATTR_REMOVABLE 此儲存媒體是可移動的。
WMDM_STORAGE_ATTR_CANEDITMETADATA 此記憶體可以編輯元數據。
WMDM_STORAGE_ATTR_FOLDERS 此儲存媒體支援資料夾和檔案階層。
WMDM_FILE_ATTR_FOLDER 這是儲存媒體上的資料夾。
WMDM_FILE_ATTR_LINK 這是在多個檔案之間建立關聯的連結。
WMDM_FILE_ATTR_FILE 這是儲存媒體上的檔案。
WMDM_FILE_ATTR_AUDIO 此檔案是音訊數據。
WMDM_FILE_ATTR_DATA 此檔案為非音訊數據。
WMDM_FILE_ATTR_CANPLAY 此音訊檔案可由裝置播放。
WMDM_FILE_ATTR_CANDELETE 此檔案可以刪除。
WMDM_FILE_ATTR_CANMOVE 此檔案或資料夾可以在儲存媒體上移動。
WMDM_FILE_ATTR_CANRENAME 此檔案或資料夾可以重新命名。
WMDM_FILE_ATTR_CANREAD 主計算機可以讀取此檔案。
WMDM_FILE_ATTR_MUSIC 這個音訊檔案是音樂。
WMDM_FILE_ATTR_PLAYLIST 這是播放清單物件。
WMDM_FILE_ATTR_VIDEO 此檔案包含視訊數據。
WMDM_FILE_ATTR_HIDDEN 此檔案會在檔案系統上隱藏。
WMDM_FILE_ATTR_SYSTEM 這是系統檔案。
WMDM_FILE_ATTR_READONLY 這是唯讀檔案。
WMDM_STORAGE_IS_DEFAULT 此記憶體是應放置新媒體的預設記憶體。
WMDM_STORAGE_CONTAINS_DEFAULT 此記憶體包含應放置新媒體的預設記憶體。

[in] pwszName

寬字元、以 Null 結尾的字串指標,其中包含新記憶體的名稱。

[in] pMetadata

IWMDMMetaData 介面的指標。

[in] qwFileSize

包含檔案大小的 Qword

[out] ppNewStorage

IMDSPStorage 指標的指標,用來接收新建立記憶體的 IMDSPStorage 介面。

傳回值

方法會傳回 HRESULT。 Windows Media 中的所有介面方法 裝置管理員 都可以傳回下列任何錯誤碼類別:

  • 標準 COM 錯誤碼
  • 轉換成 HRESULT 值的 Windows 錯誤碼
  • Windows Media 裝置管理員 錯誤碼
如需可能錯誤碼的廣泛清單,請參閱 錯誤碼

備註

如果需要在建立時將元數據套用至記憶體,這個方法會很有用。 相反地, IMDSPStorage2::CreateStorage2IMDSPStorage::CreateStorage 方法不提供在建立時提供元數據的方法。

如果可與 Windows 媒體播放器 同步處理之裝置的服務提供者支援此介面,Windows Media 裝置管理員 在 Insert/2/3 作業期間呼叫此方法。

如果同時設定WMDM_FILE_ATTR_FOLDER和WMDM_FILE_ATTR_FILE屬性,資料夾屬性會覆寫檔案屬性,並將新的記憶體建立為資料夾。

用戶端只能指定其中一個WMDM_STORAGECONTROL_INSERTBEFORE、WMDM_STORAGECONTROL_INSERTAFTER和WMDM_STORAGECONTROL_INSERTINTO。

您可以在相同的層級建立新的記憶體,或插入目前的記憶體,前提是目前的記憶體是資料夾。 這是由 dwAttributes 參數的值所控制。 如果指定WMDM_STORAGECONTROL_INSERTBEFORE或WMDM_STORAGECONTROL_INSERTAFTER,則會在與目前記憶體相同的層級建立新的記憶體。 如果指定WMDM_STORAGECONTROL_INSERTINTO,新的記憶體將會插入目前的記憶體。

WMDM_STORAGECONTROL_INSERTBEFORE和WMDM_STORAGECONTROL_INSERAFTER表示文件系統中內容的排序。 例如,如果文件系統不支援排序 (,FAT32 檔系統) ,則這兩個旗標在目前記憶體層級插入新記憶體的效果相同。 如果目前的記憶體代表儲存媒體的根目錄,並指定這兩個旗標的其中一個,作業就會失敗。

只有在目前記憶體是資料夾時,WMDM_STORAGECONTROL_INSERTINTO才有效。 如果目前的記憶體是檔案,而且已指定此旗標,則作業會失敗。

規格需求

需求
目標平台 Windows
標頭 mswmdm.h
程式庫 Mssachlp.lib

另請參閱

使用 Windows 媒體播放器 啟用同步處理

IMDSPStorage2::CreateStorage2

IMDSPStorage4 介面

IMDSPStorage::CreateStorage