Freigeben über


KsPropertyHandler-Funktion (ks.h)

Treiber rufen KsPropertyHandler--Funktion für die IRP-Behandlung auf.

Syntax

KSDDKAPI NTSTATUS KsPropertyHandler(
  [in] PIRP                 Irp,
  [in] ULONG                PropertySetsCount,
  [in] const KSPROPERTY_SET *PropertySet
);

Parameter

[in] Irp

Gibt das IRP an, wobei die Eigenschaftsanforderung verarbeitet wird.

[in] PropertySetsCount

Gibt die Anzahl der übergebenen Eigenschaftensätze an.

[in] PropertySet

Verweist auf ein Array von KSPROPERTY_SET Strukturen. Der Treiber sollte für jeden Eigenschaftensatz eine Struktur bereitstellen, die von KsPropertyHandler behandelt werden soll.

Rückgabewert

Die KsPropertyHandler--Funktion gibt STATUS_SUCCESS bei erfolgreicher Ausführung oder einen Fehler zurück, der für die Eigenschaft, die behandelt wird, wenn dies nicht erfolgreich ist. Die Funktion legt den IRP-->IO_STATUS_BLOCKfest. Informationselement, entweder durch Festlegen auf Null aufgrund eines internen Fehlers oder durch festlegen eines Eigenschaftenhandlers. Die Funktion legt das Element "lrp->IoStatus.Status" nicht fest und schließt das IRP nicht ab.

Bemerkungen

KsPropertyHandler antwortet auf alle Eigenschaftenbezeichner, die von den Sätzen definiert werden, und kann nur bei PASSIVE_LEVEL aufgerufen werden.

Jeder KSPROPERTY_SET Eintrag enthält einen Zeiger auf ein Array von KSPROPERTY_ITEM Strukturen im PropertyItem-Element. Für die treiberspezifische Verarbeitung übergibt KsPropertyHandler jede Anforderung an einen der vom Treiber bereitgestellten Rückrufe innerhalb von PropertyItem. KsPropertyHandler kümmert sich um jede erforderliche IRP-Verarbeitung.

KsPropertyHandler verwendet nicht das FastIoTable-Element seiner KSPROPERTY_SET Struktur. Wenn der Treiber die schnelle E/A-Verarbeitung von Anforderungen unterstützen muss, sollte dieselbe KSPROPERTY_SET Struktur an die KsFastPropertyHandler-Routine übergeben werden.

Der Besitzer der Eigenschaftensätze kann eine Vorfilterung oder Nachfilterung der Eigenschaftenbehandlung durchführen. Grundlegende Ausnahmen für den Eigenschaftenstrukturzugriff werden vom KsPropertyHandler Funktion behandelt, wobei die Bereinigung für bestimmte Ausnahmen vom Eigenschaftenhandler abgedeckt werden muss.

KsPropertyHandler platziert einen Zeiger auf die relevante KSPROPERTY_SET Struktur in der Irp->Tail.Overlay.DriverContext Parameter im IRP. Der Minidriver kann das KSPROPERTY_SET_IRP_STORAGE Makro verwenden, das in ks.h-definiert ist, um auf diesen Zeiger zuzugreifen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ks.h (enthalten Ks.h)
Library Ks.lib

Siehe auch

KsFastPropertyHandler

KsPropertyHandlerWithAllocator