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
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 |