Estrutura KSDEVICE (ks.h)
A estrutura KSDEVICE descreve um dispositivo funcional 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 Sacos de objetos.
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 nesse membro para minidrivers que alocam uma extensão de dispositivo em AVStrMiniDeviceStart. A memória alocada para contexto deve ser colocada no recipiente de objetos usando KsAddItemToObjectBag. O contexto é inicializado como NULL no momento da criação.
FunctionalDeviceObject
Um ponteiro para uma estrutura DEVICE_OBJECT que é o objeto de dispositivo funcional 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 TRUE, 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 de 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 de tipo DEVICE_POWER_STATE que indica o estado de energia atual do dispositivo. DEVICE_POWER_STATE valores são definidos em wdm.h.
Comentários
Os clientes normalmente usam essa estrutura se precisarem implementar um comportamento específico de PnP ou Gerenciamento de Energia que não é fornecido pelo AVStream. Um ponteiro para uma estrutura KSDEVICE é o primeiro parâmetro para todas as rotinas de expedição especificadas em KSDEVICE_DISPATCH e 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 de dispositivo WDM chamando KsGetDeviceForDeviceObject.
Conforme mencionado acima, Context é inicializado como 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 Context do objeto pai. Isso acontece quando o novo objeto é criado. Para obter mais informações, consulte Hierarquia de objetos AVStream e Sacos 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 |
---|---|
Cliente mínimo com suporte | 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 (inclua Ks.h) |