ks.h header

This header is used by stream. For more information, see:

ks.h contains the following programming interfaces:

Interfaces

 
IKsControl

The IKsControl interface is a COM-style interface implemented on AVStream filters and pins.
IKsDeviceFunctions

The IKsDeviceFunctions interface is a COM-style interface implemented on AVStream devices. This interface is available in Windows Server 2003 SP1 and later versions of Windows.
IKsReferenceClock

The IKsReferenceClock interface is a COM-style interface that is provided by AVStream on all pins. The pin passes the request onto the master clock.

IOCTLs

 
IOCTL_KS_DISABLE_EVENT

An application can use IOCTL_KS_DISABLE_EVENT to rescind a previous request notification. The application specifies IOCTL_KS_DISABLE_EVENT in the IoControl parameter of a call to KsSynchronousDeviceControl.
IOCTL_KS_ENABLE_EVENT

An application can use IOCTL_KS_ENABLE_EVENT to request notification of a KS event type, or to determine the events supported by a KS object.
IOCTL_KS_HANDSHAKE

A kernel-mode client can use IOCTL_KS_HANDSHAKE to negotiate an interface between unconnected AVStream pins.
IOCTL_KS_METHOD

An application can use IOCTL_KS_METHOD to execute a method on a KS object. The application passes IOCTL_KS_METHOD with the parameters described below to the KsSynchronousDeviceControl function.
IOCTL_KS_PROPERTY

An application can use IOCTL_KS_PROPERTY to get or set properties, or to determine the properties supported by a KS object. The application passes IOCTL_KS_PROPERTY with the parameters described below to the KsSynchronousDeviceControl function.
IOCTL_KS_READ_STREAM

An application can use IOCTL_KS_READ_STREAM to read data from a pin. The application passes IOCTL_KS_READ_STREAM with the parameters described below to the KsSynchronousDeviceControl function.
IOCTL_KS_RESET_STATE

An application can use IOCTL_KS_RESET_STATE to return a pin to the state it was in at Acquire-time. The application passes IOCTL_KS_RESET_STATE with the parameters described below to the KsSynchronousDeviceControl function.
IOCTL_KS_WRITE_STREAM

An application can use IOCTL_KS_WRITE_STREAM to write data to a pin. The application passes IOCTL_KS_WRITE_STREAM with the parameters described below to the KsSynchronousDeviceControl function.

Functions

 
_KsEdit

The _KsEdit function guarantees that a given item is dynamically allocated and associated with an AVStream object through the object bag.
KsAcquireCachedMdl

This function is used to acquire the MDL cached by the KS port driver. The function is used by a kernel mode driver to acquire the MDL for a pipeline-supplied sample generated by an Avstream driver.
KsAcquireControl

The KsAcquireControl function acquires the filter control mutex for Object.
KsAcquireDevice

The KsAcquireDevice function gains synchronous access for Device by acquiring the device mutex.
KsAcquireDeviceSecurityLock

The KsAcquireDeviceSecurityLock function acquires the security lock associated with a device object.
KsAcquireResetValue

The KsAcquireResetValue function retrieves the current reset state from an IOCTL_KS_RESET_STATE IRP.
KsAddDevice

The KsAddDevice function is the default AddDevice handler installed by KsInitializeDriver.
KsAddEvent

The KsAddEvent function adds an event to Object's event list.
KsAddIrpToCancelableQueue

The KsAddIrpToCancelableQueue function adds an IRP to a queue of cancelable IRPs, thus allowing the IRP to be canceled. If the IRP had been previously set to a canceled state, the KsAddIrpToCancelableQueue function completes the canceling of that IRP.
KsAddItemToObjectBag

The KsAddItemToObjectBag function adds an object or block of memory to the given object bag.
KsAddObjectCreateItemToDeviceHeader

The KsAddObjectCreateItemToDeviceHeader function adds the specified create-item to an empty item in the previously allocated create item list for this device header.
KsAddObjectCreateItemToObjectHeader

The KsAddObjectCreateItemToObjectHeader function adds the specified create-item to an empty item in the previously allocated create item list for this object header.
KsAllocateDefaultClock

The KsAllocateDefaultClock function allocates and initializes the default clock structure.
KsAllocateDefaultClockEx

The KsAllocateDefaultClockEx function allocates and initializes the default clock structure.
KsAllocateDeviceHeader

The KsAllocateDeviceHeader function allocates and initializes the required device extension header.
KsAllocateExtraData

The KsAllocateExtraData function is used with streaming IRPs to allocate a buffer to contain additional header data. A pointer to the allocated buffer is returned, and the buffer must eventually be freed by the caller.
KsAllocateObjectBag

The KsAllocateObjectBag function creates an object bag and associates it with a KSDEVICE.
KsAllocateObjectCreateItem

The KsAllocateObjectCreateItem function allocates a slot for the specified create item, optionally allocating space for and copying the create item data as well.
KsAllocateObjectHeader

The KsAllocateObjectHeader function initializes the required file context header.
KsCacheMedium

The KsCacheMedium function improves graph building performance of pins that use Mediums to define connectivity.
KsCancelIo

The KsCancelIo function cancels all IRPs on the specified cancel list. If an IRP on the list does not have a cancel routine, only the cancel bit is set in the IRP. The function can be called at IRQ level DISPATCH_LEVEL or lower.
KsCompletePendingRequest

The KsCompletePendingRequest function is used to complete an I/O request in response to which an AVStream dispatch function previously returned STATUS_PENDING.
KsCopyObjectBagItems

The KsCopyObjectBagItems function copies all items from one object bag into another.
KsCreateAllocator

The KsCreateAllocator function creates a handle to an allocator for the given sink connection handle. This function does not complete the IRP or set the status in the IRP.
KsCreateAllocator2

Creates a handle to an allocator for the given sink connection handle. This function does not complete the IRP or set the status in the IRP.
KsCreateClock

The KsCreateClock function creates a handle to a clock instance.
KsCreateClock2

Creates a handle to a clock instance. Call this function after the Component Object Model (COM) is initialized.
KsCreateDefaultAllocator

Given a validated IRP_MJ_CREATE request, the KsCreateDefaultAllocator function creates a default allocator that uses the specified memory pool and associates the IoGetCurrentIrpStackLocation(Irp)->FileObject with the allocator using an internal dispatch table (KSDISPATCH_TABLE).
KsCreateDefaultAllocatorEx

Creates a default allocator that uses the specified memory pool and associates the IoGetCurrentIrpStackLocation(pIrp)->FileObject with this allocator using an internal dispatch table (KSDISPATCH_TABLE).
KsCreateDefaultClock

Given an IRP_MJ_CREATE request, the KsCreateDefaultClock function creates a default clock that uses the system clock as a time base and associates the IoGetCurrentIrpStackLocation(Irp)->FileObject with the clock using an internal dispatch table (KSDISPATCH_TABLE). Does not complete the IRP or set the status in the IRP.The KsCreateDefaultClock function can only be called at PASSIVE_LEVEL.
KsCreateDefaultSecurity

The KsCreateDefaultSecurity function creates a security descriptor with default security, optionally inheriting parameters from a parent security descriptor.
KsCreateDevice

The KsCreateDevice function creates an AVStream device.
KsCreateFilterFactory

The KsCreateFilterFactory function adds a filter factory to a given device.
KsCreatePin

The KsCreatePin function passes a connection request to a device, creating a pin instance. This function can only be called at PASSIVE_LEVEL for kernel-mode clients.
KsCreatePin2

Passes a connection request to a device, creating a pin instance.
KsCreateTopologyNode

The KsCreateTopologyNode function creates a handle to a topology node instance. The function can only be called at PASSIVE_LEVEL.
KsCreateTopologyNode2

Creates a handle to a topology node instance.
KsDecrementCountedWorker

Decrements the current worker count of a worker previous created by KsRegisterCountedWorker. This should be called after each task within a worker has been completed.
KsDefaultAddEventHandler

The KsDefaultAddEventHandler function is a default routine to handle event 'add' requests.
KsDefaultDeviceIoCompletion

The KsDefaultDeviceIoCompletion function is used to return a default response and to complete any device I/O control.
KsDeleteFilterFactory

KsDeleteFilterFactory deletes a given filter factory.
KsDereferenceBusObject

Dereferences the bus Physical Device Object.
KsDeviceGetBusData

The KsDeviceGetBusData function reads data from the bus where the given AVStream device resides.
KsDeviceGetFirstChildFilterFactory

The KsDeviceGetFirstChildFilterFactory function returns the first child filter factory belonging to a given AVStream device.
KsDeviceGetOuterUnknown

The KsDeviceGetOuterUnknown function returns the outer IUnknown of the AVStream device specified by Device.
KsDeviceRegisterAdapterObject

The KsDeviceRegisterAdapterObject function registers a DMA adapter object with AVStream for performing scatter/gather DMA on the specified device. All drivers compiled for Win64 should use IKsDeviceFunctions::RegisterAdapterObjectEx instead.
KsDeviceRegisterAggregatedClientUnknown

TThe KsDeviceRegisterAggregatedClientUnknown function is an inline function that is a wrapper for KsRegisterAggregatedClientUnknown.
KsDeviceRegisterThermalDispatch

This function is used by the Avstream miniport driver to register callbacks for thermal notifications with the KS port driver.
KsDeviceSetBusData

The KsDeviceSetBusData function writes data to the bus on which the specified AVStream device resides.
KsDisableEvent

The KsDisableEvent function disables events requested through IOCTL_KS_DISABLE_EVENT.
KsDiscard

The KsDiscard macro removes a given item from an object bag.
KsDiscardEvent

The KsDiscardEvent function discards the memory used by an event entry after the objects have been dereferenced.
KsDispatchFastIoDeviceControlFailure

The KsDispatchFastIoDeviceControlFailure function is used in a KSDISPATCH_TABLE.FastDeviceIoControl entry that are not handled. The function should always return FALSE.
KsDispatchFastReadFailure

The KsDispatchFastReadFailure function is used in a KSDISPATCH_TABLE.FastRead entry when fast I/O read is not handled. The function should always return FALSE.
KsDispatchInvalidDeviceRequest

The KsDispatchInvalidDeviceRequest function is used in KSDISPATCH_TABLE entries that are not handled and that need to return STATUS_INVALID_DEVICE_REQUEST.
KsDispatchIrp

KsDispatchIrp calls a dispatch routine corresponding to the function code of the specified IRP. KsDispatchIrp then returns the status code from this call.
KsDispatchQuerySecurity

The KsDispatchQuerySecurity function is used in the KSDISPATCH_TABLE.QuerySecurity entry to handle querying about the current security descriptor.
KsDispatchSetSecurity

The KsDispatchSetSecurity function is used in the KSDISPATCH_TABLE.SetSecurity entry to handle setting the current security descriptor.
KsDispatchSpecificMethod

The KsDispatchSpecificMethod function dispatches a method to a specific handler. The function assumes that the caller has previously dispatched the IRP to a handler through the KsMethodHandler function. The function can only be called at PASSIVE_LEVEL.
KsDispatchSpecificProperty

The KsDispatchSpecificProperty function dispatches the property to a specific handler.
KsEnableEvent

The KsEnableEvent function enables events requested through IOCTL_KS_ENABLE_EVENT. It responds to all event identifiers defined by the sets. This function can only be called at PASSIVE_LEVEL.
KsEnableEventWithAllocator

The KsEnableEventWithAllocator function enables events requested through IOCTL_KS_ENABLE_EVENT but also allows an optional allocator callback to be used to provide a buffer for the parameters.
KSEVENT_ENTRY_IRP_STORAGE

This macro retrieves a pointer to the KSEVENT_ENTRY structure stored in Irp.
KSEVENT_ITEM_IRP_STORAGE

This macro retrieves a pointer to the KSEVENT_ITEM structure stored in Irp.
KSEVENT_SET_IRP_STORAGE

This macro retrieves a pointer to the KSEVENT_SET structure stored in Irp. This information is initialized only for basic support requests; it is not initialized for enable requests.
KsFastMethodHandler

The KsFastMethodHandler function handles fast methods requested through IOCTL_KS_METHOD. It responds to all method identifiers defined by the sets that are also contained in the fast I/O list. This function can only be called at PASSIVE_LEVEL.
KsFastPropertyHandler

The KsFastPropertyHandler function handles fast property requests through IOCTL_KS_PROPERTY. It responds to all property identifiers defined by the sets that are also contained in the fast I/O list. This function can only be called at PASSIVE_LEVEL.
KsFilterAcquireControl

The KsFilterAcquireControl function acquires the filter control mutex for the AVStream filter specified by Filter.
KsFilterAcquireProcessingMutex

The KsFilterAcquireProcessingMutex function acquires the processing mutex for a specified AVStream filter.
KsFilterAddEvent

The KsFilterAddEvent function adds an event to Filter's event list.
KsFilterAddTopologyConnections

The KsFilterAddTopologyConnections function adds new topology connections to a filter.
KsFilterAttemptProcessing

The KsFilterAttemptProcessing function attempts to initiate processing on Filter.
KsFilterCreateNode

The KsFilterCreateNode function creates a new topology node on the specified filter.
KsFilterCreatePinFactory

The KsFilterCreatePinFactory function creates a new pin factory on the specified filter.
KsFilterFactoryAddCreateItem

The KsFilterFactoryAddCreateItem function adds a new create item for the specified filter factory.
KsFilterFactoryGetDevice

The KsFilterFactoryGetDevice function returns the AVStream device to which FilterFactory belongs.
KsFilterFactoryGetFirstChildFilter

The KsFilterFactoryGetFirstChildFilter function returns the first instantiated filter created by FilterFactory.
KsFilterFactoryGetNextSiblingFilterFactory

The KsFilterFactoryGetNextSiblingFilterFactory function returns the next filter factory belonging to the parent device of FilterFactory.
KsFilterFactoryGetOuterUnknown

The KsFilterFactoryGetOuterUnknown function returns the outer IUnknown of the specified filter factory.
KsFilterFactoryGetParentDevice

The KsFilterFactoryGetParentDevice function returns the parent device of the given filter factory.
KsFilterFactoryGetSymbolicLink

The KsFilterFactoryGetSymbolicLink function returns the symbolic link associated with a given filter factory.
KsFilterFactoryRegisterAggregatedClientUnknown

The KsFilterFactoryRegisterAggregatedClientUnknown function is an inline function that is a wrapper for KsRegisterAggregatedClientUnknown.
KsFilterFactorySetDeviceClassesState

The KsFilterFactorySetDeviceClassesState function enables or disables the device classes that have been registered by a given filter factory.
KsFilterFactoryUpdateCacheData

The KsFilterFactoryUpdateCacheData function updates the FilterData registry key and the Medium cache (a set of registry keys) for a given filter factory.
KsFilterGenerateEvents

The KsFilterGenerateEvents function generates events of an indicated type that are present in Filter's event list.
KsFilterGetAndGate

The KsFilterGetAndGate function returns Filter's AND gate.
KsFilterGetChildPinCount

The KsFilterGetChildPinCountfunctionreturns the number of pins of a given type that are currently instantiated on a given filter.
KsFilterGetDevice

The KsFilterGetDevice function returns the AVStream device to which Filter belongs.
KsFilterGetFirstChildPin

The KsFilterGetFirstChildPin function returns the first instantiated pin of type PinID on the filter specified by Filter.
KsFilterGetNextSiblingFilter

The KsFilterGetNextSiblingFilter function returns the next instantiated filter belonging to the parent filter factory of Filter.
KsFilterGetOuterUnknown

The KsFilterGetOuterUnknown function returns the outer IUnknown interface of the filter specified by Filter.
KsFilterGetParentFilterFactory

The KsFilterGetParentFilterFactory function returns the parent filter factory of the given filter.
KsFilterRegisterAggregatedClientUnknown

The KsFilterRegisterAggregatedClientUnknown function is an inline function that is a wrapper for KsRegisterAggregatedClientUnknown.
KsFilterRegisterPowerCallbacks

The KsFilterRegisterPowerCallbacks function registers power management callbacks for Filter.
KsFilterReleaseControl

The KsFilterReleaseControl function releases the control mutex for the AVStream filter specified by Filter.
KsFilterReleaseProcessingMutex

The KsFilterReleaseProcessingMutex function releases the processing mutex for the AVStream filter specified by Filter.
KsForwardAndCatchIrp

The KsForwardAndCatchIrp function forwards an IRP to the specified driver after initializing the next stack location, and regains control of the IRP on completion from that driver.
KsForwardIrp

The KsForwardIrp function forwards an IRP to the specified driver after initializing the next stack location and setting the file object.
KsFreeDefaultClock

The KsFreeDefaultClock function frees a default clock structure previously allocated with KsAllocateDefaultClock, taking into account any currently running timer DPCs.
KsFreeDeviceHeader

The KsFreeDeviceHeader function cleans up and frees a previously allocated device header.
KsFreeEventList

The KsFreeEventList function handles freeing all events from a specified list, with the assumption that these events are composed of KSEVENT_ENTRY structures. This function can only be called at PASSIVE_LEVEL.
KsFreeObjectBag

The KsFreeObjectBag function empties and frees an object bag.
KsFreeObjectCreateItem

Frees the slot for the specified create item.
KsFreeObjectCreateItemsByContext

Frees all create items with a specific context.
KsFreeObjectHeader

The KsFreeObjectHeader function cleans up and frees a previously allocated object header.
KsGateAddOffInputToAnd

The KsGateAddOffInputToAnd function adds a new input in the OFF state to a given AND gate.
KsGateAddOffInputToOr

The KsGateAddOffInputToOr function adds a new input in the OFF state to a given OR gate.
KsGateAddOnInputToAnd

The KsGateAddOnInputToAnd function adds a new input in the ON state to a given AND gate.
KsGateAddOnInputToOr

The KsGateAddOnInputToOr function adds a new input in the ON state to a given OR gate.
KsGateCaptureThreshold

The KsGateCaptureThreshold function is used to capture an ON input of an AND gate specified by Gate.
KsGateGetStateUnsafe

The KsGateGetStateUnsafe function returns the state of the given gate (open or closed) in an unsafe manner, that is without regard to synchronization.
KsGateInitialize

The KsGateInitialize function initializes a gate for use.
KsGateInitializeAnd

The KsGateInitializeAnd function initializes a KSGATE structure as an AND gate and attaches it to the OR gate specified by NextOrGate.
KsGateInitializeOr

The KsGateInitializeOr function initializes a KSGATE structure as an OR gate and attaches it to the AND gate specified by NextAndGate.
KsGateRemoveOffInputFromAnd

The KsGateRemoveOffInputFromAnd function removes an existing input that is in the OFF state from an AND gate.
KsGateRemoveOffInputFromOr

The KsGateRemoveOffInputFromOr function removes an existing input that is in the OFF state from an OR gate.
KsGateRemoveOnInputFromAnd

The KsGateRemoveOnInputFromAnd function removes an existing input that is in the ON state from an AND gate.
KsGateRemoveOnInputFromOr

The KsGateRemoveOnInputFromOr function removes an existing input that is in the ON state from an OR gate.
KsGateTerminateAnd

The KsGateTerminateAnd function deletes an existing AND gate and removes an input from any attached OR gate.
KsGateTerminateOr

The KsGateTerminateOr function deletes an existing OR gate and removes an input from any attached AND gate.
KsGateTurnInputOff

The KsGateTurnInputOff function turns off an existing input to Gate.
KsGateTurnInputOn

The KsGateTurnInputOn function turns on an existing input to Gate.
KsGenerateDataEvent

The KsGenerateDataEvent function generates one of the standard event notifications when given an event entry structure and callback data.
KsGenerateEvent

The KsGenerateEvent function generates a standard event notification given an event entry structure.
KsGenerateEventList

The KsGenerateEventList function enumerates the event list and searches for the specified event to generate.
KsGenerateEvents

The KsGenerateEvents function generates events of an indicated type that are present in Object's event list.
KsGenerateThermalEvent

This function is used by clients (miniport drivers) that do not want to subscribe to the thermal manager, but want to do their own thermal management.
KsGetDefaultClockState

The KsGetDefaultClockState function gets the current state of the clock.The function can be called at DISPATCH_LEVEL.
KsGetDefaultClockTime

The KsGetDefaultClockTime function gets the current time of the clock.The function can be called at DISPATCH_LEVEL.
KsGetDevice

The KsGetDevice function returns the AVStream device structure to which Object belongs.
KsGetDeviceForDeviceObject

The KsGetDeviceForDeviceObject function returns the AVStream device structure for a given functional device object.
KsGetFilterFromFileObject

The KsGetFilterFromFileObject function returns the AVStream filter object associated with FileObject.
KsGetFilterFromIrp

The KsGetFilterFromIrp function returns the AVStream filter object associated with a given IRP.
KsGetFirstChild

The KsGetFirstChild function returns the first AVStream child object of Object.
KsGetImageNameAndResourceId

The KsGetImageNameAndResourceId function returns the image name and resource identifier that corresponds to the RegKey handle.
KsGetNextSibling

The KsGetNextSibling function returns the next sibling of a given object.
KsGetNodeIdFromIrp

The KsGetNodeIdFromIrp function returns the node ID of the node to which Irp was submitted.
KsGetObjectFromFileObject

The KsGetObjectFromFileObject function returns the AVStream object cast to PVOID from FileObject.
KsGetObjectTypeFromFileObject

The KsGetObjectTypeFromFileObject function returns the AVStream object type that is associated with a given file object.
KsGetObjectTypeFromIrp

The KsGetObjectTypeFromIrp function returns the AVStream object type that is associated with a given IRP.
KsGetOuterUnknown

The KsGetOuterUnknown function returns the outer IUnknown of a given AVStream object.
KsGetParent

The KsGetParent function acquires the parent of the given object.
KsGetPinFromFileObject

The KsGetPinFromFileObject function returns the AVStream pin object associated with FileObject.
KsGetPinFromIrp

The KsGetPinFromIrp function returns the AVStream pin object associated with the given IRP.
KsHandleSizedListQuery

The KsHandleSizedListQuery function, depending on the length of the system buffer, returns either the size of the buffer needed, number of entries in the specified data list, or copies the entries themselves.
KsIncrementCountedWorker

Increments the current worker count, and optionally queues the counted work item with the worker previously created by KsRegisterCountedWorker.
KsInitializeDevice

The KsInitializeDevice function is called by AVStream to initialize the AVStream device class from within KsCreateDevice.
KsInitializeDeviceProfile

The KsInitializeDeviceProfile API must be called by all miniport drivers to initialize the profile store and publish the device profiles.
KsInitializeDriver

The KsInitializeDriver function initializes the driver object of an AVStream minidriver.
KsLoadResource

Copies (loads) a resource from the given image.
KsMapModuleName

The KsMapModuleName function returns the image name and resource identifier that corresponds to the PhysicalDeviceObject and ModuleName parameters.
KsMergeAutomationTables

The KsMergeAutomationTables function merges two automation tables.
KSMETHOD_ITEM_IRP_STORAGE

This macro accesses a pointer to the relevant KSMETHOD_ITEM. Note that this pointer is only set when using KsMethodHandlerWithAllocator.
KSMETHOD_SET_IRP_STORAGE

This macro returns a pointer to the KSMETHOD_SET in which the method is located.
KSMETHOD_TYPE_IRP_STORAGE

This macro accesses the type of method as described in the KSMETHOD_ITEM. If the method will be processed asynchronously using KsDispatchSpecificMethod, this storage must be maintained intact.
KsMethodHandler

The KsMethodHandler function handles methods requested through IOCTL_KS_METHOD. It works with all method identifiers defined by the sets. The function can only be called at PASSIVE_LEVEL.
KsMethodHandlerWithAllocator

The KsMethodHandlerWithAllocator functions performs the same handling as KsMethodHandler, with the same restrictions, but allows an optional allocator callback to be used to provide a buffer for the parameters.
KsMoveIrpsOnCancelableQueue

The KsMoveIrpsOnCancelableQueue function moves the specified IRPs from the SourceList parameter to the DestinationList parameter depending on the value returned from the minidriver-defined KStrIrpListCallback function.
KsNullDriverUnload

The KsNullDriverUnload function is a default function a driver can use when it has no other tasks to do in its unload function, but must still allow the device to be unloaded by its presence.
KsPersistDeviceProfile

The KsPersistDeviceProfile API commits the profile information to the persistent store.
KsPinAcquireControl

The KsPinAcquireControl function acquires the control mutex for the AVStream pin specified by Pin.
KsPinAcquireProcessingMutex

The KsPinAcquireProcessingMutex function acquires the processing mutex for the AVStream pin specified by Pin.
KsPinAddEvent

The KsPinAddEvent function adds a specified event to Pin's event list.
KsPinAttachAndGate

The KsPinAttachAndGate function connects Pin as an input to a previously initialized AND gate, and connects AndGate as an input to the relevant filter's AND gate.
KsPinAttachOrGate

The KsPinAttachOrGate function connects Pin as an input to a previously initialized OR gate, and connects OrGate as an input to the relevant filter's AND gate.
KsPinAttemptProcessing

The KsPinAttemptProcessing function is used to resume processing on a specific pin on a pin-centric filter. It attempts to initiate processing on Pin by sending a processing dispatch call to Pin's processing object.
KsPinDataIntersection

The KsPinDataIntersection function handles the KSPROPERTY_PIN_DATAINTERSECTION property through a callback function and performs much of the initial validation of the parameters that are passed.
KsPinDataIntersectionEx

The KsPinDataIntersectionEx function handles the KSPROPERTY_PIN_DATAINTERSECTION through a callback function.
KsPinGenerateEvents

The KsPinGenerateEvents function generates events of an indicated type that are present in Pin's event list.
KsPinGetAndGate

The KsPinGetAndGate function returns the processing control gate for Pin.
KsPinGetAvailableByteCount

The KsPinGetAvailableByteCount routine outputs the number of bytes of input data ahead of the leading edge and the number of bytes of output buffer ahead of the leading edge, both for the queue of a caller-specified pin.
KsPinGetConnectedFilterInterface

The KsPinGetConnectedFilterInterface function queries the filter to which Pin is connected in order to obtain a pointer to a COM interface.
KsPinGetConnectedPinDeviceObject

The KsPinGetConnectedPinDeviceObject function returns the device object at the top of the device stack corresponding to the sink pin attached to the source pin Pin.
KsPinGetConnectedPinFileObject

The KsPinGetConnectedPinFileObject function returns the file object for the pin to which Pin is connected. Works only for source pins.
KsPinGetConnectedPinInterface

The KsPinGetConnectedPinInterface function queries the pin to which Pin is connected for a COM style interface.
KsPinGetCopyRelationships

The KsPinGetCopyRelationships function returns copy relationship information for a pin that is contained within a pin-centric filter.
KsPinGetDevice

The KsPinGetDevice function returns the AVStream device to which Pin belongs.
KsPinGetFirstCloneStreamPointer

The KsPinGetFirstCloneStreamPointer function returns the first cloned stream pointer on Pin.
KsPinGetLeadingEdgeStreamPointer

The KsPinGetLeadingEdgeStreamPointer function acquires the leading edge stream pointer for the queue associated with the given pin.
KsPinGetNextSiblingPin

The KsPinGetNextSiblingPin function returns the next instantiated pin of the same type and on the same filter as Pin.
KsPinGetOuterUnknown

The KsPinGetOuterUnknown function returns the outer IUnknown of the pin specified by Pin.
KsPinGetParentFilter

The KsPinGetParentFilter function returns the parent filter of Pin.
KsPinGetReferenceClockInterface

The KsPinGetReferenceClockInterface function returns a COM style interface to the reference clock associated with Pin. This interface pointer will be an IKsReferenceClock interface.
KsPinGetTrailingEdgeStreamPointer

The KsPinGetTrailingEdgeStreamPointer function acquires the trailing edge stream pointer for the queue associated with the specified pin.
KsPinHandshake

The KsPinHandshake function attempts a protocol handshake with a connected pin.
KsPinPropertyHandler

The KsPinPropertyHandler function performs standard handling of the static members of the KSPROPSETID_Pin property set. This handling does not include KSPROPERTY_PIN_CINSTANCES or KSPROPERTY_PIN_DATAINTERSECTION.
KsPinRegisterAggregatedClientUnknown

The KsPinRegisterAggregatedClientUnknown function is an inline function that is a wrapper for KsRegisterAggregatedClientUnknown.
KsPinRegisterFrameReturnCallback

The KsPinRegisterFrameReturnCallback function registers a frame return callback with AVStream for a given pin.
KsPinRegisterHandshakeCallback

The KsPinRegisterHandshakeCallback function registers a minidriver-provided callback routine for a given pin.
KsPinRegisterIrpCompletionCallback

The KsPinRegisterIrpCompletionCallback function registers a minidriver-defined callback routine for a specified pin.
KsPinRegisterPowerCallbacks

The KsPinRegisterPowerCallbacks function registers power management callbacks for Pin.
KsPinReleaseControl

The KsPinReleaseControl function releases the control mutex for the AVStream pin specified by Pin.
KsPinReleaseProcessingMutex

The KsPinReleaseProcessingMutex function releases the processing mutex for the AVStream pin specified by Pin.
KsPinSetPinClockTime

The KsPinSetPinClockTime function sets the current time on the clock exposed by Pin.
KsPinSubmitFrame

If a pin has been placed into injection mode by a call to KsPinRegisterFrameReturnCallback, the KsPinSubmitFrame function submits a frame directly into the transport circuit.
KsPinSubmitFrameMdl

If a pin has been placed into injection mode by a call to KsPinRegisterFrameReturnCallback, the KsPinSubmitFrameMdl function submits a frame directly into the transport circuit.
KsProbeStreamIrp

The KsProbeStreamIrp function makes the specified modifications to the input and output buffers of the given IRP based on the flags passed, and it then validates the stream header.
KsProcessPinUpdate

The KsProcessPinUpdate function is called from within a filter-centric filter's AVStrMiniFilterProcess dispatch to update a process pin.
KsPropertyHandler

Drivers call KsPropertyHandler function for IRP handling.
KsPropertyHandlerWithAllocator

The KsPropertyHandlerWithAllocator performs the same handling as KsPropertyHandler, with the same restrictions, but allows an optional allocator callback to be used to provide a buffer for the parameters.
KsPublishDeviceProfile

The KsPublishDeviceProfile API is called to publish device profile information.
KsQueryDevicePnpObject

The KsQueryDevicePnpObject function returns the PnP device object that can be stored in the device header. This is the next device object on the PnP stack and is the device object that PnP requests are forwarded to if KsDefaultDispatchPnp is used.
KsQueryInformationFile

The KsQueryInformationFile function performs an information query against the specified file object. The function attempts to use FastIoDispatch if possible, or it generates an information request against the device object.
KsQueryObjectAccessMask

The KsQueryObjectAccessMask function returns the access originally granted to the first client that created a handle on the associated object. Access cannot be changed by duplicating handles.
KsQueryObjectCreateItem

The KsQueryObjectCreateItem function returns the create item assigned to the object when created.
KsQueueWorkItem

The KsQueueWorkItem function queues the specified work item with a worker previous created by the KsRegisterWorker function.
KsReadFile

The KsReadFile function performs a read against the specified file object.
KsRecalculateStackDepth

The KsRecalculateStackDepth function recalculates the maximum stack depth required by the underlying device object based on all of the objects that have set a target device (they have added themselves to the object list on the underlying device object using the KsSetTargetDeviceObject function). If the PnP device object has been set on the underlying device header using KsSetDevicePnpAndBaseObject, that device is also taken into account when calculating the maximum stack depth.
KsReferenceBusObject

References the bus Physical device object.
KsRegisterAggregatedClientUnknown

In a manner very similar to COM, the KsRegisterAggregatedClientUnknown function aggregates two objects:_the specified AVStream object and a client unknown object.
KsRegisterCountedWorker

Handles clients registering for use of a thread.
KsRegisterFilterWithNoKSPins

The KsRegisterFilterWithNoKSPins function registers with DirectShow filters that have no kernel streaming pins and, therefore, do not stream in kernel mode.
KsRegisterWorker

The KsRegisterWorker function handles clients registering for use of a thread.
KsReleaseCachedMdl

The KsReleaseCachedMdl function is used to release the MDL acquired by the KsAcquireCachedMdl call.
KsReleaseControl

The KsReleaseControl function releases the control mutex for Object.
KsReleaseDevice

The KsReleaseDevice function releases the device mutex and exits the critical region.
KsReleaseDeviceSecurityLock

The KsReleaseDeviceSecurityLock function releases a previously acquired security lock on the device object header.
KsReleaseIrpOnCancelableQueue

The KsReleaseIrpOnCancelableQueue function releases an acquired IRP that is already on a queue that can be canceled.
KsRemoveIrpFromCancelableQueue

The KsRemoveIrpFromCancelableQueue function pops the next noncanceled IRP from the specified queue that can be canceled and removes its cancel status.
KsRemoveItemFromObjectBag

The KsRemoveItemFromObjectBag function removes an item from an object bag.
KsRemoveSpecificIrpFromCancelableQueue

The KsRemoveSpecificIrpFromCancelableQueue function removes the specified IRP from the specified queue. This is performed on an IRP that was previously acquired using KsRemoveIrpFromCancelableQueue, but that was not actually removed from the queue.
KsSetDefaultClockState

The KsSetDefaultClockState function sets the current state of the clock that is used to reflect the current state of the underlying filter pin.
KsSetDefaultClockTime

The KsSetDefaultClockTime function sets the current time of the clock.
KsSetDevicePnpAndBaseObject

The KsSetDevicePnpAndBaseObject function sets the PnP device object in the device header, which is the next device object on the PnP stack and is the device object that PnP requests are forwarded to if KsDefaultDispatchPnp is used.
KsSetInformationFile

The KsSetInformationFile function performs an information set against the specified file object. The function attempts to use FastIoDispatch if possible, or it generates an information set against the device object.
KsSetMajorFunctionHandler

The KsSetMajorFunctionHandler function sets the handler for a specified major function to use the internal dispatching.
KsSetPowerDispatch

Sets the power dispatch function to be called when the driver object receives an IRP_MJ_POWER IRP.
KsSetTargetDeviceObject

The KsSetTargetDeviceObject function sets the target device object of an object. The function adds the object header to a list of object headers that have target devices.
KsSetTargetState

Sets the enabled state of a target device associated with the specified object header.
KsStreamIo

The KsStreamIo function performs a stream read or write against the specified file object. The function attempts to use FastIoDispatch if possible, or it generates a read or write request against the device object.
KsStreamPointerAdvance

The KsStreamPointerAdvance function advances a stream pointer to the next data frame.
KsStreamPointerAdvanceOffsets

The KsStreamPointerAdvanceOffsets function advances the offsets of StreamPointer.
KsStreamPointerAdvanceOffsetsAndUnlock

The KsStreamPointerAdvanceOffsetsAndUnlock function advances StreamPointer the specified number of bytes into the stream (adjusting the OffsetIn and OffsetOut fields of StreamPointer as requested) and unlocks it.
KsStreamPointerCancelTimeout

The KsStreamPointerCancelTimeout function cancels a previously scheduled time-out callback on the specified stream pointer.
KsStreamPointerClone

The KsStreamPointerClone function creates a clone of a given stream pointer.
KsStreamPointerDelete

The KsStreamPointerDelete function deletes a clone stream pointer, releasing a reference on the frame to which this stream pointer referred.
KsStreamPointerGetIrp

The KsStreamPointerGetIrp function returns the IRP associated with the frame that is referenced by the given stream pointer.
KsStreamPointerGetMdl

The KsStreamPointerGetMdl function returns the MDL associated with the frame referenced by StreamPointer.
KsStreamPointerGetNextClone

The KsStreamPointerGetNextClone function returns the clone stream pointer that was cloned immediately after the specified clone.
KsStreamPointerLock

The KsStreamPointerLock function attempts to lock the specified stream pointer.
KsStreamPointerScheduleTimeout

The KsStreamPointerScheduleTimeout function registers a timeout callback with AVStream for the given stream pointer.
KsStreamPointerSetStatusCode

The KsStreamPointerSetStatusCode function allows specification of a successful or unsuccessful error code with which to complete the given IRP.
KsStreamPointerUnlock

The KsStreamPointerUnlock function unlocks a stream pointer that has previously been locked by an acquisition function (KsGetXxxEdgeStreamPointer) or by KsStreamPointerLock.
KsSynchronousIoControlDevice

The KsSynchronousIoControlDevice function performs a synchronous device I/O control on the target device object. It waits in a nonalertable state until the I/O completes. This function can only be called at PASSIVE_LEVEL.
KsTerminateDevice

The KsTerminateDevice function removes an AVStream device.
KsTopologyPropertyHandler

The KsTopologyPropertyHandler function performs standard handling of the static members of the KSPROPSETID_Topology Property Set. The function uses the KSTOPOLOGY structure, which describes the set of information that is returned by this property set.
KsUnregisterWorker

The KsUnregisterWorker function allows clients to unregister a worker.
KsUnserializeObjectPropertiesFromRegistry

The KsUnserializeObjectPropertiesFromRegistry function, when given a destination object and a registry path, enumerates the named values and applies them as serialized data to the specified property sets listed in the serialized data.
KsValidateAllocatorCreateRequest

The KsValidateAllocatorCreateRequest function validates an IRP_MJ_CREATE request as an allocator request and returns the create structure associated with the request on success.
KsValidateAllocatorFramingEx

The KsValidateAllocatorFramingEx function is reserved for system use only.
KsValidateClockCreateRequest

The KsValidateClockCreateRequest function validates the clock creation request and returns the create structure associated with the request.This can only be called at PASSIVE_LEVEL.
KsValidateConnectRequest

The KsValidateConnectRequest function validates a connection request and returns a pointer to the connection structure associated with the request.This function can only be called at PASSIVE_LEVEL.
KsValidateTopologyNodeCreateRequest

The KsValidateTopologyNodeCreateRequest function validates a topology node creation request and returns the create structure associated with the request. The function can only be called at PASSIVE_LEVEL.
KsWriteFile

The KsWriteFile function performs a write against the specified file object.

Callback functions

 
PFNALLOCATOR_ALLOCATEFRAME

The KStrAllocateFrame routine describes a vendor-supplied frame allocation function.
PFNALLOCATOR_FREEFRAME

The KStrFreeFrame routine describes a vendor-supplied frame deallocation function.
PFNDEREFERENCEDEVICEOBJECT

The PFNDEREFERENCEDEVICEOBJECT callback function (ks.h) can be invoked by the driver to decrement the reference count of the Physical Device Object (PDO).
PFNKSADDEVENT

An AVStream minidriver's AVStrMiniAddEvent routine is called when a client registers to be notified of an event. This routine is optional.
PFNKSALLOCATOR

Minidrivers can optionally supply a callback function of type PFNKSALLOCATOR as a parameter in calls to KsEnableEventWithAllocator, KsPropertyHandlerWithAllocator, and KsMethodHandlerWithAllocator.
PFNKSCANCELTIMER

A streaming minidriver's KStrCancelTimer routine is called to cancel a custom timer object that was previously specified in the SetTimer parameter in a call to KsAllocateDefaultClockEx.
PFNKSCLOCK_CORRELATEDTIME

The routine is a system-supplied routine that retrieves and the following:KStrClockGetCorrelatedTime is a system-supplied routine that retrieves both the current system time and the corresponding clock tick count since boot.KStrClockGetCorrelatedPhysicalTime is a system-supplied routine that retrieves both the current system time minus suspended delta and the corresponding clock tick since boot.
PFNKSCLOCK_GETTIME

The routine gets system time.KStrClockGetTime is a system-supplied routine that retrieves the current system time.KStrClockGetPhysicalTime is a system-supplied routine that retrieves the current system time minus any suspended delta.
PFNKSCONTEXT_DISPATCH

A streaming minidriver's KStrContextDispatch routine is called to process IRP_MJ_POWER IRPs.
PFNKSCORRELATEDTIME

A streaming minidriver's KStrCorrelatedTime routine is called to retrieve both the presentation time and physical time in a correlated manner. This allows the clock owner to completely determine the current time.
PFNKSDEFAULTALLOCATE

An AVStream minidriver's AVStrMiniAllocate routine allocates a frame using the allocator specified in the Context parameter.
PFNKSDEFAULTFREE

An AVStream minidriver's AVStrMiniAllocatorFreeFrame routine frees the specified frame.
PFNKSDELETEALLOCATOR

An AVStream minidriver's AVStrMiniDeleteAllocator routine deletes the allocator that is associated with a pin.
PFNKSDEVICE

An AVStream minidriver's AVStrMiniDevicePostStart routine is called when AVStream performs post-PnP-start processing. Use it to load drivers at start time, for example. Such events then will occur in the context of a worker thread after PnP start.
PFNKSDEVICECREATE

An AVStream minidriver's AVStrMiniDeviceAdd routine notifies the minidriver that AVStream's PnP AddDevice routine has completed.
PFNKSDEVICEIRP

An AVStream minidriver's IRP handler routine is called when these IRPs is dispatched by the device.IRP_MN_QUERY_REMOVE_DEVICEIRP_MN_QUERY_STOP_DEVICEIRP_MN_QUERY_INTERFACE
PFNKSDEVICEIRPVOID

An AVStream minidriver's IRP handling routine is called when these IRPs are dispatched by the device.IRP_MN_CANCEL_STOP_DEVICEIRP_MN_CANCEL_REMOVE_DEVICEIRP_MN_REMOVE_DEVICEIRP_MN_STOP_DEVICEIRP_MN_SURPRISE_REMOVAL
PFNKSDEVICEPNPSTART

An AVStream minidriver's AVStrMiniDeviceStart routine is called when an IRP_MN_START_DEVICE request is sent for a specified device.
PFNKSDEVICEQUERYCAPABILITIES

An AVStream minidriver's AVStrMiniDeviceQueryCapabilities routine is called when an IRP_MN_QUERY_CAPABILITIES is dispatched by the device.
PFNKSDEVICEQUERYPOWER

AVStream calls a minidriver's AVStrMiniDeviceQueryPower routine when it receives an IRP_MN_QUERY_POWER request.
PFNKSDEVICESETPOWER

AVStream calls a minidriver's AVStrMiniDeviceSetPower routine when it receives an IRP_MN_SET_POWER.
PFNKSFASTHANDLER

KStrFastHandler is a driver-supplied routine that handles a property or method request without the creation of an IRP.
PFNKSFILTERIRP

An AVStream minidriver's AVStrMiniFilterCreate routine is called when a filter receives an IRP.
PFNKSFILTERPROCESS

An AVStream minidriver's AVStrMiniFilterProcess routine is called when the filter is meant to process frames. It is used to perform Filter-Centric Processing.
PFNKSFILTERVOID

An AVStream minidriver's AVStrMiniFilterReset routine is called when AVStream receives an IOCTL_KS_RESET_STATE to return the filter to the state it was in at Acquire-time.
PFNKSHANDLER

The minidriver-provided routine is called when Kernel Streaming receives an IOCTL_KS_METHOD, get/set property request. Provide a pointer to this handler in the relevant KSMETHOD_ITEM, KSPROPERTY_ITEM structure.
PFNKSINTERSECTHANDLER

A streaming minidriver's KStrIntersectHandler routine is called to compare a data range to determine if there is an intersection, and if so, the data format of the intersection.
PFNKSINTERSECTHANDLEREX

AVStream calls a minidriver's AVStrMiniIntersectHandlerEx routine to determine the highest quality intersection of two data ranges.
PFNKSIRPLISTCALLBACK

A streaming minidriver's KStrIrpListCallback routine is called to determine whether the passed in IRP should be moved from the source list to the destination list, or if IRP enumeration should be terminated.
PFNKSITEMFREECALLBACK

A streaming minidriver's KStrItemFreeCallback routine is called to free a previously allocated create item. KStrItemFreeCallback allows the minidriver to perform any cleanup, including flushing security descriptor changes, if necessary.
PFNKSPIN

An AVStream minidriver's callback routine is called when:_There is data available for a KSPIN structure to process. Use this routine to perform Pin-Centric Processing.The relevant KSPIN is serving as a sink pin and is connected to an AVStream source pin.
PFNKSPINFRAMERETURN

An AVStream minidriver's AVStrMiniFrameReturn routine is called when an injected frame has completed its trip around the circuit and is ready to be recycled or freed.
PFNKSPINHANDSHAKE

An AVStream minidriver's AVStrMiniPinHandshake routine is called when AVStream receives a protocol handshake request that it does not handle.
PFNKSPININITIALIZEALLOCATOR

An AVStream minidriver's AVStrMiniInitializeAllocator routine initializes an allocator that will be associated with a pin.
PFNKSPINIRP

An AVStream minidriver's routine is called when an activity on the pin is performed and it receives these IRPs:IRP_MJ_CREATEIRP_MJ_CLOSE
PFNKSPINIRPCOMPLETION

An AVStream minidriver's AVStrMiniPinIrpCompletion routine is called when an IRP completes a pass around the circuit and the frame that is associated with the IRP is about to be recycled or retired.
PFNKSPINPOWER

An AVStream minidriver's AVStrMiniPinPower routine is called for pin-centric pins when the device is waking or entering a sleep state.
PFNKSPINSETDATAFORMAT

An AVStream minidriver's AVStrMiniPinSetDataFormat routine is called at pin creation time to verify that the previously agreed upon data format is acceptable for this KSPIN structure and a match for this KSDATARANGE structure.
PFNKSPINSETDEVICESTATE

An AVStream minidriver's AVStrMiniPinSetDeviceState routine is called when the state of a KSPIN structure is changed due to the arrival of a connection state property 'set' IOCTL.
PFNKSPINVOID

An AVStream minidriver's callback routine is called when:The relevant KSPIN is serving as a sink pin and this sink pin is disconnected from an AVStream source pin.A KSPIN structure's reset state is changed due to the arrival of an IOCTL_KS_RESET_STATE device control. This routine is also called when the queue associated with the given pin is flushed.
PFNKSREMOVEEVENT

An AVStream minidriver's AVStrMiniRemoveEvent routine is called when a client requests to be removed from the notification queue for an event. This routine is optional.
PFNKSSETTIMER

A streaming minidriver's KStrSetTimer routine is called to generate DPC timer callbacks based on presentation time.
PFNKSSTREAMPOINTER

AVStream calls a minidriver's AVStrMiniCancelCallback routine when the IRP that is associated with a cloned stream pointer is canceled. This routine is optional.
PFNQUERYREFERENCESTRING

The PFNQUERYREFERENCESTRING callback function (ks.h) copies the reference string associated with the PDO into a buffer that is created and freed by the caller.
PFNREFERENCEDEVICEOBJECT

The PFNREFERENCEDEVICEOBJECT callback function (ks.h) can be invoked by the driver to increment the reference count of the Physical Device Object (PDO).

Structures

 
BUS_INTERFACE_MEDIUMS

Learn more about: BUS_INTERFACE_MEDIUMS structure
BUS_INTERFACE_REFERENCE

A software device enumerator exports this interface to allow drivers to reference count physical device objects (PDOs) such that the device remains active while in use and is unloaded when not in use.
KS_COMPRESSION

The KS_COMPRESSION structure defines the compression of frames on an output pin.
KS_FRAMING_ITEM

The KS_FRAMING_ITEM structure is used to declare allocator requirements on a kernel-mode pin.
KS_FRAMING_RANGE

The KS_FRAMING_RANGE structure specifies a range for frame sizes for a given framing item.
KS_FRAMING_RANGE_WEIGHTED

Drivers can use the KS_FRAMING_RANGE_WEIGHTED structure to specify a range of weighted frame sizes.
KSALLOCATOR_DISPATCH

The KSALLOCATOR_DISPATCH structure contains the callbacks required for a pin to implement its own kernel-level allocator.
KSALLOCATOR_FRAMING

The KSALLOCATOR_FRAMING structure is used to query framing requirements and submit allocator creation requests.
KSALLOCATOR_FRAMING_EX

The KSALLOCATOR_FRAMING_EX structure is the AVStream replacement for KSALLOCATOR_FRAMING. KSALLOCATOR_FRAMING_EX defines allocator requirements on a pin in a kernel level filter.
KSATTRIBUTE

The KSATTRIBUTE structure defines an additional attribute of a data format or data range that is not covered by the KSDATAFORMAT and KSDATARANGE structures or the extended information based on the format and range specifiers.
KSATTRIBUTE_LIST

The KSATTRIBUTE_LIST structure contains an attribute defined in a KSATTRIBUTE structure.
KSAUTOMATION_TABLE

The KSAUTOMATION_TABLE structure defines a structure that combines tables for properties, methods, and events.
KSBUFFER_ITEM

The KSBUFFER_ITEM structure is used to store a list of data buffers copied from the event source, which can be retrieved by the event sink through KSEVENT_TYPE_QUERYBUFFER.
KSCLOCK_CREATE

The KSCLOCK_CREATE structure is used in clock create parameters for the KsCreateClock function.
KSCLOCK_DISPATCH

The KSCLOCK_DISPATCH structure contains the callbacks required for a pin to implement a clock object.
KSCLOCK_FUNCTIONTABLE

The KSCLOCK_FUNCTIONTABLE structure describes a function table for the master clock.
KSCOMPONENTID

The KSCOMPONENTID structure contains unique identifiers that describe an individual kernel streaming object.
KSCORRELATED_TIME

The KSCORRELATED_TIME structure contains a clock time as well as the corresponding number of clock ticks since system boot.
KSDATAFORMAT

The KSDATAFORMAT structure is a variable-length structure that describes a data format.
KSDATAFORMAT

This topic describes the KSDATAFORMAT union.
KSDEVICE

The KSDEVICE structure describes a WDM functional device that is managed by AVStream.
KSDEVICE_DESCRIPTOR

The KSDEVICE_DESCRIPTOR structure describes the characteristics of a particular device.
KSDEVICE_DISPATCH

The KSDEVICE_DISPATCH structure describes the callbacks that a client can provide to receive notification of device creation and PnP events.
KSDEVICE_THERMAL_DISPATCH

The KSDEVICE_THERMAL_DISPATCH structure is used by the miniport driver in the API call to register thermal notification callbacks. This structure contains the callback function pointers for active and passive cooling interfaces.
KSDISPATCH_TABLE

The KSDISPATCH_TABLE structure contains pointers to minidriver implemented IRP dispatch routines.
KSDPC_ITEM

The KSDPC_ITEM structure is used to store information related to any internal DPCs that might be used to generate event notification from a raised IRQL.
KSE_NODE

The KSE_NODE structure specifies an event request on a specific node.
KSE_PIN

Learn more about: KSE_PIN structure
KSERROR

The KSERROR structure is used to report streaming errors in both kernel and user mode to their respective quality managers.
KSEVENT_ENTRY

The kernel streaming subsystem uses the KSEVENT_ENTRY structure to describe how an event should be triggered.
KSEVENT_ITEM

The KSEVENT_ITEM structure describe a minidriver's support for a specific event within an event set.
KSEVENT_SET

The KSEVENT_SET structure describes the events that comprise a kernel streaming event set.
KSEVENT_TIME_INTERVAL

The KSEVENT_TIME_INTERVAL structure is used in various events within the KSEVENTSETID_Clock event set.
KSEVENT_TIME_MARK

The KSEVENT_TIME_MARK structure is used in various events within the KSEVENTSETID_Clock event set.
KSEVENTDATA

Kernel streaming clients send the KSEVENTDATA structure to the class driver to specify a notification method.
KSFASTMETHOD_ITEM

Drivers provide a structure of type KSFASTMETHOD_ITEM to support fast I/O dispatching.
KSFASTPROPERTY_ITEM

The KSFASTPROPERTY_ITEM structure is used with items for fast I/O dispatching.
KSFILTER

The KSFILTER structure describes an instantiated filter.
KSFILTER_DESCRIPTOR

The KSFILTER_DESCRIPTOR structure describes the characteristics of a filter created by a given filter factory.
KSFILTER_DISPATCH

The KSFILTER_DISPATCH structure describes the client callbacks that are made to notify the client of certain events on a given filter type.
KSFILTERFACTORY

The KSFILTERFACTORY structure represents a filter factory.
KSFRAMETIME

The KSFRAMETIME structure is supported by rendering pins, and is used to return the duration of the next frame of data, and flags associated with that frame.
KSGATE

The KSGATE structure describes an AVStream gate object.
KSGRAPHMANAGER_FUNCTIONTABLE

Learn more about: KSGRAPHMANAGER_FUNCTIONTABLE structure
KSHANDSHAKE

The KSHANDSHAKE structure is used to pass information back and forth while pins are handshaking in an attempt to negotiate a private interface.
KSIDENTIFIER

The KSIDENTIFIER structure specifies a GUID that uniquely identifies a related set of GUIDs, and an index value to refer to a specific member within that set.
KSINTERVAL

The KSINTERVAL structure specifies a base time and time interval for recurring events.
KSM_NODE

Just as KSP_NODE is used for properties on a node, the KSM_NODE structure is used for methods on a node.
KSMAPPING

The KSMAPPING structure is used to describe a single contiguous chunk of physical memory for use in scatter/gather DMA operations.
KSMETHOD_ITEM

The KSMETHOD_ITEM structure describes a single method within a method set.
KSMETHOD_SET

The KSMETHOD_SET structure describes the methods that comprise a kernel streaming method set.
KSMULTIPLE_ITEM

The KSMULTIPLE_ITEM structure is a generic header for property data that can contain multiple entries.
KSNODE_CREATE

The KSNODE_CREATE structure describes the set of information used to create the node handle.
KSNODE_DESCRIPTOR

The KSNODE_DESCRIPTOR structure describes a topology node within a filter.
KSOBJECT_CREATE

The KSOBJECT_CREATE structure contains an array of create handlers for base object classes supported by this device object.
KSOBJECT_CREATE_ITEM

The KSOBJECT_CREATE_ITEM structure is used to look up the string passed to a create request.
KSP_NODE

Kernel streaming clients use the KSP_NODE structure to specify the property and node type within a KSPROPERTY_TOPOLOGY_NAME property request.
KSP_PIN

Kernel streaming clients use the KSP_PIN structure to specify the property and pin type within a KSPROPSETID_Pin property request.
KSP_TIMEFORMAT

The KSP_TIMEFORMAT structure corresponds to KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT.
KSPIN

The KSPIN structure describes an instantiated pin.
KSPIN_CINSTANCES

Learn more about: KSPIN_CINSTANCES structure
KSPIN_CONNECT

Clients use the KSPIN_CONNECT structure to describe the connection they request from a driver in a KsCreatePin call.
KSPIN_DESCRIPTOR

The KSPIN_DESCRIPTOR structure describes the basic KSPROPSETID_Pin properties of a pin type.
KSPIN_DESCRIPTOR_EX

The KSPIN_DESCRIPTOR_EX structure describes the characteristics of a pin type on a given filter type.
KSPIN_DISPATCH

The KSPIN_DISPATCH structure describes the callbacks for which clients can register in order to receive notification of pin events.
KSPIN_MDL_CACHING_NOTIFICATION

The KSPIN_MDL_CACHING_NOTIFICATION structure contains fields that are used internally by the operating system.
KSPIN_MDL_CACHING_NOTIFICATION32

The KSPIN_MDL_CACHING_NOTIFICATION32 structure contains fields that are used internally by the operating system.
KSPIN_PHYSICALCONNECTION

A structure of type KSPIN_PHYSICALCONNECTION is returned in response to a KSPROPERTY_PIN_PHYSICALCONNECTION request.
KSPRIORITY

The KSPRIORITY structure is used to specify priority and is used with the KSPROPERTY_CONNECTION_PRIORITY property.
KSPROCESSPIN

The KSPROCESSPIN structure describes the process state of a specific pin.
KSPROCESSPIN_INDEXENTRY

The KSPROCESSPIN_INDEXENTRY structure is used in Filter-Centric Processing to bring together all of the input and output pins in one context.
KSPROPERTY_BOUNDS_LONG

The KSPROPERTY_BOUNDS_LONG structure defines the bounds for a 32-bit property.
KSPROPERTY_BOUNDS_LONGLONG

The KSPROPERTY_BOUNDS_LONGLONG structure defines the bounds for a 64-bit property.
KSPROPERTY_DESCRIPTION

The KSPROPERTY_DESCRIPTION structure specifies the size and type of values contained in a specific property.
KSPROPERTY_GRAPHMANAGER_INTERFACE

Learn more about: _KSPROPERTY_GRAPHMANAGER_INTERFACE structure
KSPROPERTY_ITEM

Drivers use the KSPROPERTY_ITEM structure to describe how they support a property in a property set.
KSPROPERTY_MEDIAAVAILABLE

The KSPROPERTY_MEDIAAVAILABLE structure specifies the media time span (the time span that a client can seek within) that is currently available on a filter.
KSPROPERTY_MEMBERSHEADER

A driver provides a structure of type KSPROPERTY_MEMBERSHEADER to describe the size and type of each element in an array containing property values or ranges.
KSPROPERTY_MEMBERSLIST

The KSPROPERTY_MEMBERSLIST structure contains a list of legal values or ranges for a property.
KSPROPERTY_POSITIONS

The KSPROPERTY_POSITIONS structure specifies the current position and stop position, relative to the total duration of the stream.
KSPROPERTY_SERIAL

The KSPROPERTY_SERIAL structure is a header that is included for each property that follows a KSPROPERTY_SERIALHDR structure.
KSPROPERTY_SERIALHDR

The format of the serialization buffer is a KSPROPERTY_SERIALHDR structure, followed by serialized properties.
KSPROPERTY_SET

A kernel streaming driver or pin may use the KSPROPERTY_SET structure to describe how it supports a property set.
KSPROPERTY_STEPPING_LONG

The KSPROPERTY_STEPPING_LONG structure defines the valid range of values for a 32-bit property.
KSPROPERTY_STEPPING_LONGLONG

The KSPROPERTY_STEPPING_LONGLONG structure defines the valid range of values for a 64-bit property.
KSPROPERTY_VALUES

The KSPROPERTY_VALUES structure describes the type and acceptable default values of a property.
KSQUALITY

The KSQUALITY structure is used to report QM problems in both kernel and user mode to their respective quality managers.
KSQUALITY_MANAGER

The KSQUALITY_MANAGER structure is used with the KSPROPERTY_STREAM_QUALITY property and contains the handle of the quality manager sink and a context to pass in the quality complaints.
KSQUERYBUFFER

The KSQUERYBUFFER structure is used when querying for outstanding buffers available on an event with KSEVENT_TYPE_QUERYBUFFER.
KSRATE

The query is passed a KSRATE structure appended to the property containing the rate request (known as a KSRATE_CAPABILITY structure), and is returned a KSRATE structure filled in with the capability given the rate request.
KSRATE_CAPABILITY

The client uses the KSRATE_CAPABILITY structure in a KSPROPERTY_STREAM_RATECAPABILITY property request.
KSRELATIVEEVENT

The KSPROPERTY_CONNECTION_STARTAT property is passed a KSRELATIVEEVENT structure.
KSRESOLUTION

The KSRESOLUTION structure specifies granularity and error of a kernel streaming clock.
KSSTREAM_HEADER

The KSSTREAM_HEADER structure is a variable-length structure that describes a packet of data to be read from or written to a streaming driver pin.
KSSTREAM_METADATA_INFO

This structure contains the metadata information that is passed down to the driver.
KSSTREAM_POINTER

The KSSTREAM_POINTER structure is the basic AVStream pointer into a stream.
KSSTREAM_POINTER_OFFSET

The KSSTREAM_POINTER_OFFSET structure indexes bytes or mappings within a frame.
KSSTREAM_UVC_METADATA

The KSSTREAM_UVC_METADATA structure contains start and end of frame timestamp information.
KSSTREAM_UVC_METADATATYPE_TIMESTAMP

The KSSTREAM_UVC_METADATATYPE_TIMESTAMP structure contains USB video class (UVC) clock and timestamp information.
KSSTREAMALLOCATOR_FUNCTIONTABLE

Clients can request the function table of a given allocator by sending a KSSTREAMALLOCATOR_FUNCTIONTABLE structure in a KSPROPERTY_STREAMALLOCATOR_FUNCTIONTABLE property request.
KSSTREAMALLOCATOR_STATUS

The KSSTREAMALLOCATOR_STATUS structure describes framing requirements and current number of allocated frames for a specific allocator.
KSSTREAMALLOCATOR_STATUS_EX

Client use KSSTREAMALLOCATOR_STATUS_EX to query the status for allocators supporting the extended allocator framing.
KSTIME

The KSTIME structure specifies a time stamp that can be used to indicate stream position.
KSTOPOLOGY

The KSTOPOLOGY structure describes the topology of pins and nodes.
KSTOPOLOGY_CONNECTION

The KSTOPOLOGY_CONNECTION structure describes a single data-path connection inside a kernel streaming filter.
MF_MDL_SHARED_PAYLOAD_KEY

This union is used internally by the operating system.

Enumerations

 
KS_SEEKING_CAPABILITIES

Learn more about: KS_SEEKING_CAPABILITIES enumeration
KS_SEEKING_FLAGS

The KS_SEEKING_FLAGS enumeration lists positioning options that can be used in conjunction with the KSPROPERTY_POSITIONS structure.
KSCOMPLETION_INVOCATION

Learn more about: KSCOMPLETION_INVOCATION enumeration
KSDEGRADE_STANDARD

The KSDEGRADE_STANDARD enumeration lists different types of degradation.
KSDEVICE_THERMAL_STATE

A KS-defined enumeration for thermal state changes.
KSEVENT_CLOCK_POSITION

Learn more about: KSEVENT_CLOCK_POSITION enumeration
KSEVENT_CONNECTION

Learn more about: KSEVENT_CONNECTION enumeration
KSEVENT_DEVICE

Specifies event notifications that the driver generates to indicate that a device has been lost or preempted.
KSEVENT_PINCAPS_CHANGENOTIFICATIONS

Learn more about: KSEVENT_PINCAPS_CHANGENOTIFICATIONS enumeration
KSEVENT_STREAMALLOCATOR

Learn more about: KSEVENT_STREAMALLOCATOR enumeration
KSEVENT_VOLUMELIMIT

Learn more about: KSEVENT_VOLUMELIMIT enumeration
KSEVENTS_LOCKTYPE

The KSEVENTS_LOCKTYPE enumeration identifies the type of exclusion lock. The types are used with EventFlags in several event-set helper functions.
KSINTERFACE_FILEIO

Learn more about: KSINTERFACE_FILEIO enumeration
KSINTERFACE_STANDARD

Learn more about: KSINTERFACE_STANDARD enumeration
KSIRP_REMOVAL_OPERATION

Learn more about: KSIRP_REMOVAL_OPERATION enumeration
KSLIST_ENTRY_LOCATION

Learn more about: KSLIST_ENTRY_LOCATION enumeration
KSMETHOD_STREAMALLOCATOR

Learn more about: KSMETHOD_STREAMALLOCATOR enumeration
KSMETHOD_STREAMIO

Learn more about: KSMETHOD_STREAMIO enumeration
KSOBJECTTYPE

The KSOBJECTTYPE enumeration lists different types of kernel streaming objects.
KSPIN_COMMUNICATION

Learn more about: KSPIN_COMMUNICATION enumeration
KSPIN_DATAFLOW

An instance of the KSPIN_DATAFLOW enumeration is returned by KSPROPERTY_PIN_DATAFLOW.
KSPIN_MDL_CACHING_EVENT

The KSPIN_MDL_CACHING_EVENT enumeration contains values that are used internally by the operating system.
KSPPROPERTY_ALLOCATOR_MDLCACHING

The KSPPROPERTY_ALLOCATOR_MDLCACHING enumeration contains values that are used internally by the operating system.
KSPROPERTY_CLOCK

Learn more about: KSPROPERTY_CLOCK enumeration
KSPROPERTY_CONNECTION

Learn more about: KSPROPERTY_CONNECTION enumeration
KSPROPERTY_GENERAL

Learn more about: KSPROPERTY_GENERAL enumeration
KSPROPERTY_GM

Learn more about: KSPROPERTY_GM enumeration
KSPROPERTY_MEDIASEEKING

Learn more about: KSPROPERTY_MEDIASEEKING enumeration
KSPROPERTY_PIN

Learn more about: KSPROPERTY_PIN enumeration
KSPROPERTY_QUALITY

Learn more about: KSPROPERTY_QUALITY enumeration
KSPROPERTY_STREAM

Learn more about: KSPROPERTY_STREAM enumeration
KSPROPERTY_STREAMALLOCATOR

Learn more about: KSPROPERTY_STREAMALLOCATOR enumeration
KSPROPERTY_STREAMINTERFACE

Learn more about: KSPROPERTY_STREAMINTERFACE enumeration
KSPROPERTY_TOPOLOGY

Learn more about: KSPROPERTY_TOPOLOGY enumeration
KSRESET

Learn more about: KSRESET enumeration
KSSTACK_USE

Learn more about: KSSTACK_USE enumeration
KSSTATE

The KSSTATE enumeration lists possible states of a kernel streaming object.
KSSTREAM_POINTER_STATE

Learn more about: KSSTREAM_POINTER_STATE enumeration
KSTARGET_STATE

Learn more about: KSTARGET_STATE enumeration
VARENUM

Specifies the variant types.