Funzione di callback PFNKSDEVICEIRP (ks.h)
La routine del gestore IRP di AVStream viene chiamata quando questi IRP vengono inviati dal dispositivo.
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) |