PFNKSPINIRP-Rückruffunktion (ks.h)
Die Routine eines AVStream-Minidrivers wird aufgerufen, wenn eine Aktivität auf dem Pin ausgeführt wird und diese IRPs empfängt:
Syntax
PFNKSPINIRP Pfnkspinirp;
NTSTATUS Pfnkspinirp(
[in] PKSPIN Pin,
[in] PIRP Irp
)
{...}
Parameter
[in] Pin
Zeigen Sie auf die soeben erstellte KSPIN-.
[in] Irp
Zeiger auf das IRP für Pin.
Rückgabewert
Wenn die Routine erfolgreich ist, wird der Vorgang garantiert erfolgreich ausgeführt. Gibt STATUS_SUCCESS oder STATUS_PENDING zurück.
Bemerkungen
IRP | Beschreibung |
---|---|
IRP_MJ_CREATE | In der Regel wird diese Routine von Minidrivern verwendet, die den Kontext und die Ressourcen initialisieren möchten, die der Pin zugeordnet sind. Der Minidriver gibt die Adresse dieser Routine im Create Member der KSPIN_DISPATCH-Struktur an. Diese Routine wird aufgerufen, wenn eine Pin erstellt wird. An dem Punkt, an dem diese Routine aufgerufen wird, weist das Dateiobjekt einen zugeordneten Kontext auf, und der KS-Objektheader wurde zugewiesen. In der Regel wird diese Funktion von Minidrivern bereitgestellt, die den Kontext und die Ressourcen initialisieren möchten, die der Pin zugeordnet sind. Das Filtersteuerelement mutex wird in dieser Funktion gehalten. Die Funktion wird bei IRQL = PASSIVE_LEVEL aufgerufen. Diese Routine ist optional. Wenn die Routine erfolgreich ist, wird der Erstellungsvorgang garantiert erfolgreich ausgeführt. Gibt STATUS_SUCCESS oder STATUS_PENDING zurück. Wenn ein Minidriver STATUS_PENDING zurückgibt, schließt AVStream die IRP_MJ_CREATE nicht sofort ab. Bevor STATUS_PENDING zurückgegeben wird, muss der Minidriver jedoch IoMarkIrpPendingaufrufen. Sobald die Verarbeitung der Erstellung abgeschlossen ist, muss der Minidriver den Statuscode des IRP festlegen und dann KsCompletePendingRequestaufrufen. |
IRP_MJ_CLOSE | Der Minidriver gibt die Adresse dieser Routine im Schließen Mitglieds seiner KSPIN_DISPATCH-Struktur an. An dem Punkt, an dem die Routine aufgerufen wird, wurden alle registrierten Ereignisse auf dem Pin freigegeben, das Objekt ist jedoch andernfalls intakt. Das Filtersteuerelement mutex wird in dieser Funktion gehalten. Weitere Informationen zu Mutexes finden Sie unter Mutexes in AVStream. Diese Routine ist optional. |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | ks.h (enthalten Ks.h) |
IRQL- | PASSIVE_LEVEL (Siehe Abschnitt "Hinweise") |