Compartilhar via


Método ICaptureGraphBuilder2::AllocCapFile (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 in 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 AllocCapFile método pré-aloca um arquivo de captura para um tamanho especificado. Para obter melhores resultados, sempre capture para um arquivo de captura desfragmentado e pré-alocado que seja maior que o tamanho dos dados de captura.

Sintaxe

HRESULT AllocCapFile(
  [in] LPCOLESTR lpstr,
  [in] DWORDLONG dwlSize
);

Parâmetros

[in] lpstr

Ponteiro para uma cadeia de caracteres largos que contém o nome do arquivo a ser criado ou redimensionado.

[in] dwlSize

Tamanho do arquivo a ser alocado, em bytes.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Esse método falhará se o arquivo for somente leitura.

É melhor alocar o máximo de espaço possível— idealmente, mais do que o necessário. No entanto, isso pode resultar em um arquivo muito grande que contém relativamente poucos dados. Por exemplo, um arquivo de captura de 1 gigabyte (GB) pode conter alguns megabytes de vídeo capturado. Use o método ICaptureGraphBuilder2::CopyCaptureFile para copiar os dados para um novo arquivo. Esse método copia apenas os dados e ignora a parte vazia do arquivo original.

Se você usar esse método para pré-alocar o arquivo, chame IFileSinkFilter2::SetMode no filtro de gravador de arquivo com o valor zero. Se o filtro estiver definido como AM_FILE_OVERWRITE, ele excluirá o arquivo pré-alocado. Observe que alguns filtros de gravador de arquivos não dão suporte ao modo 0.

Requisitos

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

Confira também

Códigos de erro e êxito

ICaptureGraphBuilder2 Interface