PFNKSPINIRP-Rückruffunktion (ks.h)

Die Routine eines AVStream-Minitreibers wird aufgerufen, wenn eine Aktivität an der Pin ausgeführt wird und die folgenden IRPs empfangen werden:

Syntax

PFNKSPINIRP Pfnkspinirp;

NTSTATUS Pfnkspinirp(
  [in] PKSPIN Pin,
  [in] PIRP Irp
)
{...}

Parameter

[in] Pin

Zeiger auf den soeben erstellten KSPIN .

[in] Irp

Zeiger auf den IRP für Anheften.

Rückgabewert

Wenn die Routine erfolgreich ist, ist der Vorgang garantiert erfolgreich. Gibt STATUS_SUCCESS oder STATUS_PENDING zurück.

Hinweise

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 Minitreiber gibt die Adresse dieser Routine im Create-Element der KSPIN_DISPATCH-Struktur an. Diese Routine wird aufgerufen, wenn eine Pin erstellt wird. An dem Punkt, an dem diese Routine aufgerufen wird, verfügt das Dateiobjekt über einen zugeordneten Kontext, und der KS-Objektheader wurde zugeordnet. In der Regel wird diese Funktion von Minitreibern bereitgestellt, die den Kontext und die Ressourcen initialisieren möchten, die dem Pin zugeordnet sind. Der Mutex des Filtersteuerelements wird in dieser Funktion gehalten. Die Funktion wird unter IRQL = PASSIVE_LEVEL aufgerufen. Diese Routine ist optional. Wenn die Routine erfolgreich ist, ist der Erstellungsvorgang garantiert erfolgreich. Gibt STATUS_SUCCESS oder STATUS_PENDING zurück. Wenn ein Minitreiber STATUS_PENDING zurückgibt, schließt AVStream die IRP_MJ_CREATE nicht sofort ab. Bevor STATUS_PENDING zurückgegeben wird, muss der Minitreiber jedoch IoMarkIrpPending aufrufen. Sobald die Verarbeitung der Erstellung abgeschlossen ist, muss der Minidriver den status Code des IRP festlegen und dann KsCompletePendingRequest aufrufen.
IRP_MJ_CLOSE Der Minitreiber gibt die Adresse dieser Routine im Member Schließen der KSPIN_DISPATCH-Struktur an. An dem Punkt, an dem die Routine aufgerufen wird, wurden alle registrierten Ereignisse auf der Pin freigegeben, aber das Objekt ist ansonsten intakt. Der Mutex des Filtersteuerelements wird in dieser Funktion gehalten. Weitere Informationen zu Mutexes finden Sie unter Mutexes in AVStream. Diese Routine ist optional.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile ks.h (ks.h einschließen)
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")

Weitere Informationen

IoMarkIrpPending

KSPIN_DISPATCH

KsCompletePendingRequest