Condividi tramite


Funzione di callback PFNKSDEVICEIRP (ks.h)

La routine del gestore IRP di AVStream viene chiamata quando questi IRP vengono inviati dal dispositivo.

IRP_MN_QUERY_REMOVE_DEVICE

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_QUERY_INTERFACE

Sintassi

PFNKSDEVICEIRP Pfnksdeviceirp;

NTSTATUS Pfnksdeviceirp(
  [in] PKSDEVICE Device,
  [in] PIRP Irp
)
{...}

Parametri

[in] Device

Puntatore al KSDEVICE che ha inviato l'IRP.

[in] Irp

IRP rilasciato da Device.

Valore restituito

Deve restituire STATUS_SUCCESS o il codice di errore restituito dal tentativo di eseguire l'operazione. In caso contrario, restituire un codice di errore appropriato.

Osservazioni

IRP Descrizione
IRP_MN_QUERY_REMOVE_DEVICE Il minidriver specifica l'indirizzo di questa routine nel membro QueryRemove della relativa struttura di KSDEVICE_DISPATCH. Questa routine viene chiamata quando un IRP_MN_QUERY_REMOVE_DEVICE viene inviato dal dispositivo. In genere verrà fornito da minidriver che vogliono impedire la rimozione del dispositivo o da minidriver che devono impedire l'attività che altrimenti impedirebbe il commit a un'operazione di rimozione del dispositivo. Se questa routine non viene specificata, AVStream presuppone che il dispositivo possa eseguire il commit in una rimozione. La routine viene chiamata in IRQL = PASSIVE_LEVEL e potrebbe non restituire STATUS_PENDING; un codice di operazione riuscita indica che il dispositivo può eseguire il commit in una rimozione e un codice di errore indica che non può. Restituisce l'esito positivo se il dispositivo può essere rimosso (o i driver possono essere aggiornati) senza interrompere il computer. Questa routine è facoltativa.
IRP_MN_QUERY_STOP_DEVICE Il minidriver specifica un puntatore a questa routine nel QueryStop membro della struttura KSDEVICE_DISPATCH. Usare AVStrMiniQueryStop per impedire l'arresto del dispositivo o per impedire l'attività che impedisce al minidriver di eseguire il commit a un'operazione di arresto. Se questa routine non viene specificata, AVStream presuppone che il minidriver possa eseguire il commit in un'operazione di arresto. Questa routine è facoltativa. L'esito positivo indica che il dispositivo può eseguire il commit in un arresto e un codice di errore indica che non è possibile eseguire il commit. Non restituire STATUS_PENDING.
IRP_MN_QUERY_INTERFACE Un driver o un componente di sistema invia questo IRP per ottenere informazioni su un'interfaccia esportata dal driver. Per altre informazioni su IRP, vedere IRP_MN_QUERY_INTERFACE. Il minidriver specifica l'indirizzo di questa routine nel membro QueryInterface della relativa struttura KSDEVICE_DISPATCH. Questa routine è facoltativa.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione ks.h (include Ks.h)
IRQL PASSIVE_LEVEL (vedere la sezione Osservazioni)

Vedere anche

KSDEVICE

KSDEVICE_DISPATCH