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 |