Compartilhar via


Método IMDSPStorage2::CreateStorage2 (mswmdm.h)

O método CreateStorage2 cria um novo armazenamento com o nome especificado e retorna um ponteiro para a interface IMDSPStorage no armazenamento recém-criado.

Sintaxe

HRESULT CreateStorage2(
  [in]  DWORD            dwAttributes,
  [in]  DWORD            dwAttributesEx,
  [in]  _WAVEFORMATEX    *pAudioFormat,
  [in]  _VIDEOINFOHEADER *pVideoFormat,
  [in]  LPWSTR           pwszName,
  [in]  ULONGLONG        qwFileSize,
  [out] IMDSPStorage     **ppNewStorage
);

Parâmetros

[in] dwAttributes

DWORD que contém os atributos conforme descrito no método IMDSPStorage::CreateStorage .

[in] dwAttributesEx

DWORD que contém os atributos estendidos. Atualmente, não há atributos estendidos definidos.

[in] pAudioFormat

Ponteiro para uma estrutura _WAVEFORMATEX que contém informações de formato de áudio sobre o objeto. Esse parâmetro é opcional e será ignorado se o arquivo não for áudio.

[in] pVideoFormat

Ponteiro para uma estrutura _VIDEOINFOHEADER que contém informações de formato de vídeo sobre o objeto. Esse parâmetro é opcional e será ignorado se o arquivo não for vídeo.

[in] pwszName

Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome do novo armazenamento.

[in] qwFileSize

QWORD que contém o tamanho do arquivo a ser criado. Se o tamanho total do arquivo de saída não for conhecido no momento da criação, esse valor será definido como zero.

[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á.

Esse método deve ser implementado. Ele não deve retornar WMDM_E_NOTSUPPORTED ou E_NOTIMPL. Para obter mais informações, consulte Interfaces obrigatórias e opcionais.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

IMDSPStorage2 Interface

IMDSPStorage::CreateStorage