次の方法で共有


IMDSPStorage::CreateStorage メソッド (mswmdm.h)

CreateStorage メソッドは、新しいストレージを作成し、新しく作成されたストレージの IMDSPStorage インターフェイスへのポインターを返します。 dwAttributes がWMDM_FILE_ATTR_FILEされていない限り、このメソッドは省略可能です。 その場合、このメソッドを実装する必要があり、WMDM_E_NOTSUPPORTEDまたはE_NOTIMPLを返してはなりません。 詳細については、「 必須インターフェイスとオプション インターフェイス」を参照してください。

構文

HRESULT CreateStorage(
  [in]  DWORD         dwAttributes,
  [in]  _WAVEFORMATEX *pFormat,
  [in]  LPWSTR        pwszName,
  [out] IMDSPStorage  **ppNewStorage
);

パラメーター

[in] dwAttributes

新しいストレージの属性を含む DWORD。 次の表に、使用可能なストレージ属性の一覧を示します。

属性 説明
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_VIDEO このファイルにはビデオ データが含まれています。
WMDM_FILE_ATTR_HIDDEN このファイルはファイル システムでは非表示です
WMDM_FILE_ATTR_SYSTEM これはシステム ファイルです
WMDM_FILE_ATTR_READONLY これは読み取り専用ファイルです。
WMDM_STORAGE_IS_DEFAULT このストレージは、新しいメディアを配置する必要がある既定のストレージです。
WMDM_STORAGE_CONTAINS_DEFAULT このストレージには、新しいメディアを配置する必要がある既定のストレージが含まれています。

[in] pFormat

オブジェクト がオーディオ ファイルの場合、オブジェクトに関する情報を含む_WAVEFORMATEX構造体へのポインター。

[in] pwszName

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

[out] ppNewStorage

新しく作成されたストレージの IMDSPStorage インターフェイスを受け取るための IMDSPStorage ポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。 Windows Media デバイス マネージャーのすべてのインターフェイス メソッドは、次のいずれかのエラー コード クラスを返すことができます。

  • 標準 COM エラー コード
  • HRESULT 値に変換された Windows エラー コード
  • Windows Media デバイス マネージャーエラー コード
考えられるエラー コードの詳細な一覧については、「 エラー コード」を参照してください。

注釈

WMDM_FILE_ATTR_FOLDER属性とWMDM_FILE_ATTR_FILE属性の両方が設定されている場合は、folder 属性によってファイル属性がオーバーライドされ、新しいストレージがフォルダーとして作成されます。

クライアントで指定できるのは、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は、現在のストレージがフォルダーの場合にのみ有効です。 現在のストレージがファイルであり、このフラグが指定されている場合、操作は失敗します。

要件

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

こちらもご覧ください

IMDSPStorage インターフェイス

IMDSPStorage2::CreateStorage2

_WAVEFORMATEX