ks.h 标头
此标头由流使用。 有关详细信息,请参阅:
ks.h 包含以下编程接口:
接口
IKsControl IKsControl 接口是在 AVStream 筛选器和引脚上实现的 COM 样式接口。 |
IKsDeviceFunctions IKsDeviceFunctions 接口是在 AVStream 设备上实现的 COM 样式接口。 此接口在 Windows Server 2003 SP1 及更高版本的 Windows 中可用。 |
IKsReferenceClock IKsReferenceClock 接口是由 AVStream 在所有引脚上提供的 COM 样式接口。 引脚将请求传递到主时钟。 |
IOCTLs
IOCTL_KS_DISABLE_EVENT 应用程序可以使用IOCTL_KS_DISABLE_EVENT取消以前的请求通知。 应用程序在调用 KsSynchronousDeviceControl 的 IoControl 参数中指定IOCTL_KS_DISABLE_EVENT。 |
IOCTL_KS_ENABLE_EVENT 应用程序可以使用IOCTL_KS_ENABLE_EVENT请求 KS 事件类型的通知,或确定 KS 对象支持的事件。 |
IOCTL_KS_HANDSHAKE 内核模式客户端可以使用IOCTL_KS_HANDSHAKE协商未连接的 AVStream 引脚之间的接口。 |
IOCTL_KS_METHOD 应用程序可以使用IOCTL_KS_METHOD对 KS 对象执行方法。 应用程序使用下面所述的参数将IOCTL_KS_METHOD传递给 KsSynchronousDeviceControl 函数。 |
IOCTL_KS_PROPERTY 应用程序可以使用IOCTL_KS_PROPERTY来获取或设置属性,或确定 KS 对象支持的属性。 应用程序使用下面所述的参数将IOCTL_KS_PROPERTY传递给 KsSynchronousDeviceControl 函数。 |
IOCTL_KS_READ_STREAM 应用程序可以使用IOCTL_KS_READ_STREAM从引脚读取数据。 应用程序使用下面所述的参数将IOCTL_KS_READ_STREAM传递给 KsSynchronousDeviceControl 函数。 |
IOCTL_KS_RESET_STATE 应用程序可以使用IOCTL_KS_RESET_STATE将引脚返回到获取时的状态。 应用程序使用下面所述的参数将IOCTL_KS_RESET_STATE传递给 KsSynchronousDeviceControl 函数。 |
IOCTL_KS_WRITE_STREAM 应用程序可以使用IOCTL_KS_WRITE_STREAM将数据写入引脚。 应用程序使用下面所述的参数将IOCTL_KS_WRITE_STREAM传递给 KsSynchronousDeviceControl 函数。 |
功能
_KsEdit _KsEdit函数保证通过对象包动态分配给定项并与 AVStream 对象关联。 |
KsAcquireCachedMdl 此函数用于获取 KS 端口驱动程序缓存的 MDL。 该函数由内核模式驱动程序用于获取 Avstream 驱动程序生成的管道提供的示例的 MDL。 |
KsAcquireControl KsAcquireControl 函数获取对象的筛选器控件互斥体。 |
KsAcquireDevice KsAcquireDevice 函数通过获取设备互斥体获取设备的同步访问。 |
KsAcquireDeviceSecurityLock KsAcquireDeviceSecurityLock 函数获取与设备对象关联的安全锁。 |
KsAcquireResetValue KsAcquireResetValue 函数从 IOCTL_KS_RESET_STATE IRP 检索当前重置状态。 |
KsAddDevice KsAddDevice 函数是 KsInitializeDriver 安装的默认 AddDevice 处理程序。 |
KsAddEvent KsAddEvent 函数将事件添加到对象的事件列表。 |
KsAddIrpToCancelableQueue KsAddIrpToCancelableQueue 函数将 IRP 添加到可取消 IRP 队列,从而允许取消 IRP。 如果 IRP 之前已设置为已取消状态,则 KsAddIrpToCancelableQueue 函数将完成该 IRP 的取消。 |
KsAddItemToObjectBag KsAddItemToObjectBag 函数将对象或内存块添加到给定的对象包。 |
KsAddObjectCreateItemToDeviceHeader KsAddObjectCreateItemToDeviceHeader 函数将指定的创建项添加到以前为此设备标头分配的创建项列表中的空项。 |
KsAddObjectCreateItemToObjectHeader KsAddObjectCreateItemToObjectHeader 函数将指定的创建项添加到以前为此对象标头分配的创建项列表中的空项。 |
KsAllocateDefaultClock KsAllocateDefaultClock 函数分配并初始化默认时钟结构。 |
KsAllocateDefaultClockEx KsAllocateDefaultClockEx 函数分配并初始化默认时钟结构。 |
KsAllocateDeviceHeader KsAllocateDeviceHeader 函数分配并初始化所需的设备扩展标头。 |
KsAllocateExtraData KsAllocateExtraData 函数与流式处理 IRP 一起使用,以分配缓冲区以包含其他标头数据。 返回指向已分配缓冲区的指针,并且缓冲区最终必须由调用方释放。 |
KsAllocateObjectBag KsAllocateObjectBag 函数创建一个对象包并将其与 KSDEVICE 相关联。 |
KsAllocateObjectCreateItem KsAllocateObjectCreateItem 函数为指定的创建项分配一个槽,还可以分配空间以及复制创建项数据。 |
KsAllocateObjectHeader KsAllocateObjectHeader 函数初始化所需的文件上下文标头。 |
KsCacheMedium KsCacheMedium 函数可改善使用媒体定义连接的引脚的图形生成性能。 |
KsCancelIo KsCancelIo 函数取消指定取消列表中的所有 IRP。 如果列表中的 IRP 没有取消例程,则只会在 IRP 中设置取消位。 可以在 IRQ 级别DISPATCH_LEVEL或更低级别调用该函数。 |
KsCompletePendingRequest KsCompletePendingRequest 函数用于完成 I/O 请求,以响应 AVStream 调度函数之前返回STATUS_PENDING。 |
KsCopyObjectBagItems KsCopyObjectBagItems 函数将所有项从一个对象包复制到另一个对象包中。 |
KsCreateAllocator KsCreateAllocator 函数为给定接收器连接句柄创建分配器的句柄。 此函数未完成 IRP 或在 IRP 中设置状态。 |
KsCreateAllocator2 为给定接收器连接句柄创建分配器的句柄。 此函数未完成 IRP 或在 IRP 中设置状态。 |
KsCreateClock KsCreateClock 函数创建时钟实例的句柄。 |
KsCreateClock2 创建时钟实例的句柄。 初始化组件对象模型(COM)后调用此函数。 |
KsCreateDefaultAllocator 给定经过验证的IRP_MJ_CREATE请求,KsCreateDefaultAllocator 函数将创建使用指定内存池的默认分配器,并将 IoGetCurrentIrpStackLocation(Irp)->FileObject 与分配器(KSDISPATCH_TABLE)。 |
KsCreateDefaultAllocatorEx 创建使用指定内存池的默认分配器,并使用内部调度表(KSDISPATCH_TABLE)将 IoGetCurrentIrpStackLocation(pIrp)->FileObject 与此分配器相关联。 |
KsCreateDefaultClock 给定IRP_MJ_CREATE请求,KsCreateDefaultClock 函数将创建一个默认时钟,该时钟使用系统时钟作为时间基,并将 IoGetCurrentIrpStackLocation(Irp)->FileObject 与使用内部调度表(KSDISPATCH_TABLE)的时钟相关联。 未完成 IRP 或在 IRP 中设置状态。KsCreateDefaultClock 函数只能在PASSIVE_LEVEL调用。 |
KsCreateDefaultSecurity KsCreateDefaultSecurity 函数创建具有默认安全性的安全描述符,可以选择从父安全描述符继承参数。 |
KsCreateDevice KsCreateDevice 函数创建 AVStream 设备。 |
KsCreateFilterFactory KsCreateFilterFactory 函数将筛选器工厂添加到给定设备。 |
KsCreatePin KsCreatePin 函数将连接请求传递给设备,从而创建引脚实例。 此函数只能在内核模式客户端的PASSIVE_LEVEL调用。 |
KsCreatePin2 将连接请求传递给设备,创建引脚实例。 |
KsCreateTopologyNode KsCreateTopologyNode 函数创建拓扑节点实例的句柄。 只能在PASSIVE_LEVEL调用该函数。 |
KsCreateTopologyNode2 创建拓扑节点实例的句柄。 |
KsDecrementCountedWorker 递减 KsRegisterCountedWorker 之前创建的辅助角色的当前辅助角色计数。 在完成辅助角色中的每个任务后,应该调用它。 |
KsDefaultAddEventHandler KsDefaultAddEventHandler 函数是处理事件“add”请求的默认例程。 |
KsDefaultDeviceIoCompletion KsDefaultDeviceIoCompletion 函数用于返回默认响应并完成任何设备 I/O 控件。 |
KsDeleteFilterFactory KsDeleteFilterFactory 删除给定的筛选器工厂。 |
KsDereferenceBusObject 取消引用总线物理设备对象。 |
KsDeviceGetBusData KsDeviceGetBusData 函数从给定 AVStream 设备所在的总线读取数据。 |
KsDeviceGetFirstChildFilterFactory KsDeviceGetFirstChildFilterFactory 函数返回属于给定 AVStream 设备的第一个子筛选器工厂。 |
KsDeviceGetOuterUnknown KsDeviceGetOuterUnknown 函数返回设备指定的 AVStream 设备的外部 IUnknown。 |
KsDeviceRegisterAdapterObject KsDeviceRegisterAdapterObject 函数向 AVStream 注册 DMA 适配器对象,以便在指定设备上执行散点/收集 DMA。 为 Win64 编译的所有驱动程序都应改用 IKsDeviceFunctions::RegisterAdapterObjectEx。 |
KsDeviceRegisterAggregatedClientUnknown TSDeviceRegisterAggregatedClientUnknown 函数是 KsRegisterAggregatedClientUnknown 的内联函数。 |
KsDeviceRegisterThermalDispatch Avstream 微型端口驱动程序使用此函数向 KS 端口驱动程序注册热通知的回调。 |
KsDeviceSetBusData KsDeviceSetBusData 函数将数据写入指定 AVStream 设备所在的总线。 |
KsDisableEvent KsDisableEvent 函数禁用通过IOCTL_KS_DISABLE_EVENT请求的事件。 |
KsDiscard KsDiscard 宏从对象包中删除给定项。 |
KsDiscardEvent KsDiscardEvent 函数在取消引用对象后放弃事件项使用的内存。 |
KsDispatchFastIoDeviceControlFailure KsDispatchFastIoDeviceControlFailure 函数用于KSDISPATCH_TABLE。未处理的 FastDeviceIoControl 条目。 函数应始终返回 FALSE。 |
KsDispatchFastReadFailure KsDispatchFastReadFailure 函数用于KSDISPATCH_TABLE。未处理快速 I/O 读取时的 FastRead 条目。 函数应始终返回 FALSE。 |
KsDispatchInvalidDeviceRequest KsDispatchInvalidDeviceRequest 函数用于KSDISPATCH_TABLE未处理且需要返回STATUS_INVALID_DEVICE_REQUEST的条目。 |
KsDispatchIrp KsDispatchIrp 调用对应于指定 IRP 的函数代码的调度例程。 然后,KsDispatchIrp 从此调用返回状态代码。 |
KsDispatchQuerySecurity KsDispatchQuerySecurity 函数用于KSDISPATCH_TABLE。用于处理有关当前安全描述符的查询的 QuerySecurity 条目。 |
KsDispatchSetSecurity KsDispatchSetSecurity 函数用于KSDISPATCH_TABLE。用于处理设置当前安全描述符的 SetSecurity 条目。 |
KsDispatchSpecificMethod KsDispatchSpecificMethod 函数将方法调度到特定的处理程序。 该函数假定调用方以前通过 KsMethodHandler 函数将 IRP 调度到处理程序。 只能在PASSIVE_LEVEL调用该函数。 |
KsDispatchSpecificProperty KsDispatchSpecificProperty 函数将属性调度到特定的处理程序。 |
KsEnableEvent KsEnableEvent 函数启用通过IOCTL_KS_ENABLE_EVENT请求的事件。 它响应集定义的所有事件标识符。 此函数只能在PASSIVE_LEVEL调用。 |
KsEnableEventWithAllocator KsEnableEventWithAllocator 函数启用通过IOCTL_KS_ENABLE_EVENT请求的事件,但也允许使用可选的分配器回调为参数提供缓冲区。 |
KSEVENT_ENTRY_IRP_STORAGE 此宏检索指向存储在 Irp 中的KSEVENT_ENTRY结构的指针。 |
KSEVENT_ITEM_IRP_STORAGE 此宏检索指向 Irp 中存储KSEVENT_ITEM结构的指针。 |
KSEVENT_SET_IRP_STORAGE 此宏检索指向存储在 Irp 中的KSEVENT_SET结构的指针。 此信息仅针对基本支持请求进行初始化;它未初始化为启用请求。 |
KsFastMethodHandler KsFastMethodHandler 函数处理通过IOCTL_KS_METHOD请求的快速方法。 它响应由包含在快速 I/O 列表中的集定义的所有方法标识符。 此函数只能在PASSIVE_LEVEL调用。 |
KsFastPropertyHandler KsFastPropertyHandler 函数通过IOCTL_KS_PROPERTY处理快速属性请求。 它响应由包含在快速 I/O 列表中的集定义的所有属性标识符。 此函数只能在PASSIVE_LEVEL调用。 |
KsFilterAcquireControl KsFilterAcquireControl 函数获取筛选器指定的 AVStream 筛选器的筛选器控件互斥体。 |
KsFilterAcquireProcessingMutex KsFilterAcquireProcessingMutex 函数获取指定 AVStream 筛选器的处理互斥体。 |
KsFilterAddEvent KsFilterAddEvent 函数将事件添加到 Filter 的事件列表中。 |
KsFilterAddTopologyConnections KsFilterAddTopologyConnections 函数向筛选器添加新的拓扑连接。 |
KsFilterAttemptProcessing KsFilterAttemptProcessing 函数尝试在 Filter 上启动处理。 |
KsFilterCreateNode KsFilterCreateNode 函数在指定的筛选器上创建新的拓扑节点。 |
KsFilterCreatePinFactory KsFilterCreatePinFactory 函数在指定的筛选器上创建新的引脚工厂。 |
KsFilterFactoryAddCreateItem KsFilterFactoryAddCreateItem 函数为指定的筛选器工厂添加新的创建项。 |
KsFilterFactoryGetDevice KsFilterFactoryGetDevice 函数返回 FilterFactory 所属的 AVStream 设备。 |
KsFilterFactoryGetFirstChildFilter KsFilterFactoryGetFirstChildFilter 函数返回 FilterFactory 创建的第一个实例化筛选器。 |
KsFilterFactoryGetNextSiblingFilterFactory KsFilterFactoryGetNextSiblingFilterFactory 函数返回属于 FilterFactory 父设备的下一个筛选器工厂。 |
KsFilterFactoryGetOuterUnknown KsFilterFactoryGetOuterUnknown 函数返回指定筛选器工厂的外部 IUnknown。 |
KsFilterFactoryGetParentDevice KsFilterFactoryGetParentDevice 函数返回给定筛选器工厂的父设备。 |
KsFilterFactoryGetSymbolicLink KsFilterFactoryGetSymbolicLink 函数返回与给定筛选器工厂关联的符号链接。 |
KsFilterFactoryRegisterAggregatedClientUnknown KsFilterFactoryRegisterAggregatedClientUnknown 函数是 KsRegisterAggregatedClientUnknown 的内联函数。 |
KsFilterFactorySetDeviceClassesState KsFilterFactorySetDeviceClassesState 函数启用或禁用已由给定筛选器工厂注册的设备类。 |
KsFilterFactoryUpdateCacheData KsFilterFactoryUpdateCacheData 函数更新给定筛选器工厂的 FilterData 注册表项和 Medium 缓存(一组注册表项)。 |
KsFilterGenerateEvents KsFilterGenerateEvents 函数生成在筛选器事件列表中存在的指示类型的事件。 |
KsFilterGetAndGate KsFilterGetAndGate 函数返回 Filter 的 AND 门。 |
KsFilterGetChildPinCount KsFilterGetChildPinCountfunctionreturnction 会返回当前在给定筛选器上实例化的给定类型的引脚数。 |
KsFilterGetDevice KsFilterGetDevice 函数返回 Filter 所属的 AVStream 设备。 |
KsFilterGetFirstChildPin KsFilterGetFirstChildPin 函数在筛选器指定的筛选器上返回 PinID 类型的第一个实例化引脚。 |
KsFilterGetNextSiblingFilter KsFilterGetNextSiblingFilter 函数返回属于筛选器父筛选器工厂的下一个实例化筛选器。 |
KsFilterGetOuterUnknown KsFilterGetOuterUnknown 函数返回筛选器指定的筛选器的外部 IUnknown 接口。 |
KsFilterGetParentFilterFactory KsFilterGetParentFilterFactory 函数返回给定筛选器的父筛选器工厂。 |
KsFilterRegisterAggregatedClientUnknown KsFilterRegisterAggregatedClientUnknown 函数是 KsRegisterAggregatedClientUnknown 的内联函数。 |
KsFilterRegisterPowerCallbacks KsFilterRegisterPowerCallbacks 函数注册筛选器的电源管理回调。 |
KsFilterReleaseControl KsFilterReleaseControl 函数释放由筛选器指定的 AVStream 筛选器的控制互斥体。 |
KsFilterReleaseProcessingMutex KsFilterReleaseProcessingMutex 函数释放由筛选器指定的 AVStream 筛选器的处理互斥体。 |
KsForwardAndCatchIrp KsForwardAndCatchIrp 函数在初始化下一个堆栈位置后将 IRP 转发到指定的驱动程序,并在该驱动程序完成时重新获得对 IRP 的控制。 |
KsForwardIrp KsForwardIrp 函数在初始化下一个堆栈位置并设置文件对象后,将 IRP 转发到指定的驱动程序。 |
KsFreeDefaultClock KsFreeDefaultClock 函数释放以前使用 KsAllocateDefaultClock 分配的默认时钟结构,同时考虑当前运行的任何计时器 DPC。 |
KsFreeDeviceHeader KsFreeDeviceHeader 函数清理并释放以前分配的设备标头。 |
KsFreeEventList KsFreeEventList 函数处理从指定列表中释放所有事件,并假设这些事件由KSEVENT_ENTRY结构组成。 此函数只能在PASSIVE_LEVEL调用。 |
KsFreeObjectBag KsFreeObjectBag 函数清空并释放对象包。 |
KsFreeObjectCreateItem 释放指定创建项的槽。 |
KsFreeObjectCreateItemsByContext 释放所有具有特定上下文的创建项。 |
KsFreeObjectHeader KsFreeObjectHeader 函数清理并释放以前分配的对象标头。 |
KsGateAddOffInputToAnd KsGateAddOffInputToAnd 函数将 OFF 状态中的新输入添加到给定 AND 门。 |
KsGateAddOffInputToOr KsGateAddOffInputToOr 函数将 OFF 状态中的新输入添加到给定 OR 门。 |
KsGateAddOnInputToAnd KsGateAddOnInputToAnd 函数将 ON 状态中的新输入添加到给定 AND 门。 |
KsGateAddOnInputToOr KsGateAddOnInputToOr 函数将 ON 状态中的新输入添加到给定 OR 门。 |
KsGateCaptureThreshold KsGateCaptureThreshold 函数用于捕获 Gate 指定的 AND 门的 ON 输入。 |
KsGateGetStateUnsafe KsGateGetStateUnsafe 函数以不安全的方式返回给定门(打开或关闭)的状态,而不考虑同步。 |
KsGateInitialize KsGateInitialize 函数初始化要使用的门。 |
KsGateInitializeAnd KsGateInitializeAnd 函数将 KSGATE 结构初始化为 AND 门,并将其附加到 NextOrGate 指定的 OR 门。 |
KsGateInitializeOr KsGateInitializeOr 函数将 KSGATE 结构初始化为 OR 门,并将其附加到 NextAndGate 指定的 AND 门。 |
KsGateRemoveOffInputFromAnd KsGateRemoveOffInputFromAnd 函数从 AND 门中删除处于 OFF 状态的现有输入。 |
KsGateRemoveOffInputFromOr KsGateRemoveOffInputFromOr 函数从 OR 门中删除处于 OFF 状态的现有输入。 |
KsGateRemoveOnInputFromAnd KsGateRemoveOnInputFromAnd 函数从 AND 门中删除处于 ON 状态的现有输入。 |
KsGateRemoveOnInputFromOr KsGateRemoveOnInputFromOr 函数从 OR 门中删除处于 ON 状态的现有输入。 |
KsGateTerminateAnd KsGateTerminateAnd 函数删除现有的 AND 门,并从任何附加的 OR 门中删除输入。 |
KsGateTerminateOr KsGateTerminateOr 函数删除现有的 OR 门,并从任何附加的 AND 门中删除输入。 |
KsGateTurnInputOff KsGateTurnInputOff 函数关闭门的现有输入。 |
KsGateTurnInputOn KsGateTurnInputOn 函数打开门的现有输入。 |
KsGenerateDataEvent 当给定事件条目结构和回调数据时,KsGenerateDataEvent 函数生成标准事件通知之一。 |
KsGenerateEvent KsGenerateEvent 函数在给定事件条目结构的情况下生成标准事件通知。 |
KsGenerateEventList KsGenerateEventList 函数枚举事件列表并搜索要生成的指定事件。 |
KsGenerateEvents KsGenerateEvents 函数生成在 Object 事件列表中存在的指示类型的事件。 |
KsGenerateThermalEvent 此函数由不想订阅热管理器的客户端(微型端口驱动程序)使用,但想要执行自己的热管理。 |
KsGetDefaultClockState KsGetDefaultClockState 函数获取时钟的当前状态。可以在DISPATCH_LEVEL调用该函数。 |
KsGetDefaultClockTime KsGetDefaultClockTime 函数获取时钟的当前时间。可以在DISPATCH_LEVEL调用该函数。 |
KsGetDevice KsGetDevice 函数返回对象所属的 AVStream 设备结构。 |
KsGetDeviceForDeviceObject KsGetDeviceForDeviceObject 函数返回给定功能设备对象的 AVStream 设备结构。 |
KsGetFilterFromFileObject KsGetFilterFromFileObject 函数返回与 FileObject 关联的 AVStream 筛选器对象。 |
KsGetFilterFromIrp KsGetFilterFromIrp 函数返回与给定 IRP 关联的 AVStream 筛选器对象。 |
KsGetFirstChild KsGetFirstChild 函数返回 Object 的第一个 AVStream 子对象。 |
KsGetImageNameAndResourceId KsGetImageNameAndResourceId 函数返回与 RegKey 句柄对应的映像名称和资源标识符。 |
KsGetNextSibling KsGetNextSibling 函数返回给定对象的下一个同级。 |
KsGetNodeIdFromIrp KsGetNodeIdFromIrp 函数返回 Irp 提交到的节点的节点 ID。 |
KsGetObjectFromFileObject KsGetObjectFromFileObject 函数从 FileObject 返回转换为 PVOID 的 AVStream 对象。 |
KsGetObjectTypeFromFileObject KsGetObjectTypeFromFileObject 函数返回与给定文件对象关联的 AVStream 对象类型。 |
KsGetObjectTypeFromIrp KsGetObjectTypeFromIrp 函数返回与给定 IRP 关联的 AVStream 对象类型。 |
KsGetOuterUnknown KsGetOuterUnknown 函数返回给定 AVStream 对象的外部 IUnknown。 |
KsGetParent KsGetParent 函数获取给定对象的父级。 |
KsGetPinFromFileObject KsGetPinFromFileObject 函数返回与 FileObject 关联的 AVStream 引脚对象。 |
KsGetPinFromIrp KsGetPinFromIrp 函数返回与给定 IRP 关联的 AVStream 引脚对象。 |
KsHandleSizedListQuery KsHandleSizedListQuery 函数根据系统缓冲区的长度返回所需的缓冲区大小、指定数据列表中的条目数或复制条目本身。 |
KsIncrementCountedWorker 递增当前工作器计数,并选择性地将计数的工作项与以前由 KsRegisterCountedWorker 创建的辅助角色排队。 |
KsInitializeDevice AVStream 调用 KsInitializeDevice 函数,从 KsCreateDevice 中初始化 AVStream 设备类。 |
KsInitializeDeviceProfile 所有微型端口驱动程序都必须调用 KsInitializeDeviceProfile API,以初始化配置文件存储并发布设备配置文件。 |
KsInitializeDriver KsInitializeDriver 函数初始化 AVStream 微型驱动程序的驱动程序对象。 |
KsLoadResource 从给定映像复制资源(加载)。 |
KsMapModuleName KsMapModuleName 函数返回对应于 PhysicalDeviceObject 和 ModuleName 参数的图像名称和资源标识符。 |
KsMergeAutomationTables KsMergeAutomationTables 函数合并两个自动化表。 |
KSMETHOD_ITEM_IRP_STORAGE 此宏访问指向相关KSMETHOD_ITEM的指针。 请注意,仅在使用 KsMethodHandlerWithAllocator 时设置此指针。 |
KSMETHOD_SET_IRP_STORAGE 此宏返回指向方法所在的KSMETHOD_SET的指针。 |
KSMETHOD_TYPE_IRP_STORAGE 此宏访问KSMETHOD_ITEM中所述的方法类型。 如果使用 KsDispatchSpecificMethod 以异步方式处理该方法,则必须保持此存储不变。 |
KsMethodHandler KsMethodHandler 函数处理通过IOCTL_KS_METHOD请求的方法。 它适用于集定义的所有方法标识符。 只能在PASSIVE_LEVEL调用该函数。 |
KsMethodHandlerWithAllocator KsMethodHandlerWithAllocator 函数执行与 KsMethodHandler 相同的处理,但允许使用可选的分配器回调为参数提供缓冲区。 |
KsMoveIrpsOnCancelableQueue KsMoveIrpsOnCancelableQueue 函数根据从微型驱动程序定义的 KStrIrpListCallback 函数返回的值,将指定的 IRP 从 SourceList 参数移动到 DestinationList 参数。 |
KsNullDriverUnload KsNullDriverUnload 函数是驱动程序在其卸载函数中没有其他任务时可以使用的默认函数,但仍必须允许设备通过其存在卸载。 |
KsPersistDeviceProfile KsPersistDeviceProfile API 将配置文件信息提交到持久存储。 |
KsPinAcquireControl KsPinAcquireControl 函数获取 Pin 指定的 AVStream 引脚的控制互斥体。 |
KsPinAcquireProcessingMutex KsPinAcquireProcessingMutex 函数获取 Pin 指定的 AVStream 引脚的处理互斥体。 |
KsPinAddEvent KsPinAddEvent 函数将指定的事件添加到 Pin 的事件列表中。 |
KsPinAttachAndGate KsPinAttachAndGate 函数将 Pin 作为输入连接到以前初始化的 AND 门,并将 AndGate 作为输入连接到相关筛选器的 AND 门。 |
KsPinAttachOrGate KsPinAttachOrGate 函数将 Pin 作为输入连接到以前初始化的 OR 门,并将 OrGate 作为输入连接到相关筛选器的 AND 门。 |
KsPinAttemptProcessing KsPinAttemptProcessing 函数用于恢复以引脚为中心的筛选器上特定引脚上的处理。 它尝试通过向 Pin 的处理对象发送处理调度调用来启动 Pin 上的处理。 |
KsPinDataIntersection KsPinDataIntersection 函数通过回调函数处理KSPROPERTY_PIN_DATAINTERSECTION属性,并执行传递的参数的大部分初始验证。 |
KsPinDataIntersectionEx KsPinDataIntersectionEx 函数通过回调函数处理KSPROPERTY_PIN_DATAINTERSECTION。 |
KsPinGenerateEvents KsPinGenerateEvents 函数生成在 Pin 事件列表中存在的指示类型的事件。 |
KsPinGetAndGate KsPinGetAndGate 函数返回 Pin 的处理控制门。 |
KsPinGetAvailableByteCount KsPinGetAvailableByteCount 例程在前边缘之前输出输入数据的字节数,以及前导边缘前输出缓冲区的字节数,这两个字节都用于调用方指定的引脚队列。 |
KsPinGetConnectedFilterInterface KsPinGetConnectedFilterInterface 函数查询连接到的 Pin 筛选器,以获取指向 COM 接口的指针。 |
KsPinGetConnectedPinDeviceObject KsPinGetConnectedPinDeviceObject 函数返回设备堆栈顶部的设备对象,该对象对应于附加到源引脚引脚的接收器引脚。 |
KsPinGetConnectedPinFileObject KsPinGetConnectedPinFileObject 函数返回固定连接到的文件对象。 仅适用于源引脚。 |
KsPinGetConnectedPinInterface KsPinGetConnectedPinInterface 函数查询为 COM 样式接口连接的引脚。 |
KsPinGetCopyRelationships KsPinGetCopyRelationships 函数为固定中心筛选器中包含的引脚返回复制关系信息。 |
KsPinGetDevice KsPinGetDevice 函数返回 Pin 所属的 AVStream 设备。 |
KsPinGetFirstCloneStreamPointer KsPinGetFirstCloneStreamPointer 函数在 Pin 上返回第一个克隆的流指针。 |
KsPinGetLeadingEdgeStreamPointer KsPinGetLeadingEdgeStreamPointer 函数获取与给定引脚关联的队列的边缘流指针。 |
KsPinGetNextSiblingPin KsPinGetNextSiblingPin 函数返回同一类型的下一个实例化引脚,并返回与 Pin 相同的筛选器。 |
KsPinGetOuterUnknown KsPinGetOuterUnknown 函数返回 Pin 指定的引脚的外部 IUnknown。 |
KsPinGetParentFilter KsPinGetParentFilter 函数返回 Pin 的父筛选器。 |
KsPinGetReferenceClockInterface KsPinGetReferenceClockInterface 函数将 COM 样式接口返回到与 Pin 关联的引用时钟。 此接口指针将是 IKsReferenceClock 接口。 |
KsPinGetTrailingEdgeStreamPointer KsPinGetTrailingEdgeStreamPointer 函数获取与指定引脚关联的队列的尾随边缘流指针。 |
KsPinHandshake KsPinHandshake 函数尝试使用连接的引脚进行协议握手。 |
KsPinPropertyHandler KsPinPropertyHandler 函数对KSPROPSETID_Pin属性集的静态成员执行标准处理。 此处理不包括KSPROPERTY_PIN_CINSTANCES或KSPROPERTY_PIN_DATAINTERSECTION。 |
KsPinRegisterAggregatedClientUnknown KsPinRegisterAggregatedClientUnknown 函数是 KsRegisterAggregatedClientUnknown 的包装器。 |
KsPinRegisterFrameReturnCallback KsPinRegisterFrameReturnCallback 函数向给定引脚的 AVStream 注册帧返回回调。 |
KsPinRegisterHandshakeCallback KsPinRegisterHandshakeCallback 函数为给定引脚注册微型驱动程序提供的回调例程。 |
KsPinRegisterIrpCompletionCallback KsPinRegisterIrpCompletionCallback 函数为指定的引脚注册一个微型驱动程序定义的回调例程。 |
KsPinRegisterPowerCallbacks KsPinRegisterPowerCallbacks 函数注册 Pin 的电源管理回调。 |
KsPinReleaseControl KsPinReleaseControl 函数释放 Pin 指定的 AVStream 引脚的控制互斥体。 |
KsPinReleaseProcessingMutex KsPinReleaseProcessingMutex 函数释放 Pin 指定的 AVStream 引脚的处理互斥体。 |
KsPinSetPinClockTime KsPinSetPinClockTime 函数设置 Pin 公开的时钟上的当前时间。 |
KsPinSubmitFrame 如果通过调用 KsPinRegisterFrameReturnCallback 将引脚置于注入模式,KsPinSubmitFrame 函数会将帧直接提交到传输线路中。 |
KsPinSubmitFrameMdl 如果通过调用 KsPinRegisterFrameReturnCallback 将引脚置于注入模式,KsPinSubmitFrameMdl 函数会将帧直接提交到传输线路中。 |
KsProbeStreamIrp KsProbeStreamIrp 函数根据传递的标志对给定 IRP 的输入和输出缓冲区进行指定的修改,然后验证流标头。 |
KsProcessPinUpdate 从以筛选器为中心的筛选器 AVStrMiniFilterProcess 调度中调用 KsProcessPinUpdate 函数以更新进程引脚。 |
KsPropertyHandler 驱动程序调用 KsPropertyHandler 函数进行 IRP 处理。 |
KsPropertyHandlerWithAllocator KsPropertyHandlerWithAllocator 执行与 KsPropertyHandler 相同的处理,但允许使用可选的分配器回调为参数提供缓冲区。 |
KsPublishDeviceProfile 调用 KsPublishDeviceProfile API 来发布设备配置文件信息。 |
KsQueryDevicePnpObject KsQueryDevicePnpObject 函数返回可存储在设备标头中的 PnP 设备对象。 这是 PnP 堆栈上的下一个设备对象,是 PnP 请求在使用 KsDefaultDispatchPnp 时转发到的设备对象。 |
KsQueryInformationFile KsQueryInformationFile 函数针对指定的文件对象执行信息查询。 如果可能,该函数会尝试使用 FastIoDispatch,或者针对设备对象生成信息请求。 |
KsQueryObjectAccessMask KsQueryObjectAccessMask 函数返回最初授予对关联对象创建句柄的第一个客户端的访问权限。 复制句柄无法更改访问权限。 |
KsQueryObjectCreateItem KsQueryObjectCreateItem 函数返回在创建时分配给对象的创建项。 |
KsQueueWorkItem KsQueueWorkItem 函数使用 KsRegisterWorker 函数之前创建的辅助角色对指定的工作项进行排队。 |
KsReadFile KsReadFile 函数对指定的文件对象执行读取操作。 |
KsRecalculateStackDepth KsRecalculateStackDepth 函数根据已设置目标设备的所有对象重新计算基础设备对象所需的最大堆栈深度(它们已使用 KsSetTargetDeviceObject 函数将自己添加到基础设备对象上的对象列表中)。 如果使用 KsSetDevicePnpAndBaseObject 在基础设备标头上设置了 PnP 设备对象,则计算最大堆栈深度时也会考虑该设备。 |
KsReferenceBusObject 引用总线物理设备对象。 |
KsRegisterAggregatedClientUnknown 在与 COM 非常相似的方式中,KsRegisterAggregatedClientUnknown 函数聚合两个对象:_the指定的 AVStream 对象和客户端未知对象。 |
KsRegisterCountedWorker 处理注册以使用线程的客户端。 |
KsRegisterFilterWithNoKSPins KsRegisterFilterWithNoKSPins 函数向没有内核流式处理引脚的 DirectShow 筛选器注册,因此不要在内核模式式传输。 |
KsRegisterWorker KsRegisterWorker 函数处理注册以使用线程的客户端。 |
KsReleaseCachedMdl KsReleaseCachedMdl 函数用于释放 KsAcquireCachedMdl 调用获取的 MDL。 |
KsReleaseControl KsReleaseControl 函数释放对象的控件互斥体。 |
KsReleaseDevice KsReleaseDevice 函数释放设备互斥体并退出关键区域。 |
KsReleaseDeviceSecurityLock KsReleaseDeviceSecurityLock 函数在设备对象标头上释放以前获取的安全锁。 |
KsReleaseIrpOnCancelableQueue KsReleaseIrpOnCancelableQueue 函数释放已获取的 IRP,该 IRP 已在可取消的队列中。 |
KsRemoveIrpFromCancelableQueue KsRemoveIrpFromCancelableQueue 函数从可取消并删除其取消状态的指定队列中弹出下一个非聚集 IRP。 |
KsRemoveItemFromObjectBag KsRemoveItemFromObjectBag 函数从对象包中删除项目。 |
KsRemoveSpecificIrpFromCancelableQueue KsRemoveSpecificIrpFromCancelableQueue 函数从指定队列中删除指定的 IRP。 这在以前使用 KsRemoveIrpFromCancelableQueue 获取的 IRP 上执行,但实际上并未从队列中删除。 |
KsSetDefaultClockState KsSetDefaultClockState 函数设置用于反映基础筛选器引脚的当前状态的时钟的当前状态。 |
KsSetDefaultClockTime KsSetDefaultClockTime 函数设置时钟的当前时间。 |
KsSetDevicePnpAndBaseObject KsSetDevicePnpAndBaseObject 函数在设备标头中设置 PnP 设备对象,这是 PnP 堆栈上的下一个设备对象,并且是 PnP 请求在使用 KsDefaultDispatchPnp 时转发到的设备对象。 |
KsSetInformationFile KsSetInformationFile 函数针对指定的文件对象执行信息集。 如果可能,该函数会尝试使用 FastIoDispatch,或者针对设备对象生成信息集。 |
KsSetMajorFunctionHandler KsSetMajorFunctionHandler 函数设置指定主函数的处理程序以使用内部调度。 |
KsSetPowerDispatch 设置驱动程序对象收到IRP_MJ_POWER IRP 时要调用的电源调度函数。 |
KsSetTargetDeviceObject KsSetTargetDeviceObject 函数设置对象的目标设备对象。 该函数将对象标头添加到具有目标设备的对象标头列表中。 |
KsSetTargetState 设置与指定对象标头关联的目标设备的启用状态。 |
KsStreamIo KsStreamIo 函数对指定的文件对象执行流读取或写入操作。 如果可能,该函数会尝试使用 FastIoDispatch,或者针对设备对象生成读取或写入请求。 |
KsStreamPointerAdvance KsStreamPointerAdvance 函数将流指针推进到下一个数据帧。 |
KsStreamPointerAdvanceOffsets KsStreamPointerAdvanceOffsets 函数推进 StreamPointer 的偏移量。 |
KsStreamPointerAdvanceOffsetsAndUnlock KsStreamPointerAdvanceOffsetsAndUnlock 函数将 StreamPointer 的指定字节数推进到流中(根据需要调整 StreamPointer 的 OffsetIn 和 OffsetOut 字段),并解锁它。 |
KsStreamPointerCancelTimeout KsStreamPointerCancelTimeout 函数取消指定流指针上以前计划的超时回调。 |
KsStreamPointerClone KsStreamPointerClone 函数创建给定流指针的克隆。 |
KsStreamPointerDelete KsStreamPointerDelete 函数删除克隆流指针,释放此流指针所引用的帧上的引用。 |
KsStreamPointerGetIrp KsStreamPointerGetIrp 函数返回与给定流指针引用的帧关联的 IRP。 |
KsStreamPointerGetMdl KsStreamPointerGetMdl 函数返回与 StreamPointer 引用的帧关联的 MDL。 |
KsStreamPointerGetNextClone KsStreamPointerGetNextClone 函数返回克隆流指针,该指针在指定克隆后立即克隆。 |
KsStreamPointerLock KsStreamPointerLock 函数尝试锁定指定的流指针。 |
KsStreamPointerScheduleTimeout KsStreamPointerScheduleTimeout 函数向给定流指针的 AVStream 注册超时回调。 |
KsStreamPointerSetStatusCode KsStreamPointerSetStatusCode 函数允许指定一个成功或失败的错误代码,以便完成给定的 IRP。 |
KsStreamPointerUnlock KsStreamPointerUnlock 函数解锁以前被获取函数(KsGetXxxEdgeStreamPointer)或 KsStreamPointerLock 锁定的流指针。 |
KsSynchronousIoControlDevice KsSynchronousIoControlDevice 函数对目标设备对象执行同步设备 I/O 控件。 它等待处于非可变状态,直到 I/O 完成。 此函数只能在PASSIVE_LEVEL调用。 |
KsTerminateDevice KsTerminateDevice 函数删除 AVStream 设备。 |
KsTopologyPropertyHandler KsTopologyPropertyHandler 函数对 KSPROPSETID_Topology 属性集的静态成员执行标准处理。 该函数使用 KSTOPOLOGY 结构,该结构描述此属性集返回的信息集。 |
KsUnregisterWorker KsUnregisterWorker 函数允许客户端注销辅助角色。 |
KsUnserializeObjectPropertiesFromRegistry 当给定目标对象和注册表路径时,KsUnserializeObjectPropertiesFromRegistry 函数枚举命名值,并将其作为序列化数据应用于序列化数据中列出的指定属性集。 |
KsValidateAllocatorCreateRequest KsValidateAllocatorCreateRequest 函数将IRP_MJ_CREATE请求验证为分配器请求,并在成功时返回与请求关联的创建结构。 |
KsValidateAllocatorFramingEx KsValidateAllocatorFramingEx 函数仅用于系统使用。 |
KsValidateClockCreateRequest KsValidateClockCreateRequest 函数验证时钟创建请求,并返回与请求关联的创建结构。这只能在PASSIVE_LEVEL调用。 |
KsValidateConnectRequest KsValidateConnectRequest 函数验证连接请求,并返回指向与请求关联的连接结构的指针。此函数只能在PASSIVE_LEVEL调用。 |
KsValidateTopologyNodeCreateRequest KsValidateTopologyNodeCreateRequest 函数验证拓扑节点创建请求,并返回与请求关联的创建结构。 只能在PASSIVE_LEVEL调用该函数。 |
KsWriteFile KsWriteFile 函数对指定的文件对象执行写入操作。 |
回调函数
PFNALLOCATOR_ALLOCATEFRAME KStrAllocateFrame 例程描述供应商提供的帧分配函数。 |
PFNALLOCATOR_FREEFRAME KStrFreeFrame 例程描述了供应商提供的帧解除分配函数。 |
PFNDEREFERENCEDEVICEOBJECT 驱动程序可以调用 PFNDEREFERENCEDEVICEOBJECT 回调函数 (ks.h),以递减物理设备对象的引用计数(PDO)。 |
PFNKSADDEVENT 当客户端注册通知事件时,将调用 AVStream 微型驱动程序的 AVStrMiniAddEvent 例程。 此例程是可选的。 |
PFNKSALLOCATOR 微型驱动程序可以选择提供类型为 PFNKSALLOCATOR 的回调函数,作为调用 KsEnableEventWithAllocator、KsPropertyHandlerWithAllocator 和 KsMethodHandlerWithAllocator 的参数。 |
PFNKSCANCELTIMER 调用流式处理微型驱动程序的 KStrCancelTimer 例程以取消以前在 SetTimer 参数中指定的自定义计时器对象,该对象是在调用 KsAllocateDefaultClockEx 时指定的。 |
PFNKSCLOCK_CORRELATEDTIME 例程是一个系统提供的例程,可检索以下内容:KStrClockGetCorrelatedTime 是一个系统提供的例程,用于检索自启动以来的当前系统时间和相应的时钟周期计数。KStrClockGetCorrelatedPhysicalTime 是一个系统提供的例程,用于检索当前系统时间减去自启动以来暂停的增量和相应的时钟周期。 |
PFNKSCLOCK_GETTIME 例程获取系统时间。KStrClockGetTime 是一个系统提供的例程,用于检索当前系统时间。KStrClockGetPhysicalTime 是一个系统提供的例程,用于检索当前系统时间减去任何挂起的增量。 |
PFNKSCONTEXT_DISPATCH 调用流式处理微型驱动程序的 KStrContextDispatch 例程来处理IRP_MJ_POWER IRP。 |
PFNKSCORRELATEDTIME 调用流式处理微型驱动程序的 KStrCorrelatedTime 例程以相关方式检索呈现时间和物理时间。 这使时钟所有者能够完全确定当前时间。 |
PFNKSDEFAULTALLOCATE AVStream 微型驱动程序的 AVStrMiniAllocate 例程使用 Context 参数中指定的分配器分配帧。 |
PFNKSDEFAULTFREE AVStream 微型驱动程序的 AVStrMiniAllocatorFreeFrame 例程释放指定的帧。 |
PFNKSDELETEALLOCATOR AVStream 微型驱动程序的 AVStrMiniDeleteAllocator 例程将删除与引脚关联的分配器。 |
PFNKSDEVICE AVStream 执行 PnP 启动后处理时,将调用 AVStream 微型驱动程序的 AVStrMiniDevicePostStart 例程。 例如,使用它在开始时加载驱动程序。 然后,此类事件将在 PnP 启动后在工作线程的上下文中发生。 |
PFNKSDEVICECREATE AVStream 微型驱动程序的 AVStrMiniDeviceAdd 例程通知微型驱动程序 AVStream 的 PnP AddDevice 例程已完成。 |
PFNKSDEVICEIRP 当设备调度这些 IRP 时,会调用 AVStream 微型驱动程序的 IRP 处理程序例程。IRP_MN_QUERY_REMOVE_DEVICEIRP_MN_QUERY_STOP_DEVICEIRP_MN_QUERY_INTERFACE |
PFNKSDEVICEIRPVOID 当设备调度这些 IRP 时,会调用 AVStream 微型驱动程序的 IRP 处理例程。IRP_MN_CANCEL_STOP_DEVICEIRP_MN_CANCEL_REMOVE_DEVICEIRP_MN_REMOVE_DEVICEIRP_MN_STOP_DEVICEIRP_MN_SURPRISE_REMOVAL |
PFNKSDEVICEPNPSTART 当为指定设备发送IRP_MN_START_DEVICE请求时,将调用 AVStream 微型驱动程序的 AVStrMiniDeviceStart 例程。 |
PFNKSDEVICEQUERYCAPABILITIES 当设备调度IRP_MN_QUERY_CAPABILITIES时,将调用 AVStream 微型驱动程序的 AVStrMiniDeviceQueryCapabilities 例程。 |
PFNKSDEVICEQUERYPOWER AVStream 在收到IRP_MN_QUERY_POWER请求时调用微型驱动程序的 AVStrMiniDeviceQueryPower 例程。 |
PFNKSDEVICESETPOWER AVStream 在收到IRP_MN_SET_POWER时调用微型驱动程序的 AVStrMiniDeviceSetPower 例程。 |
PFNKSFASTHANDLER KStrFastHandler 是一个驱动程序提供的例程,用于处理属性或方法请求,而无需创建 IRP。 |
PFNKSFILTERIRP 当筛选器接收 IRP 时,将调用 AVStream 微型驱动程序的 AVStrMiniFilterCreate 例程。 |
PFNKSFILTERPROCESS 当筛选器用于处理帧时,将调用 AVStream 微型驱动程序的 AVStrMiniFilterProcess 例程。 它用于执行 Filter-Centric 处理。 |
PFNKSFILTERVOID 当 AVStream 收到IOCTL_KS_RESET_STATE以将筛选器返回到在 Acquire 时间的状态时,将调用 AVStream 微型驱动程序的 AVStrMiniFilterReset 例程。 |
PFNKSHANDLER 内核流收到IOCTL_KS_METHOD获取/设置属性请求时,将调用微型驱动程序提供的例程。 在相关KSMETHOD_ITEM KSPROPERTY_ITEM结构中提供指向此处理程序的指针。 |
PFNKSINTERSECTHANDLER 调用流式处理微型驱动程序的 KStrIntersectHandler 例程来比较数据范围,以确定是否存在交集,如果是,则为交集的数据格式。 |
PFNKSINTERSECTHANDLEREX AVStream 调用微型驱动程序的 AVStrMiniIntersectHandlerEx 例程,以确定两个数据范围的最高质量交集。 |
PFNKSIRPLISTCALLBACK 调用流式处理微型驱动程序的 KStrIrpListCallback 例程,以确定传入的 IRP 是否应从源列表移动到目标列表,还是应终止 IRP 枚举。 |
PFNKSITEMFREECALLBACK 调用流式处理微型驱动程序的 KStrItemFreeCallback 例程以释放以前分配的创建项。 KStrItemFreeCallback 允许微型驱动程序执行任何清理,包括在必要时刷新安全描述符更改。 |
PFNKSPIN 当:_There可供 KSPIN 结构处理的数据时,将调用 AVStream 微型驱动程序的回调例程。 使用此例程执行 Pin-Centric Processing。相关的 KSPIN 充当接收器引脚,并连接到 AVStream 源引脚。 |
PFNKSPINFRAMERETURN 当注入的帧完成线路绕行并准备好回收或释放时,将调用 AVStream 微型驱动程序的 AVStrMiniFrameReturn 例程。 |
PFNKSPINHANDSHAKE 当 AVStream 收到不处理的协议握手请求时,将调用 AVStream 微型驱动程序的 AVStrMiniPinHandshake 例程。 |
PFNKSPININITIALIZEALLOCATOR AVStream 微型驱动程序的 AVStrMiniInitializeAllocator 例程初始化将与引脚关联的分配器。 |
PFNKSPINIRP 执行引脚上的活动并接收这些 IRP:IRP_MJ_CREATEIRP_MJ_CLOSE |
PFNKSPINIRPCOMPLETION 当 IRP 完成线路周围的传递并且与 IRP 关联的帧即将回收或停用时,将调用 AVStream 微型驱动程序的 AVStrMiniPinIrpCompletion 例程。 |
PFNKSPINPOWER 当设备唤醒或进入睡眠状态时,会调用 AVStream 微型驱动程序的 AVStrMiniPinPower 例程以引脚为中心的引脚。 |
PFNKSPINSETDATAFORMAT AVStream 微型驱动程序的 AVStrMiniPinSetDataFormat 例程在固定创建时调用,以验证以前同意的数据格式是否可接受此 KSPIN 结构和此 KSDATARANGE 结构的匹配。 |
PFNKSPINSETDEVICESTATE 当 KSPIN 结构的状态因连接状态属性“set”IOCTL 的到来而更改时,将调用 AVStream 微型驱动程序的 AVStrMiniPinSetDeviceState 例程。 |
PFNKSPINVOID AVStream 微型驱动程序的回调例程在以下情况下调用:相关的 KSPIN 充当接收器引脚,并且此接收器引脚与 AVStream 源引脚断开连接。KSPIN 结构的重置状态因IOCTL_KS_RESET_STATE设备控件的到来而更改。 刷新与给定引脚关联的队列时,也会调用此例程。 |
PFNKSREMOVEEVENT 当客户端请求从事件通知队列中删除时,将调用 AVStream 微型驱动程序的 AVStrMiniRemoveEvent 例程。 此例程是可选的。 |
PFNKSSETTIMER 调用流式处理微型驱动程序的 KStrSetTimer 例程,以基于演示时间生成 DPC 计时器回调。 |
PFNKSSTREAMPOINTER AVStream 在取消与克隆流指针关联的 IRP 时调用微型驱动程序的 AVStrMiniCancelCallback 例程。 此例程是可选的。 |
PFNQUERYREFERENCESTRING PFNQUERYREFERENCESTRING 回调函数 (ks.h) 将与 PDO 关联的引用字符串复制到调用方创建和释放的缓冲区中。 |
PFNREFERENCEDEVICEOBJECT 驱动程序可以调用 PFNREFERENCEDEVICEOBJECT 回调函数 (ks.h),以递增物理设备对象的引用计数(PDO)。 |
结构
BUS_INTERFACE_MEDIUMS 详细了解:BUS_INTERFACE_MEDIUMS结构 |
BUS_INTERFACE_REFERENCE 软件设备枚举器导出此接口,以允许驱动程序引用计数物理设备对象(PDO),以便设备在使用期间保持活动状态,并在不使用时卸载。 |
KS_COMPRESSION KS_COMPRESSION结构定义输出引脚上的帧压缩。 |
KS_FRAMING_ITEM KS_FRAMING_ITEM结构用于在内核模式引脚上声明分配器要求。 |
KS_FRAMING_RANGE KS_FRAMING_RANGE结构指定给定框架项的帧大小范围。 |
KS_FRAMING_RANGE_WEIGHTED 驱动程序可以使用KS_FRAMING_RANGE_WEIGHTED结构来指定一系列加权帧大小。 |
KSALLOCATOR_DISPATCH KSALLOCATOR_DISPATCH结构包含引脚实现其自己的内核级分配器所需的回调。 |
KSALLOCATOR_FRAMING KSALLOCATOR_FRAMING结构用于查询帧要求并提交分配器创建请求。 |
KSALLOCATOR_FRAMING_EX KSALLOCATOR_FRAMING_EX结构是KSALLOCATOR_FRAMING的 AVStream 替代项。 KSALLOCATOR_FRAMING_EX定义内核级别筛选器中引脚上的分配器要求。 |
KSATTRIBUTE KSATTRIBUTE 结构定义 KSDATAFORMAT 和 KSDATARANGE 结构未涵盖的数据格式或数据范围的其他属性,或基于格式和范围说明符的扩展信息。 |
KSATTRIBUTE_LIST KSATTRIBUTE_LIST结构包含 KSATTRIBUTE 结构中定义的属性。 |
KSAUTOMATION_TABLE KSAUTOMATION_TABLE结构定义一个结构,用于合并属性、方法和事件的表。 |
KSBUFFER_ITEM KSBUFFER_ITEM结构用于存储从事件源复制的数据缓冲区列表,事件接收器可以通过KSEVENT_TYPE_QUERYBUFFER检索这些数据缓冲区。 |
KSCLOCK_CREATE KSCLOCK_CREATE结构用于时钟创建 KsCreateClock 函数的参数。 |
KSCLOCK_DISPATCH KSCLOCK_DISPATCH结构包含引脚实现时钟对象所需的回调。 |
KSCLOCK_FUNCTIONTABLE KSCLOCK_FUNCTIONTABLE结构描述主时钟的函数表。 |
KSCOMPONENTID KSCOMPONENTID 结构包含描述单个内核流对象的唯一标识符。 |
KSCORRELATED_TIME KSCORRELATED_TIME结构包含时钟时间以及自系统启动以来的相应时钟时钟周期数。 |
KSDATAFORMAT KSDATAFORMAT 结构是描述数据格式的可变长度结构。 |
KSDATAFORMAT 本主题介绍 KSDATAFORMAT 联合。 |
KSDEVICE KSDEVICE 结构描述由 AVStream 管理的 WDM 功能设备。 |
KSDEVICE_DESCRIPTOR KSDEVICE_DESCRIPTOR结构描述特定设备的特征。 |
KSDEVICE_DISPATCH KSDEVICE_DISPATCH结构描述了客户端可以提供的回调,用于接收设备创建和 PnP 事件的通知。 |
KSDEVICE_THERMAL_DISPATCH KSDEVICE_THERMAL_DISPATCH结构由 API 调用中的微型端口驱动程序用来注册热通知回调。 此结构包含主动和被动冷却接口的回调函数指针。 |
KSDISPATCH_TABLE KSDISPATCH_TABLE结构包含指向实现 IRP 调度例程的微型驱动程序的指针。 |
KSDPC_ITEM KSDPC_ITEM结构用于存储与可能用于从引发 IRQL 生成事件通知的任何内部 DPC 相关的信息。 |
KSE_NODE KSE_NODE结构指定特定节点上的事件请求。 |
KSE_PIN 详细了解:KSE_PIN结构 |
KSERROR KSERROR 结构用于将内核和用户模式下的流式处理错误报告给各自的质量经理。 |
KSEVENT_ENTRY 内核流式处理子系统使用KSEVENT_ENTRY结构来描述应如何触发事件。 |
KSEVENT_ITEM KSEVENT_ITEM结构描述了微型驱动程序对事件集中特定事件的支持。 |
KSEVENT_SET KSEVENT_SET结构描述构成内核流式处理事件集的事件。 |
KSEVENT_TIME_INTERVAL KSEVENT_TIME_INTERVAL结构用于KSEVENTSETID_Clock事件集中的各种事件。 |
KSEVENT_TIME_MARK KSEVENT_TIME_MARK结构用于KSEVENTSETID_Clock事件集中的各个事件。 |
KSEVENTDATA 内核流式处理客户端将 KSEVENTDATA 结构发送到类驱动程序以指定通知方法。 |
KSFASTMETHOD_ITEM 驱动程序提供KSFASTMETHOD_ITEM类型的结构,以支持快速 I/O 调度。 |
KSFASTPROPERTY_ITEM KSFASTPROPERTY_ITEM结构用于用于快速 I/O 调度的项。 |
KSFILTER KSFILTER 结构描述实例化筛选器。 |
KSFILTER_DESCRIPTOR KSFILTER_DESCRIPTOR结构描述由给定筛选器工厂创建的筛选器的特征。 |
KSFILTER_DISPATCH KSFILTER_DISPATCH结构描述客户端回调,这些回调用于向客户端通知给定筛选器类型上的某些事件。 |
KSFILTERFACTORY KSFILTERFACTORY 结构表示筛选器工厂。 |
KSFRAMETIME KSFRAMETIME 结构由呈现图钉支持,用于返回下一帧数据的持续时间以及与该帧关联的标志。 |
KSGATE KSGATE 结构描述 AVStream 门对象。 |
KSGRAPHMANAGER_FUNCTIONTABLE 详细了解:KSGRAPHMANAGER_FUNCTIONTABLE结构 |
KSHANDSHAKE KSHANDSHAKE 结构用于在尝试协商专用接口时来回传递信息。 |
KSIDENTIFIER KSIDENTIFIER 结构指定唯一标识相关 GUID 集的 GUID,以及引用该集中特定成员的索引值。 |
KSINTERVAL KSINTERVAL 结构指定定期事件的基本时间和时间间隔。 |
KSM_NODE 正如KSP_NODE用于节点上的属性一样,KSM_NODE结构用于节点上的方法。 |
KSMAPPING KSMAPPING 结构用于描述在散点/收集 DMA 操作中使用的单个连续物理内存块。 |
KSMETHOD_ITEM KSMETHOD_ITEM结构描述方法集中的单个方法。 |
KSMETHOD_SET KSMETHOD_SET结构描述构成内核流式处理方法集的方法。 |
KSMULTIPLE_ITEM KSMULTIPLE_ITEM结构是可以包含多个条目的属性数据的泛型标头。 |
KSNODE_CREATE KSNODE_CREATE结构描述用于创建节点句柄的信息集。 |
KSNODE_DESCRIPTOR KSNODE_DESCRIPTOR结构描述筛选器中的拓扑节点。 |
KSOBJECT_CREATE KSOBJECT_CREATE结构包含此设备对象支持的基对象类的创建处理程序数组。 |
KSOBJECT_CREATE_ITEM KSOBJECT_CREATE_ITEM结构用于查找传递给创建请求的字符串。 |
KSP_NODE 内核流式处理客户端使用KSP_NODE结构在KSPROPERTY_TOPOLOGY_NAME属性请求中指定属性和节点类型。 |
KSP_PIN 内核流式处理客户端使用KSP_PIN结构来指定KSPROPSETID_Pin属性请求中的属性和引脚类型。 |
KSP_TIMEFORMAT KSP_TIMEFORMAT结构对应于KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT。 |
KSPIN KSPIN 结构描述实例化引脚。 |
KSPIN_CINSTANCES 详细了解:KSPIN_CINSTANCES结构 |
KSPIN_CONNECT 客户端使用KSPIN_CONNECT结构来描述他们在 KsCreatePin 调用中从驱动程序请求的连接。 |
KSPIN_DESCRIPTOR KSPIN_DESCRIPTOR结构描述引脚类型的基本KSPROPSETID_Pin属性。 |
KSPIN_DESCRIPTOR_EX KSPIN_DESCRIPTOR_EX结构描述给定筛选器类型上的引脚类型的特征。 |
KSPIN_DISPATCH KSPIN_DISPATCH结构描述客户端可以注册的回调,以便接收固定事件的通知。 |
KSPIN_MDL_CACHING_NOTIFICATION KSPIN_MDL_CACHING_NOTIFICATION结构包含操作系统内部使用的字段。 |
KSPIN_MDL_CACHING_NOTIFICATION32 KSPIN_MDL_CACHING_NOTIFICATION32结构包含操作系统在内部使用的字段。 |
KSPIN_PHYSICALCONNECTION 返回KSPIN_PHYSICALCONNECTION类型的结构以响应KSPROPERTY_PIN_PHYSICALCONNECTION请求。 |
KSPRIORITY KSPRIORITY 结构用于指定优先级,并与 KSPROPERTY_CONNECTION_PRIORITY 属性一起使用。 |
KSPROCESSPIN KSPROCESSPIN 结构描述特定引脚的进程状态。 |
KSPROCESSPIN_INDEXENTRY KSPROCESSPIN_INDEXENTRY结构用于 Filter-Centric 处理,将一个上下文中的所有输入和输出引脚组合在一起。 |
KSPROPERTY_BOUNDS_LONG KSPROPERTY_BOUNDS_LONG结构定义 32 位属性的边界。 |
KSPROPERTY_BOUNDS_LONGLONG KSPROPERTY_BOUNDS_LONGLONG结构定义 64 位属性的边界。 |
KSPROPERTY_DESCRIPTION KSPROPERTY_DESCRIPTION结构指定特定属性中包含的值的大小和类型。 |
KSPROPERTY_GRAPHMANAGER_INTERFACE 详细了解:_KSPROPERTY_GRAPHMANAGER_INTERFACE结构 |
KSPROPERTY_ITEM 驱动程序使用KSPROPERTY_ITEM结构来描述它们如何支持属性集中的属性。 |
KSPROPERTY_MEDIAAVAILABLE KSPROPERTY_MEDIAAVAILABLE结构指定当前在筛选器上可用的媒体时间跨度(客户端可在其中查找的时间跨度)。 |
KSPROPERTY_MEMBERSHEADER 驱动程序提供KSPROPERTY_MEMBERSHEADER类型的结构,用于描述包含属性值或范围的数组中每个元素的大小和类型。 |
KSPROPERTY_MEMBERSLIST KSPROPERTY_MEMBERSLIST结构包含属性的法律值或范围列表。 |
KSPROPERTY_POSITIONS KSPROPERTY_POSITIONS结构指定相对于流的总持续时间的当前位置和停止位置。 |
KSPROPERTY_SERIAL KSPROPERTY_SERIAL结构是一个标头,该标头包含在KSPROPERTY_SERIALHDR结构后面的每个属性中。 |
KSPROPERTY_SERIALHDR 序列化缓冲区的格式是KSPROPERTY_SERIALHDR结构,后跟序列化属性。 |
KSPROPERTY_SET 内核流式处理驱动程序或引脚可以使用KSPROPERTY_SET结构来描述它如何支持属性集。 |
KSPROPERTY_STEPPING_LONG KSPROPERTY_STEPPING_LONG结构定义 32 位属性的有效值范围。 |
KSPROPERTY_STEPPING_LONGLONG KSPROPERTY_STEPPING_LONGLONG结构定义 64 位属性的有效值范围。 |
KSPROPERTY_VALUES KSPROPERTY_VALUES结构描述属性的类型和可接受的默认值。 |
KSQUALITY KSQUALITY 结构用于将内核和用户模式下的 QM 问题报告给各自的质量经理。 |
KSQUALITY_MANAGER KSQUALITY_MANAGER结构与KSPROPERTY_STREAM_QUALITY属性一起使用,并包含质量经理接收器的句柄和传入质量投诉的上下文。 |
KSQUERYBUFFER 在查询具有KSEVENT_TYPE_QUERYBUFFER的事件上可用的未完成缓冲区时,将使用 KSQUERYBUFFER 结构。 |
KSRATE 查询将追加到包含速率请求的属性(称为KSRATE_CAPABILITY结构)的 KSRATE 结构中,并返回填充了给定速率请求的功能的 KSRATE 结构。 |
KSRATE_CAPABILITY 客户端在KSPROPERTY_STREAM_RATECAPABILITY属性请求中使用KSRATE_CAPABILITY结构。 |
KSRELATIVEEVENT KSPROPERTY_CONNECTION_STARTAT属性传递 KSRELATIVEEVENT 结构。 |
KSRESOLUTION KSRESOLUTION 结构指定内核流式处理时钟的粒度和错误。 |
KSSTREAM_HEADER KSSTREAM_HEADER结构是一种可变长度结构,用于描述要从流驱动程序引脚读取或写入的数据包。 |
KSSTREAM_METADATA_INFO 此结构包含传递给驱动程序的元数据信息。 |
KSSTREAM_POINTER KSSTREAM_POINTER结构是流中的基本 AVStream 指针。 |
KSSTREAM_POINTER_OFFSET KSSTREAM_POINTER_OFFSET结构为帧内的字节或映射编制索引。 |
KSSTREAM_UVC_METADATA KSSTREAM_UVC_METADATA结构包含帧时间戳信息的开始和结束。 |
KSSTREAM_UVC_METADATATYPE_TIMESTAMP KSSTREAM_UVC_METADATATYPE_TIMESTAMP结构包含 USB 视频类 (UVC) 时钟和时间戳信息。 |
KSSTREAMALLOCATOR_FUNCTIONTABLE 客户端可以通过在KSPROPERTY_STREAMALLOCATOR_FUNCTIONTABLE属性请求中发送KSSTREAMALLOCATOR_FUNCTIONTABLE结构来请求给定分配器的函数表。 |
KSSTREAMALLOCATOR_STATUS KSSTREAMALLOCATOR_STATUS结构描述了特定分配器的帧要求和当前分配帧数。 |
KSSTREAMALLOCATOR_STATUS_EX 客户端使用KSSTREAMALLOCATOR_STATUS_EX查询支持扩展分配器帧的分配器的状态。 |
KSTIME KSTIME 结构指定可用于指示流位置的时间戳。 |
KSTOPOLOGY KSTOPOLOGY 结构描述引脚和节点的拓扑。 |
KSTOPOLOGY_CONNECTION KSTOPOLOGY_CONNECTION结构描述内核流式处理筛选器内的单个数据路径连接。 |
MF_MDL_SHARED_PAYLOAD_KEY 操作系统在内部使用此联合。 |
枚举
KS_SEEKING_CAPABILITIES 详细了解:KS_SEEKING_CAPABILITIES枚举 |
KS_SEEKING_FLAGS KS_SEEKING_FLAGS枚举列出了可与KSPROPERTY_POSITIONS结构结合使用的位置选项。 |
KSCOMPLETION_INVOCATION 详细了解:KSCOMPLETION_INVOCATION枚举 |
KSDEGRADE_STANDARD KSDEGRADE_STANDARD枚举列出了不同类型的降级。 |
KSDEVICE_THERMAL_STATE 用于热状态更改的 KS 定义的枚举。 |
KSEVENT_CLOCK_POSITION 详细了解:KSEVENT_CLOCK_POSITION枚举 |
KSEVENT_CONNECTION 详细了解:KSEVENT_CONNECTION枚举 |
KSEVENT_DEVICE 指定驱动程序生成的事件通知,以指示设备已丢失或抢占。 |
KSEVENT_PINCAPS_CHANGENOTIFICATIONS 详细了解:KSEVENT_PINCAPS_CHANGENOTIFICATIONS枚举 |
KSEVENT_STREAMALLOCATOR 详细了解:KSEVENT_STREAMALLOCATOR枚举 |
KSEVENT_VOLUMELIMIT 详细了解:KSEVENT_VOLUMELIMIT枚举 |
KSEVENTS_LOCKTYPE KSEVENTS_LOCKTYPE枚举标识排除锁的类型。 这些类型用于多个事件集帮助程序函数中的 EventFlags。 |
KSINTERFACE_FILEIO 详细了解:KSINTERFACE_FILEIO枚举 |
KSINTERFACE_STANDARD 详细了解:KSINTERFACE_STANDARD枚举 |
KSIRP_REMOVAL_OPERATION 详细了解:KSIRP_REMOVAL_OPERATION枚举 |
KSLIST_ENTRY_LOCATION 详细了解:KSLIST_ENTRY_LOCATION枚举 |
KSMETHOD_STREAMALLOCATOR 详细了解:KSMETHOD_STREAMALLOCATOR枚举 |
KSMETHOD_STREAMIO 详细了解:KSMETHOD_STREAMIO枚举 |
KSOBJECTTYPE KSOBJECTTYPE 枚举列出了不同类型的内核流对象。 |
KSPIN_COMMUNICATION 详细了解:KSPIN_COMMUNICATION枚举 |
KSPIN_DATAFLOW KSPROPERTY_PIN_DATAFLOW返回KSPIN_DATAFLOW枚举的实例。 |
KSPIN_MDL_CACHING_EVENT KSPIN_MDL_CACHING_EVENT枚举包含操作系统内部使用的值。 |
KSPPROPERTY_ALLOCATOR_MDLCACHING KSPPROPERTY_ALLOCATOR_MDLCACHING枚举包含操作系统内部使用的值。 |
KSPROPERTY_CLOCK 详细了解:KSPROPERTY_CLOCK枚举 |
KSPROPERTY_CONNECTION 详细了解:KSPROPERTY_CONNECTION枚举 |
KSPROPERTY_GENERAL 详细了解:KSPROPERTY_GENERAL枚举 |
KSPROPERTY_GM 详细了解:KSPROPERTY_GM枚举 |
KSPROPERTY_MEDIASEEKING 详细了解:KSPROPERTY_MEDIASEEKING枚举 |
KSPROPERTY_PIN 详细了解:KSPROPERTY_PIN枚举 |
KSPROPERTY_QUALITY 详细了解:KSPROPERTY_QUALITY枚举 |
KSPROPERTY_STREAM 详细了解:KSPROPERTY_STREAM枚举 |
KSPROPERTY_STREAMALLOCATOR 详细了解:KSPROPERTY_STREAMALLOCATOR枚举 |
KSPROPERTY_STREAMINTERFACE 详细了解:KSPROPERTY_STREAMINTERFACE枚举 |
KSPROPERTY_TOPOLOGY 详细了解:KSPROPERTY_TOPOLOGY枚举 |
KSRESET 详细了解:KSRESET 枚举 |
KSSTACK_USE 详细了解:KSSTACK_USE枚举 |
KSSTATE KSSTATE 枚举列出了内核流式处理对象的可能状态。 |
KSSTREAM_POINTER_STATE 详细了解:KSSTREAM_POINTER_STATE枚举 |
KSTARGET_STATE 详细了解:KSTARGET_STATE枚举 |
VARENUM 指定变体类型。 |