Skip to content

Latest commit

 

History

History
90 lines (63 loc) · 3.73 KB

nf-ks-kspropertyhandler.md

File metadata and controls

90 lines (63 loc) · 3.73 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:ks.KsPropertyHandler
KsPropertyHandler function (ks.h)
Drivers call KsPropertyHandler function for IRP handling.
stream\kspropertyhandler.htm
stream
04/23/2018
KsPropertyHandler function
KsPropertyHandler, KsPropertyHandler function [Streaming Media Devices], ks/KsPropertyHandler, ksfunc_9595b49a-6957-4ebc-8d45-3a92f9190734.xml, stream.kspropertyhandler
ks.h
Ks.h
Universal
Ks.lib
Windows
KsPropertyHandler
ks/KsPropertyHandler
APIRef
kbSyntax
LibDef
Ks.lib
Ks.dll
KsPropertyHandler

KsPropertyHandler function

-description

Drivers call KsPropertyHandler function for IRP handling.

-parameters

-param Irp [in]

Specifies the IRP with the property request being handled.

-param PropertySetsCount [in]

Specifies the number of property sets being passed.

-param PropertySet [in]

Points to an array of KSPROPERTY_SET structures. The driver should provide one structure for each property set it wants KsPropertyHandler to handle.

-returns

The KsPropertyHandler function returns STATUS_SUCCESS if successful, or an error specific to the property being handled if unsuccessful. The function sets the IRP->IO_STATUS_BLOCK.Information member, either through setting it to zero because of an internal error, or through a property handler setting it. The function does not set the lrp->IoStatus.Status member nor does it complete the IRP.

-remarks

KsPropertyHandler responds to all property identifiers defined by the sets, and can only be called at PASSIVE_LEVEL.

Each KSPROPERTY_SET entry contains a pointer to an array of KSPROPERTY_ITEM structures in its PropertyItem member. For driver-specific processing, KsPropertyHandler hands off each request to one of the driver-supplied callbacks within PropertyItem. KsPropertyHandler takes care of any IRP processing required.

KsPropertyHandler does not use the FastIoTable member of its KSPROPERTY_SET structure. If the driver needs to support Fast I/O handling of requests, the same KSPROPERTY_SET structure should be passed to the KsFastPropertyHandler routine.

The owner of the property sets can perform prefiltering or postfiltering of property handling. Basic property structure access exceptions are handled by the KsPropertyHandler function, though cleanup for specific exceptions must be covered by the property handler.

KsPropertyHandler places a pointer to the relevant KSPROPERTY_SET structure in the Irp->Tail.Overlay.DriverContext parameter in the IRP. The minidriver can use the KSPROPERTY_SET_IRP_STORAGE macro, defined in ks.h, to access this pointer.

-see-also

KsFastPropertyHandler

KsPropertyHandlerWithAllocator