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) |