共用方式為


IMDSPStorage2::CreateStorage2 方法 (mswmdm.h)

CreateStorage2 方法會使用指定的名稱建立新的記憶體,並在新建立的記憶體上傳回 IMDSPStorage 介面的指標。

語法

HRESULT CreateStorage2(
  [in]  DWORD            dwAttributes,
  [in]  DWORD            dwAttributesEx,
  [in]  _WAVEFORMATEX    *pAudioFormat,
  [in]  _VIDEOINFOHEADER *pVideoFormat,
  [in]  LPWSTR           pwszName,
  [in]  ULONGLONG        qwFileSize,
  [out] IMDSPStorage     **ppNewStorage
);

參數

[in] dwAttributes

包含屬性的 DWORD,如 IMDSPStorage::CreateStorage 方法中所述。

[in] dwAttributesEx

包含擴充屬性的 DWORD。 目前未定義任何擴充屬性。

[in] pAudioFormat

包含物件之音訊格式資訊的 _WAVEFORMATEX 結構的指標。 這個參數是選擇性的,如果檔案不是音訊,則會予以忽略。

[in] pVideoFormat

包含對象相關視訊格式資訊的 _VIDEOINFOHEADER 結構的指標。 這個參數是選擇性的,如果檔案不是視訊,則會忽略。

[in] pwszName

寬字元 Null 終止字串的指標,其中包含新記憶體的名稱。

[in] qwFileSize

包含要建立之檔案大小的 QWORD。 如果在建立時不知道輸出檔案的總大小,此值將會設定為零。

[out] ppNewStorage

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

傳回值

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

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

備註

如果同時設定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才有效。 如果目前的記憶體是檔案,而且已指定此旗標,作業就會失敗。

這個方法必須實作。 它不得傳回WMDM_E_NOTSUPPORTED或E_NOTIMPL。 如需詳細資訊,請參閱 強制和選擇性介面

規格需求

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

另請參閱

IMDSPStorage2 介面

IMDSPStorage::CreateStorage