Condividi tramite


Metodo IMDSPStorage::CreateStorage (mswmdm.h)

Il metodo CreateStorage crea una nuova risorsa di archiviazione e restituisce un puntatore all'interfaccia IMDSPStorage nell'archiviazione appena creata. Questo metodo è facoltativo a meno che dwAttributes non sia WMDM_FILE_ATTR_FILE. In questo caso, questo metodo deve essere implementato e non deve restituire WMDM_E_NOTSUPPORTED o E_NOTIMPL. Per altre informazioni, vedere Interfacce obbligatorie e facoltative.

Sintassi

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

Parametri

[in] dwAttributes

DWORD contenente gli attributi per la nuova risorsa di archiviazione. Nella tabella seguente sono elencati gli attributi di archiviazione disponibili.

Attributo Descrizione
WMDM_STORAGECONTROL_INSERTBEFORE Il nuovo oggetto di archiviazione verrà creato davanti all'oggetto di destinazione.
WMDM_STORAGECONTROL_INSERTAFTER Il nuovo oggetto di archiviazione verrà creato dopo l'oggetto di destinazione.
WMDM_STORAGECONTROL_INSERTINTO Il nuovo oggetto di archiviazione verrà creato nella cartella dell'oggetto di destinazione.
WMDM_STORAGECONTROL_OVERWRITE Se l'archiviazione con lo stesso nome esiste già, verrà eliminata e verrà creata una nuova risorsa di archiviazione.
WMDM_STORAGE_ATTR_FILESYSTEM Questo oggetto è il supporto di archiviazione di primo livello, ad esempio una scheda di archiviazione o un'altra risorsa di archiviazione su scheda.
WMDM_STORAGE_ATTR_REMOVABLE Questo supporto di archiviazione è rimovibile.
WMDM_STORAGE_ATTR_CANEDITMETADATA Questa risorsa di archiviazione può modificare i metadati.
WMDM_STORAGE_ATTR_FOLDERS Questo supporto di archiviazione supporta cartelle e gerarchia di file.
WMDM_FILE_ATTR_FOLDER Si tratta di una cartella nel supporto di archiviazione.
WMDM_FILE_ATTR_LINK Si tratta di un collegamento che crea un'associazione tra più file.
WMDM_FILE_ATTR_FILE Si tratta di un file nel supporto di archiviazione.
WMDM_FILE_ATTR_AUDIO Questo file è dati audio.
WMDM_FILE_ATTR_DATA Questo file non è dati audio.
WMDM_FILE_ATTR_CANPLAY Questo file audio può essere riprodotto dal dispositivo.
WMDM_FILE_ATTR_CANDELETE Questo file può essere eliminato.
WMDM_FILE_ATTR_CANMOVE Questo file o cartella può essere spostato intorno al supporto di archiviazione.
WMDM_FILE_ATTR_CANRENAME Questo file o cartella può essere rinominato.
WMDM_FILE_ATTR_CANREAD Questo file può essere letto dal computer host.
WMDM_FILE_ATTR_MUSIC Questo file audio è musica.
WMDM_FILE_ATTR_VIDEO Questo file contiene dati video.
WMDM_FILE_ATTR_HIDDEN Questo file è nascosto nel file system
WMDM_FILE_ATTR_SYSTEM Si tratta di un file di sistema
WMDM_FILE_ATTR_READONLY Si tratta di un file di sola lettura.
WMDM_STORAGE_IS_DEFAULT Questa risorsa di archiviazione è l'archiviazione predefinita in cui devono essere inseriti nuovi supporti.
WMDM_STORAGE_CONTAINS_DEFAULT Questa risorsa di archiviazione contiene l'archiviazione predefinita in cui devono essere inseriti nuovi supporti.

[in] pFormat

Puntatore a una struttura _WAVEFORMATEX che contiene informazioni sull'oggetto, se l'oggetto è un file audio.

[in] pwszName

Puntatore a una stringa con terminazione null a caratteri wide contenente il nome per la nuova risorsa di archiviazione.

[out] ppNewStorage

Puntatore a un puntatore IMDSPStorage per ricevere l'interfaccia IMDSPStorage per l'archiviazione appena creata.

Valore restituito

Il metodo restituisce un HRESULT. Tutti i metodi di interfaccia in Windows Media Gestione dispositivi possono restituire una delle classi di codici di errore seguenti:

  • Codici di errore COM standard
  • Codici di errore di Windows convertiti in valori HRESULT
  • Codici di errore di Windows Media Gestione dispositivi
Per un elenco completo dei codici di errore possibili, vedere Codici di errore.

Commenti

Se vengono impostati sia gli attributi WMDM_FILE_ATTR_FOLDER che WMDM_FILE_ATTR_FILE, l'attributo della cartella esegue l'override dell'attributo file e la nuova risorsa di archiviazione viene creata come cartella.

È possibile specificare solo uno dei WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER e WMDM_STORAGECONTROL_INSERTINTO dal client.

La nuova risorsa di archiviazione può essere creata allo stesso livello o può essere inserita nell'archiviazione corrente, purché l'archiviazione corrente sia una cartella. Questo è controllato dal valore del parametro dwAttributes . Se specifica WMDM_STORAGECONTROL_INSERTBEFORE o WMDM_STORAGECONTROL_INSERTAFTER, la nuova risorsa di archiviazione verrà creata allo stesso livello dell'archiviazione corrente. Se specifica WMDM_STORAGECONTROL_INSERTINTO, la nuova risorsa di archiviazione verrà inserita nell'archiviazione corrente.

WMDM_STORAGECONTROL_INSERTBEFORE e WMDM_STORAGECONTROL_INSERAFTER implicano un ordinamento del contenuto nel file system. Se il file system non supporta l'ordinamento (ad esempio, FAT32) entrambi i flag hanno l'effetto identico di inserire la nuova risorsa di archiviazione allo stesso livello dell'archiviazione corrente. Se l'archiviazione corrente rappresenta la radice del supporto di archiviazione e viene specificato uno di questi due flag, l'operazione ha esito negativo.

WMDM_STORAGECONTROL_INSERTINTO è valido solo se l'archiviazione corrente è una cartella. Se l'archiviazione corrente è un file e questo flag viene specificato, l'operazione ha esito negativo.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione mswmdm.h
Libreria Mssachlp.lib

Vedi anche

Interfaccia IMDSPStorage

IMDSPStorage2::CreateStorage2

_WAVEFORMATEX