Compartilhar via


Método IWMDMStorageControl::Read (mswmdm.h)

O método Read copia o armazenamento atual para o computador.

Sintaxe

HRESULT Read(
  [in] UINT           fuMode,
  [in] LPWSTR         pwszFile,
  [in] IWMDMProgress  *pProgress,
  [in] IWMDMOperation *pOperation
);

Parâmetros

[in] fuMode

Modo de processamento usado para a operação de leitura. A tabela a seguir lista os modos de processamento que podem ser especificados no parâmetro fuMode . Você deve especificar exatamente um dos dois primeiros modos e exatamente um dos três últimos modos (WMDM_CONTENT). Se WMDM_MODE_BLOCK e WMDM_MODE_THREAD forem especificados, o modo de bloco será usado.

Mode Descrição
WMDM_MODE_BLOCK A operação é executada usando o processamento do modo de bloco. A chamada não retornará até que a operação seja concluída.
WMDM_MODE_THREAD A operação é executada usando o processamento do modo thread. A chamada retornará imediatamente e a operação será executada em um thread em segundo plano.
WMDM_CONTENT_FILE O chamador solicita que o Windows Media Gerenciador de Dispositivos leia o arquivo do dispositivo portátil em um arquivo no disco rígido. O chamador deve indicar, no parâmetro pwszFileName , o caminho completo e o nome do arquivo.
WMDM_CONTENT_FOLDER O chamador solicita que o Windows Media Gerenciador de Dispositivos leia a pasta especificada, o conteúdo da pasta e o conteúdo de qualquer subpasta do dispositivo portátil no disco rígido. O chamador deve indicar o caminho completo do diretório de destino no disco rígido no parâmetro pwszFileName . No momento, isso não é compatível com nenhum provedor de serviços fornecido pela Microsoft.
WMDM_CONTENT_OPERATIONINTERFACE A interface IWMDMOperation implementada pelo aplicativo está sendo usada para ler dados, em vez de passar um nome de arquivo.

[in] pwszFile

Ponteiro para um nome de arquivo totalmente qualificado no computador para o qual o conteúdo do dispositivo portátil é copiado. O nome do arquivo deve incluir uma extensão; a extensão do armazenamento atual no dispositivo não será usada. Se WMDM_CONTENT_OPERATIONINTERFACE for especificado em fuMode, esse parâmetro será ignorado.

[in] pProgress

Ponteiro opcional para uma interface IWMDMProgress que foi implementada pelo aplicativo para acompanhar o progresso das operações em andamento.

[in] pOperation

Ponteiro opcional para uma interface IWMDMOperation , um conjunto opcional de métodos usados para aprimorar a transferência de conteúdo de um dispositivo de mídia. Esse parâmetro deverá ser NULL se WMDM_CONTENT_FILE ou WMDM_CONTENT_FOLDER for especificado em fuMode.

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 de Gerenciador de Dispositivos do Windows Media
Para obter uma ampla lista de possíveis códigos de erro, consulte Códigos de erro.

Comentários

Esse método substituirá automaticamente os arquivos existentes especificados por pwszFilename. Ele pode ter êxito mesmo se

Se o sinalizador WMDM_MODE_THREAD for especificado, você deverá obter status de conclusão chamando IWMDMProgress2::End2 ou IWMDMProgress3::End3. Esses métodos garantirão que a operação seja concluída e também retornarão um HRESULT com informações de êxito ou falha.

Se um aplicativo usa WMDM_MODE_THREAD e passa um parâmetro pProgress não nulo, o aplicativo deve garantir que o objeto ao qual o pProgress pertence não seja destruído até que a operação de leitura seja concluída, pois o Windows Media Gerenciador de Dispositivos enviará notificações de progresso para esse objeto. Esse objeto só pode ser destruído depois de receber uma notificação End. A falha ao fazer isso resultará em violações de acesso.

Requisitos

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

Confira também

IWMDMDevice::GetStatus

IWMDMOperation Interface

IWMDMProgress Interface

IWMDMStorageControl Interface

IWMDMStorageControl::Insert