Condividi tramite


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
Per un elenco completo dei codici di errore possibili, vedere Codici di errore.

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

IMDSPStorage2::CreateStorage2

Interfaccia IMDSPStorage4

IMDSPStorage::CreateStorage