PFNUSBCAMD_SetIsoPipeState função de retorno de chamada (usbcamdi.h)
O serviço USBCAMD_SetIsoPipeState permite que o minidriver da câmera controle o estado de streaming no pipe isócrono.
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 isócrono. Esse argumento deve ser definido como um dos seguintes valores:
Sinalizador | Significado |
---|---|
USBCAMD_STOP_STREAM | Esses sinalizadores indicam para interromper o streaming. |
USBCAMD_START_STREAM | Esses sinalizadores indicam para iniciar o streaming. |
Retornar valor
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 do pipe solicitado é o mesmo que o estado atual do pipe. |
STATUS_PENDING | A alteração do estado do pipe é adiada. |
STATUS_INSUFFICIENT_RESOURCES | Não há recursos suficientes para alocar um item de trabalho para alterar o estado do pipe. |
Comentários
Observe que o estado de streaming no pipe isócrono funciona de forma diferente do estado de streaming na classe de fluxo e no Microsoft DirectShow. É possível impedir que o pipe isócrono 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 isócrono. A chamada ainda é atendida e, em seguida, o fluxo isócrono deve ser reiniciado, enquanto a classe de fluxo geral/grafo DirectShow ainda está em um estado De execução .
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 isócrono 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 |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | usbcamdi.h (inclua Usbcamdi.h) |