Compartilhar via


Método IAMExtDevice::GetCapability (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O método GetCapability recupera os recursos do dispositivo externo.

Sintaxe

HRESULT GetCapability(
  [in]  long   Capability,
  [out] long   *pValue,
  [out] double *pdblValue
);

Parâmetros

[in] Capability

Especifica o recurso a ser verificado. Consulte Comentários para obter mais informações.

[out] pValue

Ponteiro para uma variável que recebe um inteiro longo . Consulte Comentários para obter mais informações.

[out] pdblValue

Ponteiro para uma variável que recebe um duplo . Consulte Comentários para obter mais informações.

Valor de retorno

Quando esse método é bem-sucedido, ele retorna S_OK. Caso contrário, retornará um código de erro HRESULT.

Observações

O parâmetro Capability é um sinalizador que especifica qual capacidade verificar. O método retorna o resultado no parâmetro pValue ou no parâmetro pdblValue, dependendo do sinalizador de funcionalidade.

Para os sinalizadores a seguir, o método retorna o valor OATRUE ou OAFALSE no parâmetro pValue. O valor OATRUE indica que a funcionalidade está presente, enquanto o valor OAFALSE indica que ele está ausente.

Sinalizador de funcionalidade Descrição
ED_DEVCAP_AUDIO_INPUTS O dispositivo aceita entrada de áudio.
ED_DEVCAP_CAN_MONITOR_SOURCES O dispositivo pode enviar qualquer entrada para a saída monitorada, independentemente da entrada que está selecionada no momento.
ED_DEVCAP_CAN_PREVIEW O dispositivo pode ser visualizado.
ED_DEVCAP_CAN_RECORD O dispositivo pode gravar.
ED_DEVCAP_CAN_RECORD_STROBE O dispositivo pode gravar estroboscópico. Essa funcionalidade se aplica a dispositivos multitrack que podem ser registrados em faixas selecionadas.
ED_DEVCAP_CAN_SAVE O dispositivo pode salvar dados.
ED_DEVCAP_CTLTRK_READ O dispositivo pode ler faixas de controle.
ED_DEVCAP_HAS_AUDIO O dispositivo tem áudio.
ED_DEVCAP_HAS_VIDEO O dispositivo tem vídeo.
ED_DEVCAP_INDEX_READ O dispositivo pode ler marcas de índice.
ED_DEVCAP_NEEDS_CALIBRATING O dispositivo precisa ser calibrado. Consulte IAMExtDevice::Calibrar.
ED_DEVCAP_TIMECODE_READ O dispositivo pode ler o código de hora SMPTE.
ED_DEVCAP_TIMECODE_WRITE O dispositivo pode definir o código de hora SMPTE.
ED_DEVCAP_USES_FILES O dispositivo tem um sistema de arquivos interno.
ED_DEVCAP_VIDEO_INPUTS O dispositivo aceita entrada de vídeo.
 

Para os sinalizadores a seguir, o método retorna uma constante definida no parâmetro pValue.

ED_DEVCAP_DEVICE_TYPE: retorna o tipo de dispositivo.

Constante retornada Descrição
ED_DEVTYPE_ATR Gravador de fita de áudio
ED_DEVTYPE_CG Gerador de caracteres
ED_DEVTYPE_DDR Gravador de disco digital
ED_DEVTYPE_DVE Unidade de efeitos de vídeo digital
ED_DEVTYPE_GPI Gatilho de interface de uso geral
ED_DEVTYPE_KEYER Chave-chave de vídeo
ED_DEVTYPE_LASERDISK Laserdisc
ED_DEVTYPE_MIXER_AUDIO Mixer de áudio
ED_DEVTYPE_MIXER_VIDEO Mixer de vídeo
ED_DEVTYPE_ROUTER Roteador de vídeo
ED_DEVTYPE_TBC Correção de base de tempo
ED_DEVTYPE_TCG Gerador/leitor de código de hora
ED_DEVTYPE_VCR VCR ou filmador com recursos de VCR completos
ED_DEVTYPE_WIPEGEN Gerador de apagamento de vídeo
ED_DEVTYPE_JOYSTICK Manche
ED_DEVTYPE_KEYBOARD Teclado
 

ED_DEVCAP_SYNC_ACCURACY: retorna uma indicação da precisão de sincronização do dispositivo.

Constante retornada Descrição
ED_SYNCACC_PRECISE O dispositivo tem precisão precisa.
ED_SYNCACC_FRAME O dispositivo é preciso no quadro.
ED_SYNCACC_ROUGH O dispositivo é menor que o quadro preciso.
 

ED_DEVCAP_NORMAL_RATE: retorna a taxa de quadros normal do dispositivo.

Constante retornada Descrição
ED_RATE_24 24 quadros por segundo (fps)
ED_RATE_25 25 fps
ED_RATE_2997 29,97 fps
ED_RATE_30 30 fps
 

ED_DEVCAP_SEEK_TYPE: retorna uma indicação da precisão de busca do dispositivo.

Constante retornada Descrição
ED_SEEK_PERFECT O dispositivo pode procurar dentro de um quadro de vídeo sem uma quebra de sinal.
ED_SEEK_FAST O dispositivo pode procurar rapidamente, com uma breve quebra no sinal.
ED_SEEK_SLOW O dispositivo busca lentamente; como transporte de fita.
 

Para os sinalizadores a seguir, o método retorna um valor numérico no parâmetro pValue.

Sinalizador de funcionalidade Valor retornado
ED_DEVCAP_EXTERNAL_DEVICE_ID Identificador específico do fabricante.
ED_DEVCAP_PREROLL Hora de pré-registro do dispositivo.
ED_DEVCAP_POSTROLL Hora de postagem do dispositivo.
 

No Windows XP Service Pack 2 e posterior, há suporte para os sinalizadores adicionais a seguir para ED_DEVCAP_DEVICE_TYPE.

Constante retornada Descrição
ED_DEVTYPE_CAMERA_STORAGE Armazenamento para imagens mortas ou arquivos de vídeo curtos.
ED_DEVTYPE_DTV Televisão digital com interface de barramento serial.
ED_DEVTYPE_PC_VIRTUAL Dispositivo virtual ou emulado em um computador.
 

Para usar essas constantes, inclua o arquivo de cabeçalho Xprtdefs.h.

Implementação de DV

Os drivers MSDV e UVC dão suporte aos comportamentos a seguir.

O sinalizador ED_DEVCAP_NORMAL_RATE retorna a taxa de quadros.

Constante retornada Descrição
ED_RATE_25 25 fps (taxa de quadros PAL padrão)
ED_RATE_2997 29,997 fps (taxa de quadros padrão NTSC)
 

Somente para MSDV, o sinalizador ED_DEVCAP_DEVICE_TYPE retorna o tipo de dispositivo. Os valores possíveis são mostrados na tabela a seguir. Para dispositivos UVC, use a interface IKsTopologyInfo.

Constante retornada Descrição
ED_DEVTYPE_CAMERA Câmera simples que pode gravar ou pausar o registro, mas não tem recursos completos de VCR.
ED_DEVTYPE_DVHS O dispositivo dá suporte ao formato D-VHS.
ED_DEVTYPE_UNKNOWN Tipo de dispositivo desconhecido.
ED_DEVTYPE_VCR O dispositivo tem recursos de VCR completos.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho strmif.h (inclua Dshow.h)
biblioteca Strmiids.lib

Consulte também

códigos de erro e êxito

interface IAMExtDevice