Compartilhar via


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.

IRP_MN_QUERY_REMOVE_DEVICE

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_QUERY_INTERFACE

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)

Confira também

KSDEVICE

KSDEVICE_DISPATCH