Partilhar via


Estrutura KSDEVICE (ks.h)

A estrutura KSDEVICE descreve um dispositivo funcional do WDM gerenciado pelo AVStream.

Sintaxe

typedef struct _KSDEVICE {
  const KSDEVICE_DESCRIPTOR *Descriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
  PDEVICE_OBJECT            FunctionalDeviceObject;
  PDEVICE_OBJECT            PhysicalDeviceObject;
  PDEVICE_OBJECT            NextDeviceObject;
  BOOLEAN                   Started;
  SYSTEM_POWER_STATE        SystemPowerState;
  DEVICE_POWER_STATE        DevicePowerState;
} KSDEVICE, *PKSDEVICE;

Membros

Descriptor

Um ponteiro para uma estrutura KSDEVICE_DESCRIPTOR que descreve as características do dispositivo e os filtros estáticos compatíveis com ele.

Bag

Esse membro especifica o KSOBJECT_BAG (equivalente ao tipo PVOID) associado ao dispositivo. Consulte object bags.

Context

Um ponteiro para um local de memória que contém informações de contexto para o dispositivo. O AVStream armazena um ponteiro para uma extensão de dispositivo neste membro para minidrivers que alocam uma extensão de dispositivo em AVStrMiniDeviceStart. A memória alocada para o contexto deve ser colocada no recipiente de objetos usando KsAddItemToObjectBag. de Contexto é inicializado para NULL no momento da criação.

FunctionalDeviceObject

Um ponteiro para uma estrutura DEVICE_OBJECT que é o objeto de dispositivo funcional do WDM para o dispositivo que está sendo descrito.

PhysicalDeviceObject

Um ponteiro para uma estrutura DEVICE_OBJECT que é o objeto de dispositivo físico do WDM para o dispositivo que está sendo descrito.

NextDeviceObject

Um ponteiro para uma estrutura DEVICE_OBJECT que é o próximo dispositivo na pilha de driver, conforme determinado por IoAttachDeviceToDeviceStack.

Started

Esse membro indica se esse dispositivo específico foi iniciado ou não. Se VERDADEIRO, o dispositivo foi iniciado. Se FALSE, o dispositivo não foi iniciado. Esse sinalizador é definido durante o processamento do IRP_MN_START_DEVICE e é redefinido durante o processamento do IRP_MN_STOP_DEVICE. Um dispositivo que não é iniciado retorna STATUS_DEVICE_NOT_READY em resposta a todas as solicitações para criar um filtro.

SystemPowerState

Um valor tipo SYSTEM_POWER_STATE que indica o estado de energia atual do sistema. SYSTEM_POWER_STATE valores são definidos em wdm.h.

DevicePowerState

Um valor tipo DEVICE_POWER_STATE que indica o estado de energia atual do dispositivo. DEVICE_POWER_STATE valores são definidos em wdm.h.

Observações

Normalmente, os clientes usam essa estrutura se precisarem implementar um comportamento específico do PnP ou do Power Management que não seja fornecido pelo AVStream. Um ponteiro para uma estrutura KSDEVICE é o primeiro parâmetro para todas as rotinas de expedição especificadas em KSDEVICE_DISPATCHe o cliente é livre para usar as informações de contexto para anexar seu próprio contexto para essas rotinas. Além disso, os clientes podem obter um ponteiro para a estrutura KSDEVICE de um ponteiro de objeto do dispositivo WDM chamando KsGetDeviceForDeviceObject.

Conforme mencionado acima, de Contexto é inicializado para NULL no momento da criação. No entanto, os descendentes dessa estrutura KSDEVICE têm seus membros Context correspondentes definidos como o valor do membro de Contexto do objeto pai. Isso acontece quando o novo objeto é criado. Para obter mais informações, consulte de hierarquia de objetos AVStream e de objetos. Consulte também as páginas de referência para os possíveis objetos descendentes do AVStream: KSFILTERFACTORY, KSFILTER e KSPIN.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no Microsoft DirectX 8.0 e versões posteriores.
cabeçalho ks.h (incluir Ks.h)

Consulte também

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KSFILTER

KSFILTERFACTORY

KSPIN

KsAddItemToObjectBag

KsGetDeviceForDeviceObject