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. |