Condividi tramite


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)

Vedi anche

IoMarkIrpPending

KSPIN_DISPATCH

KsCompletePendingRequest