IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)
Um driver de subunidade AV/C usa o IRP IRP_MJ_INTERNAL_DEVICE_CONTROL, com o membro IoControlCode definido como IOCTL_AVCSTRM_CLASS, para se comunicar com avcstrm.sys. O driver tem acesso a todas as operações fornecidas pelo driver de filtro de Streaming AV/C (avcstrm.sys) por meio dessa solicitação.
Para obter mais informações sobre IRPs e IOCTLs, consulte Manipulação de IRPs.
Código principal
Buffer de entrada
Na entrada, Irp->Parameters->Others.Arguments1 aponta para uma estrutura AVC_STREAM_REQUEST_BLOCK. A função membro do AVC_STREAM_REQUEST_BLOCK especifica o tipo de solicitação. Não defina esse membro diretamente. Use a macro INIT_AVCSTRM_HEADER para inicializar esse membro (bem como membros adicionais da estrutura AVC_STREAM_REQUEST_BLOCK). O commandData membro do AVC_STREAM_REQUEST_BLOCK é uma união que especifica os parâmetros específicos do tipo de solicitação da solicitação. Os parâmetros e seu significado são documentados com cada solicitação (código de função). A enumeração AVCSTRM_FUNCTION fornece uma lista de códigos de função compatíveis com avcstrm.sys.
Comprimento do buffer de entrada
Comprimento de uma estrutura AVC_STREAM_REQUEST_BLOCK.
Buffer de saída
Na saída, Irp->Parameters->Others.Arguments1 aponta para a estrutura de AVC_STREAM_REQUEST_BLOCK passada como entrada. Como parte da conclusão da solicitação, o motorista do ônibus preenche determinados membros do CommandData união da estrutura AVC_STREAM_REQUEST_BLOCK com informações para o motorista.
Comprimento do buffer de saída
Comprimento de uma estrutura AVC_STREAM_REQUEST_BLOCK.
Bloco de status
As informações que o driver de Streaming AV/C retorna no Bloco de Status de E/S são documentadas com cada solicitação.
Observações
Deve ser chamado em IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | avcstrm.h (inclua Avcstrm.h) |