estrutura KSDEVICE_DESCRIPTOR (ks.h)
A estrutura KSDEVICE_DESCRIPTOR descreve as características de um dispositivo específico.
Sintaxe
typedef struct _KSDEVICE_DESCRIPTOR {
const KSDEVICE_DISPATCH *Dispatch;
ULONG FilterDescriptorsCount;
const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
ULONG Version;
ULONG Flags;
PVOID Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
Membros
Dispatch
Um ponteiro para a tabela de expedição do cliente para este dispositivo. Esta tabela de expedição contém funções de expedição de cliente para mensagens PNP, como Adicionar, Iniciar, Parar, Remover. Os clientes não são obrigados a fornecer uma tabela de expedição, a menos que desejem receber retornos de chamada para as mensagens PNP descritas na tabela de expedição. Qualquer membro da tabela de expedição pode ser NULL para indicar que o cliente não deseja receber notificação para essa mensagem específica. Para obter mais informações, consulte KSDEVICE_DISPATCH.
FilterDescriptorsCount
Esse membro contém o número de descritores de filtro para este dispositivo que serão fornecidos no membro FilterDescriptors . Zero é um valor legal para esse membro; os clientes podem criar fábricas de filtro dinamicamente com a função KsCreateFilterFactory em vez de descrevê-las estaticamente no descritor do dispositivo.
FilterDescriptors
Um ponteiro para uma matriz de descritores de filtro que descrevem filtros que podem ser criados por esse dispositivo. Esse membro poderá ser NULL se FilterDescriptorsCount for zero. Para obter mais informações, consulte KSFILTER_DESCRIPTOR.
Version
Um valor do tipo ULONG. Esse deve ser um e apenas um dos valores na tabela a seguir ou definido como zero se estiver gravando uma pré-versão 0x100 driver.
Valor | Descrição |
---|---|
KSDEVICE_DESCRIPTOR_VERSION | Indica suporte à expedição AVStrMiniDeviceQueryInterface de KSDEVICE_DISPATCH. |
KSDEVICE_DESCRIPTOR_VERSION_2 | Indica o suporte do membro Flags do KSDEVICE_DESCRIPTOR. |
Flags
Um valor do tipo ULONG. Há apenas um sinalizador definido no momento.
Sinalizador | Descrição |
---|---|
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP | Indica que o dispositivo dá suporte à ativação remota. |
Alignment
Comentários
Na maioria das vezes, essa estrutura é usada em conjunto com KsInitializeDriver na função DriverEntry do cliente para inicializar o dispositivo. Essa estrutura também é usada para inicializar ou criar dispositivos manualmente com as funções KsInitializeDevice e KsCreateDevice .
Se você definir a Versão como KSDEVICE_DESCRIPTOR_VERSION_2 e executar o driver em uma versão inicial do AVStream que não dá suporte a Sinalizadores, todos os sinalizadores serão considerados zero.
Da mesma forma, o uso de um descritor de versão anterior em versões posteriores do AVStream faz com que nenhum sinalizador seja especificado.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ks.h (inclua Ks.h) |