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 |