针对动态音频子设备的插孔说明

在 Windows Vista 及更高版本中,KSPROPERTY_JACK_DESCRIPTION 属性提供有关音频适配器中子设备节点上的插孔或插孔集合的信息。 (在此上下文中,术语子设备KS 筛选器的同义词。属性值是一个或多个 KSJACK_DESCRIPTION 结构的数组。 每个结构描述插孔的颜色、连接器类型和物理位置。 此外,该结构包含 IsConnected 成员,如果麦克风或耳机等音频终结点设备插入插孔,则为 TRUE;如果插孔为空,则为 FALSE。 若要为 IsConnected 提供最新值,动态子设备的适配器驱动程序依赖于音频硬件的插孔状态检测功能。 对于静态子设备(无插孔状态检测),IsConnected 成员应始终为 TRUE。 有关详细信息,请参阅插孔说明属性

当用户在动态子设备上插入插孔时,适配器驱动程序应调用 PcRegisterSubdevice 函数来注册子设备。 当子设备保持注册状态时,如果适配器驱动程序收到包含子设备的 KSPROPERTY_JACK_DESCRIPTION 请求的 IOCTL,驱动程序应将属性值的 IsConnected 成员设置为 TRUE

当用户从动态子设备上的插孔中拔下插头时,适配器驱动程序应调用 IUnregisterSubdevice::UnregisterSubdevice 方法以删除子设备的注册。 当子设备未注册时,如果适配器驱动程序收到包含子设备的 KSPROPERTY_JACK_DESCRIPTION 请求的 IOCTL,驱动程序应将属性值的 IsConnected 成员设置为 FALSE