Método IMDSPStorage::CreateStorage (mswmdm.h)
O método CreateStorage cria um novo armazenamento e retorna um ponteiro para a interface IMDSPStorage no armazenamento recém-criado. Esse método é opcional, a menos que dwAttributes seja WMDM_FILE_ATTR_FILE. Nesse caso, esse método deve ser implementado e não deve retornar WMDM_E_NOTSUPPORTED ou E_NOTIMPL. Para obter mais informações, consulte Interfaces obrigatórias e opcionais.
Sintaxe
HRESULT CreateStorage(
[in] DWORD dwAttributes,
[in] _WAVEFORMATEX *pFormat,
[in] LPWSTR pwszName,
[out] IMDSPStorage **ppNewStorage
);
Parâmetros
[in] dwAttributes
DWORD que contém os 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 a bordo.) |
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_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] pFormat
Ponteiro para uma estrutura _WAVEFORMATEX que contém informações sobre o objeto, se o objeto for um arquivo de áudio.
[in] pwszName
Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome do novo armazenamento.
[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
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, FAT32), ambos os sinalizadores terão o efeito idêntico de inserir o novo armazenamento no mesmo 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 |