Metodo IMDSPStorage4::CreateStorageWithMetadata (mswmdm.h)
Il metodo CreateStorageWithMetadata crea una nuova risorsa di archiviazione, applicando i metadati specificati alla nuova risorsa di archiviazione e restituisce un puntatore all'interfaccia IMDSPStorage nell'archiviazione appena creata. La nuova risorsa di archiviazione può essere creata allo stesso livello o può essere inserita nell'archiviazione corrente.
Questo metodo è utile se il dispositivo necessita di metadati in fase di creazione. A seconda del dispositivo, può anche essere più efficiente applicare i metadati in fase di creazione anziché creare l'archiviazione e quindi impostare i metadati.
Sintassi
HRESULT CreateStorageWithMetadata(
[in] DWORD dwAttributes,
[in] LPCWSTR pwszName,
[in] IWMDMMetaData *pMetadata,
[in] ULONGLONG qwFileSize,
[out] IMDSPStorage **ppNewStorage
);
Parametri
[in] dwAttributes
DWORD contenente 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 altro spazio di archiviazione di onboarding. |
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 nel 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_PLAYLIST | Si tratta di un oggetto playlist. |
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] pwszName
Puntatore a una stringa con terminazione null con carattere wide contenente un nome per la nuova risorsa di archiviazione.
[in] pMetadata
Puntatore a un'interfaccia IWMDMMetaData .
[in] qwFileSize
Qword contenente le dimensioni del file.
[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
Questo metodo è utile se i metadati devono essere applicati all'archiviazione in fase di creazione. Al contrario, i metodi IMDSPStorage2::CreateStorage2 e IMDSPStorage::CreateStorage non offrono un modo per fornire metadati in fase di creazione.
Se il provider di servizi per un dispositivo che può essere sincronizzato con Lettore multimediale Windows supporta questa interfaccia, Windows Media Gestione dispositivi chiama questo metodo durante le operazioni Insert/2/3.
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, il file system FAT32), entrambi i flag hanno l'effetto identico di inserire la nuova archiviazione a livello di 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
Abilitazione della sincronizzazione con Lettore multimediale Windows