Funzione di callback PFNKSPINIRP (ks.h)
La routine di un minidriver AVStream viene chiamata quando viene eseguita un'attività sul pin e riceve questi indirizzi IP:
Sintassi
PFNKSPINIRP Pfnkspinirp;
NTSTATUS Pfnkspinirp(
[in] PKSPIN Pin,
[in] PIRP Irp
)
{...}
Parametri
[in] Pin
Puntatore al KSPIN appena creato.
[in] Irp
Puntatore all'IRP per Pin.
Valore restituito
Se la routine ha esito positivo, l'operazione ha esito positivo. Restituire STATUS_SUCCESS o STATUS_PENDING.
Commenti
IRP | Descrizione |
---|---|
IRP_MJ_CREATE | In genere, questa routine viene usata dai minidriver che vogliono inizializzare il contesto e le risorse associate al pin. Il minidriver specifica l'indirizzo di questa routine nel membro Crea della struttura KSPIN_DISPATCH . Questa routine viene chiamata quando viene creato un pin. Al punto in cui viene chiamata questa routine, l'oggetto file ha un contesto associato e l'intestazione dell'oggetto KS è stata allocata. In genere, questa funzione verrà fornita dai minidriver che vogliono inizializzare il contesto e le risorse associate al pin. Il mutex del controllo filtro viene mantenuto mentre si trova in questa funzione. La funzione verrà chiamata in IRQL = PASSIVE_LEVEL. Questa routine è facoltativa. Se la routine ha esito positivo, l'operazione di creazione è garantita. Restituire STATUS_SUCCESS o STATUS_PENDING. Se un minidriver restituisce STATUS_PENDING, AVStream non completerà immediatamente il IRP_MJ_CREATE . Prima di restituire STATUS_PENDING, tuttavia, il minidriver deve chiamare IoMarkIrpPending. Al termine dell'elaborazione della creazione, il minidriver deve impostare il codice di stato di IRP e quindi chiamare KsCompletePendingRequest. |
IRP_MJ_CLOSE | Il minidriver specifica l'indirizzo di questa routine nel membro Close della struttura KSPIN_DISPATCH . Al momento in cui viene chiamata la routine, tutti gli eventi registrati sul pin sono stati liberati, ma l'oggetto è altrimenti intatto. Il mutex del controllo filtro viene mantenuto mentre si trova in questa funzione. Per altre informazioni sui mutex, vedere Mutexes in AVStream. Questa routine è facoltativa. |
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | ks.h (include Ks.h) |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |