Método IQueryCancelAutoPlay::AllowAutoPlay (shobjidl.h)

Determina se a mídia deve ser reproduzida inserida por um usuário e, em caso afirmativo, usando quais restrições.

Sintaxe

HRESULT AllowAutoPlay(
  [in] LPCWSTR pszPath,
  [in] DWORD   dwContentType,
  [in] LPCWSTR pszLabel,
  [in] DWORD   dwSerialNumber
);

Parâmetros

[in] pszPath

Tipo: LPCWSTR

A letra da unidade no formato D:\

[in] dwContentType

Tipo: DWORD

O tipo de conteúdo conforme especificado pelos sinalizadores a seguir.

ARCONTENT_AUTORUNINF (0x00000002)

Use o arquivo Autorun.inf. Esse é o comportamento tradicional de AutoRun.

ARCONTENT_AUDIOCD (0x00000004)

Executar CDs de áudio automaticamente.

ARCONTENT_DVDMOVIE (0x00000008)

Executar DVDs automaticamente.

ARCONTENT_BLANKCD (0x00000010)

Reprodução automática CD-Rs em branco e CD-RWs.

ARCONTENT_BLANKDVD (0x00000020)

Reprodução automática em branco DVD-Rs e DVD-RAMs.

ARCONTENT_UNKNOWNCONTENT (0x00000040)

Executar automaticamente se a mídia estiver formatada e o conteúdo não se enquadrar em um tipo coberto por um dos outros sinalizadores.

ARCONTENT_AUTOPLAYPIX (0x00000080)

Reprodução automática se o conteúdo consistir em tipos de arquivo definidos como imagens, como arquivos .bmp e .jpg.

ARCONTENT_AUTOPLAYMUSIC (0x00000100)

Reprodução automática se o conteúdo consistir em tipos de arquivo definidos como música, como arquivos MP3.

ARCONTENT_AUTOPLAYVIDEO (0x00000200)

Reprodução automática se o conteúdo consistir em tipos de arquivo definidos como arquivos de vídeo.

ARCONTENT_VCD (0x00000400)

Introduzido no Windows Vista. Reprodução automática de CDs de vídeo (VCDs).

ARCONTENT_SVCD (0x00000800)

Introduzido no Windows Vista. Mídia do SVCD (Super Video CD) de Reprodução Automática.

ARCONTENT_DVDAUDIO (0x00001000)

Introduzido no Windows Vista. Mídia de DVD-Audio de Reprodução Automática.

ARCONTENT_BLANKBD (0x00002000)

Reprodução automática de mídia de DVD de alta definição gravável em branco no formato disco Blu-ray™ (BD-R ou BD-RW). Observação: antes do Windows 7, esse valor foi definido para especificar mídia não gravável no formato HD DVD.

ARCONTENT_BLURAY (0x00004000)

Introduzido no Windows Vista. Reprodução automática de mídia de DVD de alta definição no formato Disco™ Blu-ray.

ARCONTENT_CAMERASTORAGE (0x00008000)

Introduzido no Windows 8.

ARCONTENT_CUSTOMEVENT (0x00010000)

Introduzido no Windows 8.

ARCONTENT_NONE (0x00000000)

Introduzido no Windows Vista. Reprodução automática de mídia vazia, mas formatada.

ARCONTENT_MASK (0x0001FFFE)

Introduzido no Windows Vista. Uma máscara que indica valores de sinalizador ARCONTENT válidos para tipos de mídia. Essa máscara não inclui valores ARCONTENT_PHASE.

ARCONTENT_PHASE_UNKNOWN (0x00000000)

Introduzido no Windows Vista. A Reprodução Automática está pesquisando a mídia. A fase da pesquisa (presniff, sniffing ou final) é desconhecida.

ARCONTENT_PHASE_PRESNIFF (0x10000000)

Introduzido no Windows Vista. O conteúdo da mídia é conhecido antes da mídia ser pesquisada, devido ao tipo de mídia; por exemplo, CDs de áudio e filmes de DVD.

ARCONTENT_PHASE_SNIFFING (0x20000000)

Introduzido no Windows Vista. No momento, a Reprodução Automática está pesquisando a mídia. Todos os resultados relatados durante essa fase devem ser considerados uma lista parcial, pois mais tipos de conteúdo ainda podem ser encontrados.

ARCONTENT_PHASE_FINAL (0x40000000)

Introduzido no Windows Vista. A Reprodução Automática terminou de pesquisar a mídia. Os resultados relatados são finais.

ARCONTENT_PHASE_MASK (0x70000000)

Introduzido no Windows Vista. Uma máscara que indica valores de ARCONTENT_PHASE válidos.

[in] pszLabel

Tipo: LPCWSTR

O rótulo de mídia.

[in] dwSerialNumber

Tipo: DWORD

O número de série de mídia.

Valor retornado

Tipo: HRESULT

Retorna S_OK para permitir a Execução Automática ou S_FALSE cancelar a Execução Automática.

Comentários

Os aplicativos registram uma instância da interface IQueryCancelAutoPlay na ROT (tabela de objetos em execução). Antes que o Shell inicie AutoRun ou AutoPlay, quando o usuário insere novas mídias, ele verifica a ROT de um componente que implementa IQueryCancelAutoPlay. Se encontrar um, o Shell chamará o método IQueryCancelAutoPlay::AllowAutoPlay da implementação para determinar se ele deve continuar e usando quais restrições.

Após a apresentação da mídia, o Shell pesquisa na ROT um componente que implementa IQueryCancelAutoPlay. Se for encontrado, o CLSID (identificador de classe) do moniker desse componente será extraído. A presença de um registro rot informa ao Shell que o componente pode querer cancelar a Execução Automática ou a Reprodução Automática. Para confirmação, o Shell também deve encontrar uma chave do Registro para esse mesmo CLSID no seguinte local:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            Current Version
               Explorer
                  AutoplayHandlers
                     CancelAutoplay
                        CLSID
                           The component's CLSID
Esse valor é adicionado pelo aplicativo ou hardware, geralmente no momento da instalação. Não é atribuído um valor de dados.
Nota O CLSID inserido como um valor sob essa chave não deve ser envolto em colchetes encaracolados.
 

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl.h
DLL Shell32.dll