Método IMDSPStorage4::CreateStorageWithMetadata (mswmdm.h)
O método CreateStorageWithMetadata cria um novo armazenamento, aplicando os metadados fornecidos ao novo armazenamento e retorna um ponteiro para a interface IMDSPStorage no armazenamento recém-criado. O novo armazenamento pode ser criado no mesmo nível ou pode ser inserido no armazenamento atual.
Esse método será útil se o dispositivo precisar de metadados no momento da criação. Dependendo do dispositivo, também pode ser mais eficiente aplicar metadados no momento da criação em vez de criar o armazenamento e, em seguida, definir metadados.
Sintaxe
HRESULT CreateStorageWithMetadata(
[in] DWORD dwAttributes,
[in] LPCWSTR pwszName,
[in] IWMDMMetaData *pMetadata,
[in] ULONGLONG qwFileSize,
[out] IMDSPStorage **ppNewStorage
);
Parâmetros
[in] dwAttributes
DWORD que contém atributos para o novo armazenamento. A tabela a seguir lista os atributos de armazenamento disponíveis.
Atributo | Descrição |
---|---|
WMDM_STORAGECONTROL_INSERTBEFORE | O novo objeto de armazenamento será criado na frente do objeto de destino. |
WMDM_STORAGECONTROL_INSERTAFTER | O novo objeto de armazenamento será criado após o objeto de destino. |
WMDM_STORAGECONTROL_INSERTINTO | O novo objeto de armazenamento será criado na pasta do objeto de destino. |
WMDM_STORAGECONTROL_OVERWRITE | Se o armazenamento com o mesmo nome já existir, ele será destruído e um novo armazenamento será criado. |
WMDM_STORAGE_ATTR_FILESYSTEM | Esse objeto é a mídia de armazenamento de nível superior (por exemplo, um cartão de armazenamento ou algum outro armazenamento integrado.) |
WMDM_STORAGE_ATTR_REMOVABLE | Essa mídia de armazenamento é removível. |
WMDM_STORAGE_ATTR_CANEDITMETADATA | Esse armazenamento pode editar metadados. |
WMDM_STORAGE_ATTR_FOLDERS | Esse meio de armazenamento dá suporte a pastas e hierarquia de arquivos. |
WMDM_FILE_ATTR_FOLDER | Essa é uma pasta no meio de armazenamento. |
WMDM_FILE_ATTR_LINK | Esse é um link que cria uma associação entre vários arquivos. |
WMDM_FILE_ATTR_FILE | Esse é um arquivo no meio de armazenamento. |
WMDM_FILE_ATTR_AUDIO | Esse arquivo são dados de áudio. |
WMDM_FILE_ATTR_DATA | Esse arquivo não é de áudio. |
WMDM_FILE_ATTR_CANPLAY | Esse arquivo de áudio pode ser reproduzido pelo dispositivo. |
WMDM_FILE_ATTR_CANDELETE | Esse arquivo pode ser excluído. |
WMDM_FILE_ATTR_CANMOVE | Esse arquivo ou pasta pode ser movido no meio de armazenamento. |
WMDM_FILE_ATTR_CANRENAME | Esse arquivo ou pasta pode ser renomeado. |
WMDM_FILE_ATTR_CANREAD | Esse arquivo pode ser lido pelo computador host. |
WMDM_FILE_ATTR_MUSIC | Este arquivo de áudio é música. |
WMDM_FILE_ATTR_PLAYLIST | Este é um objeto de playlist. |
WMDM_FILE_ATTR_VIDEO | Esse arquivo contém dados de vídeo. |
WMDM_FILE_ATTR_HIDDEN | Esse arquivo está oculto no sistema de arquivos. |
WMDM_FILE_ATTR_SYSTEM | Este é um arquivo do sistema. |
WMDM_FILE_ATTR_READONLY | Este é um arquivo somente leitura. |
WMDM_STORAGE_IS_DEFAULT | Esse armazenamento é o armazenamento padrão em que a nova mídia deve ser colocada. |
WMDM_STORAGE_CONTAINS_DEFAULT | Esse armazenamento contém o armazenamento padrão em que a nova mídia deve ser colocada. |
[in] pwszName
Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém um nome para o novo armazenamento.
[in] pMetadata
Ponteiro para uma interface IWMDMetaData .
[in] qwFileSize
Qword que contém o tamanho do arquivo.
[out] ppNewStorage
Ponteiro para um ponteiro IMDSPStorage para receber a interface IMDSPStorage para o armazenamento recém-criado.
Retornar valor
O método retorna um HRESULT. Todos os métodos de interface no Windows Media Gerenciador de Dispositivos podem retornar qualquer uma das seguintes classes de códigos de erro:
- Códigos de erro COM padrão
- Códigos de erro do Windows convertidos em valores HRESULT
- Códigos de erro do Windows Media Gerenciador de Dispositivos
Comentários
Esse método será útil se os metadados precisarem ser aplicados ao armazenamento no momento da criação. Por outro lado, os métodos IMDSPStorage2::CreateStorage2 e IMDSPStorage::CreateStorage não fornecem uma maneira de fornecer metadados no momento da criação.
Se o provedor de serviços para um dispositivo que pode sincronizar com Reprodutor Multimídia do Windows der suporte a essa interface, o Windows Media Gerenciador de Dispositivos chamará esse método durante as operações Inserir/2/3.
Se os atributos WMDM_FILE_ATTR_FOLDER e WMDM_FILE_ATTR_FILE forem definidos, o atributo folder substituirá o atributo de arquivo e o novo armazenamento será criado como uma pasta.
Apenas um dos WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER e WMDM_STORAGECONTROL_INSERTINTO pode ser especificado pelo cliente.
O novo armazenamento pode ser criado no mesmo nível ou pode ser inserido no armazenamento atual, desde que o armazenamento atual seja uma pasta. Isso é controlado pelo valor do parâmetro dwAttributes . Se especificar WMDM_STORAGECONTROL_INSERTBEFORE ou WMDM_STORAGECONTROL_INSERTAFTER, o novo armazenamento será criado no mesmo nível do armazenamento atual. Se especificar WMDM_STORAGECONTROL_INSERTINTO, o novo armazenamento será inserido no armazenamento atual.
WMDM_STORAGECONTROL_INSERTBEFORE e WMDM_STORAGECONTROL_INSERAFTER implicam uma ordenação de conteúdo no sistema de arquivos. Se o sistema de arquivos não der suporte à ordenação (por exemplo, o sistema de arquivos FAT32), ambos os sinalizadores terão o efeito idêntico de inserir o novo armazenamento no nível do armazenamento atual. Se o armazenamento atual representar a raiz da mídia de armazenamento e um desses dois sinalizadores for especificado, a operação falhará.
WMDM_STORAGECONTROL_INSERTINTO será válido somente se o armazenamento atual for uma pasta. Se o armazenamento atual for um arquivo e esse sinalizador for especificado, a operação falhará.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | mswmdm.h |
Biblioteca | Mssachlp.lib |
Confira também
Habilitando a sincronização com Reprodutor Multimídia do Windows