Funzione di callback PFNKSDEVICEIRP (ks.h)
Una 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 rilasciata dal dispositivo.
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.
Commenti
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 impedisce loro di eseguire il commit a un'operazione di rimozione del dispositivo. Se questa routine non viene fornita, AVStream presuppone che il dispositivo possa eseguire il commit in una rimozione. La routine viene chiamata a IRQL = PASSIVE_LEVEL e potrebbe non restituire STATUS_PENDING; un codice di esito positivo indica che il dispositivo può eseguire il commit a una rimozione e un codice di errore indica che non è possibile. 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 membro QueryStop della relativa struttura di KSDEVICE_DISPATCH . Usare AVStrMiniQueryStop per impedire l'arresto del dispositivo o di impedire l'attività che impedirebbe al minidriver di eseguire il commit in un'operazione di arresto. Se questa routine non è 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. 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 sull'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. |
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | ks.h (include Ks.h) |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |