PFNUSBCAMD_SetIsoPipeState função de retorno de chamada (usbcamdi.h)
O serviço USBCAMD_SetIsoPipeState permite que o minidriver de câmera controle o estado de streaming no pipe isocrono.
Sintaxe
PFNUSBCAMD_SetIsoPipeState PfnusbcamdSetisopipestate;
NTSTATUS PfnusbcamdSetisopipestate(
[in] PVOID DeviceContext,
[in] ULONG PipeStateFlags
)
{...}
Parâmetros
[in] DeviceContext
Ponteiro para o contexto específico do dispositivo.
[in] PipeStateFlags
Especifica o estado do pipe isocrono. Esse argumento deve ser definido como um dos seguintes valores:
Bandeira | Significado |
---|---|
USBCAMD_STOP_STREAM | Esses sinalizadores indicam para interromper o streaming. |
USBCAMD_START_STREAM | Esses sinalizadores indicam para iniciar o streaming. |
Valor de retorno
USBCAMD_SetIsoPipeState retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Outros códigos de erro possíveis incluem:
Código de retorno | Descrição |
---|---|
STATUS_INVALID_PARAMETER | O estado de pipe solicitado é o mesmo que o estado atual do pipe. |
STATUS_PENDING | A alteração do estado do pipe foi adiada. |
STATUS_INSUFFICIENT_RESOURCES | Não há recursos suficientes para alocar um item de trabalho para alterar o estado do pipe. |
Observações
Observe que o estado de streaming no pipe isocrono funciona de forma diferente do estado de streaming na classe de fluxo e no Microsoft DirectShow. É possível impedir que o pipe isocrono seja transmitido por um curto período enquanto o grafo geral de captura de vídeo ainda está em um estado De execução.
Essa função é usada para habilitar câmeras de modo duplo. Em uma câmera de modo duplo, se houver uma solicitação para obter dados ainda enquanto o streaming estiver em andamento, o fluxo deverá ser interrompido no pipe isocrono. A chamada ainda é atendida e, em seguida, o fluxo isocrono deve ser reiniciado, enquanto a classe de fluxo geral/grafo DirectShow ainda está em um estado Executar.
O uso dessa função não permite que você altere a configuração alternativa dentro da interface de streaming de vídeo USB ou da largura de banda do canal. O fluxo isocrono deve ser fechado antes que a configuração alternativa seja alterada.
USBCAMD_SetIsoPipeState não está disponível no USBCAMD versão 1.0.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | usbcamdi.h (inclua Usbcamdi.h) |