IMDSPStorage::CreateStorage-Methode (mswmdm.h)

Die CreateStorage-Methode erstellt einen neuen Speicher und gibt einen Zeiger auf die IMDSPStorage-Schnittstelle im neu erstellten Speicher zurück. Diese Methode ist optional, es sei denn , dwAttributes ist WMDM_FILE_ATTR_FILE. In diesem Fall muss diese Methode implementiert werden und darf keine WMDM_E_NOTSUPPORTED oder E_NOTIMPL zurückgeben. Weitere Informationen finden Sie unter Obligatorische und optionale Schnittstellen.

Syntax

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

Parameter

[in] dwAttributes

DWORD mit den Attributen für den neuen Speicher. In der folgenden Tabelle sind die verfügbaren Speicherattribute aufgeführt.

attribute BESCHREIBUNG
WMDM_STORAGECONTROL_INSERTBEFORE Das neue Speicherobjekt wird vor dem Zielobjekt erstellt.
WMDM_STORAGECONTROL_INSERTAFTER Das neue Speicherobjekt wird nach dem Zielobjekt erstellt.
WMDM_STORAGECONTROL_INSERTINTO Das neue Speicherobjekt wird im Zielobjektordner erstellt.
WMDM_STORAGECONTROL_OVERWRITE Wenn bereits Speicher mit demselben Namen vorhanden ist, wird er zerstört und ein neuer Speicher erstellt.
WMDM_STORAGE_ATTR_FILESYSTEM Dieses Objekt ist das Speichermedium der obersten Ebene (z. B. ein Speicher Karte oder ein anderer onboard-Speicher).
WMDM_STORAGE_ATTR_REMOVABLE Dieses Speichermedium ist wechselbar.
WMDM_STORAGE_ATTR_CANEDITMETADATA Dieser Speicher kann Metadaten bearbeiten.
WMDM_STORAGE_ATTR_FOLDERS Dieses Speichermedium unterstützt Ordner und die Dateihierarchie.
WMDM_FILE_ATTR_FOLDER Dies ist ein Ordner auf dem Speichermedium.
WMDM_FILE_ATTR_LINK Dies ist ein Link, der eine Zuordnung zwischen mehreren Dateien erstellt.
WMDM_FILE_ATTR_FILE Dies ist eine Datei auf dem Speichermedium.
WMDM_FILE_ATTR_AUDIO Bei dieser Datei handelt es sich um Audiodaten.
WMDM_FILE_ATTR_DATA Bei dieser Datei handelt es sich um Keine-Audiodaten.
WMDM_FILE_ATTR_CANPLAY Diese Audiodatei kann vom Gerät wiedergegeben werden.
WMDM_FILE_ATTR_CANDELETE Diese Datei kann gelöscht werden.
WMDM_FILE_ATTR_CANMOVE Diese Datei oder der Ordner kann auf dem Speichermedium verschoben werden.
WMDM_FILE_ATTR_CANRENAME Diese Datei oder dieser Ordner kann umbenannt werden.
WMDM_FILE_ATTR_CANREAD Diese Datei kann vom Hostcomputer gelesen werden.
WMDM_FILE_ATTR_MUSIC Diese Audiodatei ist Musik.
WMDM_FILE_ATTR_VIDEO Diese Datei enthält Videodaten.
WMDM_FILE_ATTR_HIDDEN Diese Datei ist im Dateisystem ausgeblendet.
WMDM_FILE_ATTR_SYSTEM Dies ist eine Systemdatei.
WMDM_FILE_ATTR_READONLY Dies ist eine schreibgeschützte Datei.
WMDM_STORAGE_IS_DEFAULT Dieser Speicher ist der Standardspeicher, in dem neue Medien platziert werden sollen.
WMDM_STORAGE_CONTAINS_DEFAULT Dieser Speicher enthält den Standardspeicher, in dem neue Medien platziert werden sollen.

[in] pFormat

Zeiger auf eine _WAVEFORMATEX Struktur, die Informationen zum Objekt enthält, wenn es sich bei dem Objekt um eine Audiodatei handelt.

[in] pwszName

Zeiger auf eine Breitzeichen-NULL-endende Zeichenfolge, die den Namen für den neuen Speicher enthält.

[out] ppNewStorage

Zeiger auf einen IMDSPStorage-Zeiger zum Empfangen der IMDSPStorage-Schnittstelle für den neu erstellten Speicher.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:

  • Standard-COM-Fehlercodes
  • In HRESULT-Werte konvertierte Windows-Fehlercodes
  • Windows Media Geräte-Manager Fehlercodes
Eine umfassende Liste möglicher Fehlercodes finden Sie unter Fehlercodes.

Hinweise

Wenn sowohl die Attribute WMDM_FILE_ATTR_FOLDER als auch WMDM_FILE_ATTR_FILE festgelegt sind, überschreibt das Ordnerattribute das Dateiattribute, und der neue Speicher wird als Ordner erstellt.

Nur eine der WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER und WMDM_STORAGECONTROL_INSERTINTO kann vom Client angegeben werden.

Der neue Speicher kann auf derselben Ebene erstellt oder in den aktuellen Speicher eingefügt werden, sofern der aktuelle Speicher ein Ordner ist. Dies wird durch den Wert des dwAttributes-Parameters gesteuert. Wenn WMDM_STORAGECONTROL_INSERTBEFORE oder WMDM_STORAGECONTROL_INSERTAFTER angegeben wird, wird der neue Speicher auf derselben Ebene wie der aktuelle Speicher erstellt. Wenn WMDM_STORAGECONTROL_INSERTINTO angegeben wird, wird der neue Speicher in den aktuellen Speicher eingefügt.

WMDM_STORAGECONTROL_INSERTBEFORE und WMDM_STORAGECONTROL_INSERAFTER impliziert eine Reihenfolge der Inhalte im Dateisystem. Wenn das Dateisystem keine Sortierung unterstützt (z. B. FAT32), haben beide Flags den gleichen Effekt, dass der neue Speicher auf derselben Ebene des aktuellen Speichers eingefügt wird. Wenn der aktuelle Speicher den Stamm des Speichermediums darstellt und eines dieser beiden Flags angegeben ist, schlägt der Vorgang fehl.

WMDM_STORAGECONTROL_INSERTINTO ist nur gültig, wenn der aktuelle Speicher ein Ordner ist. Wenn der aktuelle Speicher eine Datei ist und dieses Flag angegeben ist, schlägt der Vorgang fehl.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

IMDSPStorage-Schnittstelle

IMDSPStorage2::CreateStorage2

_WAVEFORMATEX