次の方法で共有


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

IMDSPStorage::CreateStorage メソッドで説明されている属性を含む DWORD

[in] dwAttributesEx

拡張属性を含む DWORD。 現在、拡張属性は定義されていません。

[in] pAudioFormat

オブジェクトに関するオーディオ形式情報を含む _WAVEFORMATEX 構造体へのポインター。 このパラメーターは省略可能であり、ファイルがオーディオでない場合は無視されます。

[in] pVideoFormat

オブジェクトに関するビデオ形式情報を含む _VIDEOINFOHEADER 構造体へのポインター。 このパラメーターは省略可能であり、ファイルがビデオでない場合は無視されます。

[in] pwszName

新しいストレージの名前を含むワイド文字の null で終わる文字列へのポインター。

[in] qwFileSize

作成するファイルのサイズを含む QWORD。 作成時に出力ファイルの合計サイズが不明な場合、この値は 0 に設定されます。

[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のいずれか 1 つだけです。

新しいストレージは、同じレベルで作成することも、現在のストレージがフォルダーである場合は現在のストレージに挿入することもできます。 これは dwAttributes パラメーターの値によって制御されます。 WMDM_STORAGECONTROL_INSERTBEFOREまたはWMDM_STORAGECONTROL_INSERTAFTERを指定した場合、新しいストレージは現在のストレージと同じレベルで作成されます。 WMDM_STORAGECONTROL_INSERTINTOを指定すると、新しいストレージが現在のストレージに挿入されます。

WMDM_STORAGECONTROL_INSERTBEFOREとWMDM_STORAGECONTROL_INSERAFTERは、ファイル システム内のコンテンツの順序を意味します。 ファイル システムが順序付けをサポートしていない場合 (FAT32 など)、両方のフラグは、現在のストレージと同じレベルで新しいストレージを挿入する効果が同じです。 現在のストレージがストレージ メディアのルートを表し、これら 2 つのフラグのいずれかが指定されている場合、操作は失敗します。

WMDM_STORAGECONTROL_INSERTINTOは、現在のストレージがフォルダーである場合にのみ有効です。 現在のストレージがファイルであり、このフラグが指定されている場合、操作は失敗します。

このメソッドを実装する必要があります。 WMDM_E_NOTSUPPORTEDまたはE_NOTIMPLを返してはなりません。 詳細については、「 必須インターフェイスと省略可能なインターフェイス」を参照してください。

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

IMDSPStorage2 インターフェイス

IMDSPStorage::CreateStorage