Função de retorno de chamada PFNKSDEVICEIRP (ks.h)
A rotina do manipulador IRP de um minidriver AVStream é chamada quando esses IRPs são enviados pelo dispositivo.
Sintaxe
PFNKSDEVICEIRP Pfnksdeviceirp;
NTSTATUS Pfnksdeviceirp(
[in] PKSDEVICE Device,
[in] PIRP Irp
)
{...}
Parâmetros
[in] Device
Ponteiro para o KSDEVICE que despachou o IRP.
[in] Irp
O IRP emitido pelo Dispositivo.
Retornar valor
Deve retornar STATUS_SUCCESS ou o código de erro retornado da tentativa de executar a operação. Se esse não for o caso, retorne um código de erro apropriado.
Comentários
IRP | Descrição |
---|---|
IRP_MN_QUERY_REMOVE_DEVICE | O minidriver especifica o endereço dessa rotina no membro QueryRemove de sua estrutura KSDEVICE_DISPATCH . Essa rotina é chamada quando um IRP_MN_QUERY_REMOVE_DEVICE é expedido pelo dispositivo. Geralmente, ele será fornecido por minidrivers que desejam impedir a remoção do dispositivo ou por minidrivers que devem não permitir atividades que, de outra forma, os impediriam de se comprometer com uma operação de remoção de dispositivo. Se essa rotina não for fornecida, o AVStream assumirá que o dispositivo pode se comprometer com uma remoção. A rotina é chamada em IRQL = PASSIVE_LEVEL e pode não retornar STATUS_PENDING; um código de êxito indica que o dispositivo pode se comprometer com uma remoção e um código de erro indica que ele não pode. Retornará êxito se o dispositivo puder ser removido (ou drivers puderem ser atualizados) sem interromper o computador. Essa rotina é opcional. |
IRP_MN_QUERY_STOP_DEVICE | O minidriver especifica um ponteiro para essa rotina no membro QueryStop de sua estrutura de KSDEVICE_DISPATCH . Use AVStrMiniQueryStop para impedir a interrupção do dispositivo ou para não permitir atividades que impeçam o minidriver de se comprometer com uma operação de parada. Se essa rotina não for especificada, o AVStream pressupõe que o minidriver possa se comprometer com uma operação de parada. Essa rotina é opcional. Êxito indica que o dispositivo pode se comprometer com uma parada e um código de erro indica que ele não pode. Não retorne STATUS_PENDING. |
IRP_MN_QUERY_INTERFACE | Um driver ou componente do sistema envia esse IRP para obter informações sobre uma interface exportada pelo driver. Para obter mais informações sobre o IRP, consulte IRP_MN_QUERY_INTERFACE. O minidriver especifica o endereço dessa rotina no membro QueryInterface de sua estrutura KSDEVICE_DISPATCH . Essa rotina é opcional. |
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ks.h (inclua Ks.h) |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |