Compartilhar via


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)

Confira também

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver