Compartilhar via


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
Para obter uma lista abrangente de possíveis códigos de erro, consulte Códigos de erro.

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

Confira também

IMDSPStorage Interface

IMDSPStorage2::CreateStorage2

_WAVEFORMATEX