Audio

Overview of the Audio technology.

To develop Audio, you need these headers:

For the programming guide, see Audio.

Functions

Title Description
BTHHFP_AUDIO_DEVICE_CAPABILTIES_INIT function The BTHHFP_AUDIO_DEVICE_CAPABILTIES_INIT method returns a pointer to an initialized BTHHFP_AUDIO_DEVICE_CAPABILTIES data structure.
DrmAddContentHandlers function The DrmAddContentHandlers function provides the system with a list of functions that handle protected content.
DrmCreateContentMixed function The DrmCreateContentMixed function creates a DRM content ID to identify a KS audio stream containing mixed content from a number of streams.
DrmDestroyContent function The DrmDestroyContent function deletes a DRM content ID that was created by DrmCreateContentMixed.
DrmForwardContentToDeviceObject function The DrmForwardContentToDeviceObject function accepts a device object representing a device to which the caller intends to forward protected content.
DrmForwardContentToFileObject function The DrmForwardContentToFileObject function is obsolete and is maintained only to support existing drivers.
DrmForwardContentToInterface function The DrmForwardContentToInterface function accepts a pointer to the COM interface of an object to which the caller intends to forward protected content.
DrmGetContentRights function The DrmGetContentRights function retrieves the DRM content rights assigned to a DRM content ID.
PcAddAdapterDevice function The PcAddAdapterDevice function adds an adapter device to the WDM device stack.
PcAddContentHandlers function The PcAddContentHandlers function provides the system with a list of functions that handle protected content.
PcAddStreamResource function PcAddStreamResource adds a stream resource.
PcCompleteIrp function The PcCompleteIrp function completes an IRP that was previously marked as pending.
PcCompletePendingPropertyRequest function The PcCompletePendingPropertyRequest function is called to complete a pending property request.
PcCreateContentMixed function The PcCreateContentMixed function computes the DRM content rights for a composite stream containing mixed content from some number of KS audio streams.
PcDestroyContent function The PcDestroyContent function deletes a DRM content ID that was created by PcCreateContentMixed. Note that this function call is identical in operation to the DrmDestroyContent function, and its parameter definitions and return value are also identical.
PcDispatchIrp function The PcDispatchIrp function dispatches an IRP to the PortCls system driver's default handler.
PcForwardContentToDeviceObject function The PcForwardContentToDeviceObject function accepts a device object representing a device to which the caller intends to forward protected content.
PcForwardContentToFileObject function The PcForwardContentToFileObject function is obsolete and is maintained only to support existing drivers.
PcForwardContentToInterface function The PcForwardContentToInterface function accepts a pointer to the COM interface of an object to which the caller intends to forward protected content.
PcForwardIrpSynchronous function The PcForwardIrpSynchronous function is used by IRP handlers to forward Plug and Play IRPs to the physical device object (PDO).
PcGetContentRights function The PcGetContentRights function retrieves the DRM content rights assigned to a DRM content ID. Note that this function call is identical in operation to the DrmGetContentRights function, and its parameter definitions and return value are also identical.
PcGetDeviceProperty function The PcGetDeviceProperty function returns the requested device property from the registry.
PcGetPhysicalDeviceObject function The PcGetPhysicalDeviceObject function enables audio miniport drivers to retrieve the underlying physical device object of the audio device.
PcGetTimeInterval function The PcGetTimeInterval function returns the time elapsed since a specified time. Time is measured in 100-nanosecond units.
PcInitializeAdapterDriver function The PcInitializeAdapterDriver function binds an adapter driver to the PortCls system driver.
PcNewDmaChannel function The PcNewDmaChannel function creates a new DMA-channel object. This function is obsolete; for more information, see the following comments.
PcNewInterruptSync function The PcNewInterruptSync function creates and initializes an interrupt-synchronization object.
PcNewMiniport function The PcNewMiniport function creates an instance of one of the system-supplied miniport drivers that are built into the PortCls system driver, portcls.sys.
PcNewPort function The PcNewPort function creates a new system-supplied port-driver object, whose interface (derived from base class IPort) is specified by a class ID.
PcNewRegistryKey function The PcNewRegistryKey function opens or creates a new registry key and creates an IRegistryKey object to represent the key. The caller accesses the key through this object.
PcNewResourceList function The PcNewResourceList function creates and initializes a resource list.
PcNewResourceSublist function The PcNewResourceSublist function creates and initializes an empty resource list that is derived from another resource list.
PcNewServiceGroup function The PcNewServiceGroup function creates and initializes a service group.
PcRegisterAdapterPnpManagement function The PcRegisterAdapterPnpManagement function registers the adapter's PnP-management interface with the PortCls system driver. It is used to support PnP rebalance.
PcRegisterAdapterPowerManagement function The PcRegisterAdapterPowerManagement function registers the adapter's power-management interface with the PortCls system driver.
PcRegisterIoTimeout function The PcRegisterIoTimeout function registers a driver-supplied I/O-timer callback routine for a specified device object.
PcRegisterPhysicalConnection function The PcRegisterPhysicalConnection function registers a physical connection between two audio adapter filters that are instantiated by the same adapter driver.
PcRegisterPhysicalConnectionFromExternal function The PcRegisterPhysicalConnectionFromExternal function registers a physical connection to an audio adapter filter from an external audio adapter filter.
PcRegisterPhysicalConnectionToExternal function The PcRegisterPhysicalConnectionToExternal function registers a physical connection from an audio adapter filter to an external audio adapter filter.
PcRegisterSubdevice function The PcRegisterSubdevice function registers a subdevice to make it available for use by clients.
PcRemoveStreamResource function PcRemoveStreamResource removes an existing stream resource.
PcRequestNewPowerState function The PcRequestNewPowerState function is used to request a new power state for the device. This function is typically not needed by adapter drivers but can occasionally be useful in working around some kinds of hardware problems.
PcUnregisterAdapterPnpManagement function The PcUnregisterAdapterPnpManagement function unregisters the audio adapter's PnP management interface from the PortCls class driver. It is used to support PnP rebalance.
PcUnregisterAdapterPowerManagement function The PcUnregisterAdapterPowerManagement function unregisters the audio adapter's power management interface from the PortCls class driver. The PcUnregisterAdapterPowerManagement function is available in Windows 7 and later versions of Windows.
PcUnregisterIoTimeout function The PcUnregisterIoTimeout function unregisters a driver-supplied I/O-timer callback routine for a specified device object.

Callback functions

Title Description
PALLOCATE_CAPTURE_DMA_ENGINE callback function The AllocateCaptureDmaEngine routine allocates a DMA engine for a capture stream.The function pointer type for an AllocateCaptureDmaEngine routine is defined as follows.
PALLOCATE_CONTIGUOUS_DMA_BUFFER callback function The AllocateContiguousDmaBuffer routine allocates a DMA buffer that consists of a single, contiguous block of physical memory.The function pointer type for an AllocateContiguousDmaBuffer routine is defined as follows.
PALLOCATE_DMA_BUFFER callback function The AllocateDmaBuffer routine allocates a data buffer in system memory for a DMA engine.The function pointer type for an AllocateDmaBuffer routine is defined as follows.
PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION callback function The AllocateDmaBufferWithNotification routine allocates a data buffer in system memory for a DMA engine.The function pointer type for an AllocateDmaBufferWithNotification routine is defined as follows.
PALLOCATE_RENDER_DMA_ENGINE callback function The AllocateRenderDmaEngine routine allocates a DMA engine for a render stream.The function pointer type for an AllocateRenderDmaEngine routine is defined as follows.
PCHANGE_BANDWIDTH_ALLOCATION callback function The ChangeBandwidthAllocation routine changes a DMA engine's bandwidth allocation on the HD Audio Link.The function pointer type for a ChangeBandwidthAllocation routine is defined as follows.
PCPFNEVENT_HANDLER callback function An EventHandler routine processes event requests.
PFNDRMADDCONTENTHANDLERS callback function This callback function is reserved for system use.
PFNDRMCREATECONTENTMIXED callback function This callback function is reserved for system use.
PFNDRMDESTROYCONTENT callback function This callback function is reserved for system use.
PFNDRMFORWARDCONTENTTODEVICEOBJECT callback function This callback function is reserved for system use.
PFNDRMFORWARDCONTENTTOFILEOBJECT callback function This callback function is reserved for system use.
PFNDRMFORWARDCONTENTTOINTERFACE callback function This callback function is reserved for system use.
PFNDRMGETCONTENTRIGHTS callback function This callback function is reserved for system use.
PFREE_CONTIGUOUS_DMA_BUFFER callback function The FreeContiguousDmaBuffer routine frees a DMA buffer and buffer descriptor list (BDL) that were allocated by a call to AllocateContiguousDmaBuffer.The function pointer type for a FreeContiguousDmaBuffer routine is defined as follows.
PFREE_DMA_BUFFER callback function The FreeDmaBuffer routine frees a DMA buffer that was previously allocated by a call to AllocateDmaBuffer.The function pointer type for a FreeDmaBuffer routine is defined as follows.
PFREE_DMA_BUFFER_WITH_NOTIFICATION callback function The FreeDmaBufferWithNotification routine frees a DMA buffer that was previously allocated by a call to AllocateDmaBufferWithNotification.The function pointer type for a FreeDmaBufferWithNotification routine is defined as follows.
PFREE_DMA_ENGINE callback function The FreeDmaEngine routine frees a DMA engine that was previously allocated by a call to AllocateCaptureDmaEngine or AllocateRenderDmaEngine.The function pointer type for a FreeDmaEngine routine is defined as follows.
PGET_DEVICE_INFORMATION callback function The GetDeviceInformation routine retrieves information about the HD Audio controller device.The function pointer type for a GetDeviceInformation routine is defined as follows.
PGET_LINK_POSITION_REGISTER callback function The GetLinkPositionRegister routine retrieves a pointer to a DMA engine's link position register.The function pointer type for a GetLinkPositionRegister routine is defined as follows.
PGET_RESOURCE_INFORMATION callback function The GetResourceInformation routine retrieves information about hardware resources.The function pointer type for a GetResourceInformation routine is defined as follows.
PGET_WALL_CLOCK_REGISTER callback function The GetWallClockRegister routine retrieves a pointer to the wall clock register.The function pointer type for a GetWallClockRegister routine is defined as follows.
PHDAUDIO_BDL_ISR callback function The HDAudioBdlIsr routine is the ISR that the HD Audio bus driver calls each time an IOC interrupt occurs on the stream. It is a function pointer of type PHDAUDIO_BDL_ISR, which is defined as follows.
PHDAUDIO_TRANSFER_COMPLETE_CALLBACK callback function HDAudio codec transfer complete callback function. PHDAUDIO_TRANSFER_COMPLETE_CALLBACK is used by the PTRANSFER_CODEC_VERBS callback function.
PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK callback function HDAudio codec unsolicited response callback function. PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK is used by the PREGISTER_EVENT_CALLBACK callback function.
PREGISTER_EVENT_CALLBACK callback function The RegisterEventCallback routine registers a callback routine for an unsolicited response from a codec or codecs.The function pointer type for a RegisterEventCallback routine is defined as follows.
PREGISTER_NOTIFICATION_EVENT callback function The RegisterNotificationEvent routine registers a kernel event so that it can receive DMA progress notifications.The function pointer type for a RegisterNotificationEvent routine is defined as follows.
PSETUP_DMA_ENGINE_WITH_BDL callback function The SetupDmaEngineWithBdl routine sets up a DMA engine to use a caller-allocated DMA buffer.The function pointer type for a SetupDmaEngineWithBdl routine is defined as follows.
PSET_DMA_ENGINE_STATE callback function The SetDmaEngineState routine sets the state of one or more DMA engines to the Running, Stopped, Paused, or Reset state.The function pointer type for a SetDmaEngineState routine is defined as follows.
PTRANSFER_CODEC_VERBS callback function The TransferCodecVerbs routine transfers one or more commands to a codec or codecs and retrieves the responses to those commands.The function pointer type for a TransferCodecVerbs routine is defined as follows.
PUNREGISTER_EVENT_CALLBACK callback function The UnregisterEventCallback routine deletes the registration of an event callback that was previously registered by a call to RegisterEventCallback.The function pointer type for an UnregisterEventCallback routine is defined as follows.
PUNREGISTER_NOTIFICATION_EVENT callback function The UnregisterNotificationEvent routine deletes the registration of an event that was previously registered by a call to RegisterNotificationEvent.The function pointer type for an UnregisterNotificationEvent routine is defined as follows.

Structures

Title Description
*PPCMETHOD_ITEM structure The PCMETHOD_ITEM structure describes a method supported by a filter, pin, or node.
*PPCMETHOD_ITEM structure The PCMETHOD_ITEM structure describes a method supported by a filter, pin, or node.
*PPCNODE_DESCRIPTOR structure The PCNODE_DESCRIPTOR structure describes a node in the filter that a topology miniport driver implements.
*PPCNODE_DESCRIPTOR structure The PCNODE_DESCRIPTOR structure describes a node in the filter that a topology miniport driver implements.
*PPCPIN_DESCRIPTOR structure The PCPIN_DESCRIPTOR structure describes a pin factory.
*PPCPIN_DESCRIPTOR structure The PCPIN_DESCRIPTOR structure describes a pin factory.
KSAC3_ALTERNATE_AUDIO structure The KSAC3_ALTERNATE_AUDIO structure specifies whether the two mono channels in an AC-3-encoded stream should be interpreted as a stereo pair or as two independent program channels.
KSAC3_BIT_STREAM_MODE structure The KSAC3_BIT_STREAM_MODE structure specifies the bit-stream mode, which is the type of audio service that is encoded into an AC-3 stream.
KSAC3_DIALOGUE_LEVEL structure The KSAC3_DIALOGUE_LEVEL structure specifies the average volume level of spoken dialog within the audio program encoded in an AC-3 stream.
KSAC3_DOWNMIX structure The KSAC3_DOWNMIX structure specifies whether the program channels in an AC-3-encoded stream need to be downmixed to accommodate the speaker configuration.
KSAC3_ERROR_CONCEALMENT structure The KSAC3_ERROR_CONCEALMENT structure specifies how errors in an AC-3-encoded stream should be concealed during playback.
KSAC3_ROOM_TYPE structure The KSAC3_ROOM_TYPE structure specifies the type of audio mixing room in which an AC-3-encoded stream was produced.
KSAUDIO_CHANNEL_CONFIG structure The KSAUDIO_CHANNEL_CONFIG structure specifies the configuration of channels within the data format of an audio stream.
KSAUDIO_COPY_PROTECTION structure The KSAUDIO_COPY_PROTECTION structure specifies the copy-protection status of an audio stream.
KSAUDIO_DYNAMIC_RANGE structure The KSAUDIO_DYNAMIC_RANGE structure specifies the dynamic range of an audio stream. This structure is used to get or set the data value for the KSPROPERTY_AUDIO_DYNAMIC_RANGE property.
KSAUDIO_MICROPHONE_COORDINATES structure The KSAUDIO_MICROPHONE_COORDINATES structure specifies the type and the coordinates of a single microphone in the microphone array.
KSAUDIO_MIC_ARRAY_GEOMETRY structure The KSAUDIO_MIC_ARRAY_GEOMETRY structure specifies the type and the geometry of the microphone array.
KSAUDIO_MIXCAP_TABLE structure The KSAUDIO_MIXCAP_TABLE structure specifies the mixing capabilities of a supermixer node (KSNODETYPE_SUPERMIX). This structure is used to get or set the data value for the KSPROPERTY_AUDIO_MIX_LEVEL_CAPS property.
KSAUDIO_MIXLEVEL structure The KSAUDIO_MIXLEVEL structure specifies the mixing level of an input-output path in a supermixer node (KSNODETYPE_SUPERMIX).
KSAUDIO_MIX_CAPS structure The KSAUDIO_MIX_CAPS structure specifies the mixing capabilities of a particular data path from one input channel of a supermixer node (KSNODETYPE_SUPERMIX) to an output channel of the same node.
KSAUDIO_POSITION structure The KSAUDIO_POSITION structure specifies the current positions of the play and write cursors in the sound buffer for an audio stream.
KSAUDIO_POSITIONEX structure The KSAUDIO_POSITIONEX structure specifies the stream position and the associated timestamp information for a kernel streaming (KS)-based audio driver.
KSAUDIO_PREFERRED_STATUS structure The KSAUDIO_PREFERRED_STATUS structure specifies the status of a preferred device.
KSAUDIO_PRESENTATION_POSITION structure The KSAUDIO_PRESENTATION_POSITION structure specifies the current cursor position in audio data stream that is being rendered to the endpoint.
KSDATAFORMAT_DSOUND structure The KSDATAFORMAT_DSOUND structure provides detailed information about a DirectSound audio stream.
KSDATAFORMAT_WAVEFORMATEX structure The KSDATAFORMAT_WAVEFORMATEX structure provides detailed information about the data format of an audio stream consisting of wave data.
KSDATARANGE_AUDIO structure The KSDATARANGE_AUDIO structure specifies a range of audio formats.
KSDATARANGE_MUSIC structure The KSDATARANGE_MUSIC structure specifies a range of DirectMusic MIDI formats.
KSDRMAUDIOSTREAM_CONTENTID structure The KSDRMAUDIOSTREAM_CONTENTID structure specifies the DRM content ID and DRM content rights for a KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property request.
KSDS3D_BUFFER_ALL structure The KSDS3D_BUFFER_ALL structure specifies all the 3D characteristics of a DirectSound 3D buffer.
KSDS3D_BUFFER_CONE_ANGLES structure A KSDS3D_BUFFER_CONE_ANGLES structure specifies the inside and outside cone angles.
KSDS3D_HRTF_FILTER_FORMAT_MSG structure The KSDS3D_HRTF_FILTER_FORMAT_MSG structure specifies the filter format to use for a head-relative transfer function (HRTF).
KSDS3D_HRTF_INIT_MSG structure The KSDS3D_HRTF_INIT_MSG structure specifies the parameter settings to use to initialize the head-relative transfer function (HRTF).
KSDS3D_HRTF_PARAMS_MSG structure The KSDS3D_HRTF_PARAMS_MSG structure specifies the parameter settings to apply to a head-relative transfer function (HRTF).
KSDS3D_ITD_PARAMS structure The KSDS3D_ITD_PARAMS structure specifies the parameters applied by the interaural time delay (ITD) algorithm to the left or right channel in a 3D node (KSNODETYPE_3D_EFFECTS).
KSDS3D_ITD_PARAMS_MSG structure The KSDS3D_ITD_PARAMS_MSG structure specifies the parameters used by the interaural time delay (ITD) algorithm in a 3D node (KSNODETYPE_3D_EFFECTS).
KSDS3D_LISTENER_ALL structure The KSDS3D_LISTENER_ALL structure specifies all the properties of the DirectSound 3D listener. This structure is used to get or set the data value for the KSPROPERTY_DIRECTSOUND3DLISTENER_ALL property.
KSDS3D_LISTENER_ORIENTATION structure A KSD3D_LISTENER_ORIENTATION structure specifies the position vector of the 3D listener. This structure is used to get or set the data value for the KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION property.
KSDSOUND_BUFFERDESC structure The KSDSOUND_BUFFERDESC structure describes a DirectSound buffer.
KSMUSICFORMAT structure The KSMUSICFORMAT structure is used to send and receive information about MIDI data that is input from and output to WDM audio devices.
KSNODEPROPERTY structure The KSNODEPROPERTY structure specifies a node and a property of that node.
KSNODEPROPERTY_AUDIO_CHANNEL structure The KSNODEPROPERTY_AUDIO_CHANNEL structure specifies a property of a channel in a node.
KSP_DRMAUDIOSTREAM_CONTENTID structure The KSP_DRMAUDIOSTREAM_CONTENTID structure specifies the property, request type, and context for a KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property request. It also specifies a list of function pointers to the DRM functions.
KSRTAUDIO_BUFFER structure The KSRTAUDIO_BUFFER structure specifies the buffer address, size, and a call memory barrier flag for a cyclic audio data buffer.
KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION structure The KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION structure appends a buffer base address, a requested buffer size, and a notification count to a KSPROPERTY structure.
KSRTAUDIO_GETREADPACKET_INFO structure The KSRTAUDIO_GETREADPACKET_INFO structure describes information for an audio packet.
KSRTAUDIO_HWLATENCY structure The KSRTAUDIO_HWLATENCY structure describes the latency that the audio hardware adds to a wave stream during playback or recording.
KSRTAUDIO_HWREGISTER structure The KSRTAUDIO_HWREGISTER structure specifies the address and additional information about a hardware register requested by the client.
KSRTAUDIO_HWREGISTER_PROPERTY structure The KSRTAUDIO_HWREGISTRY_PROPERTY structure appends a register base address to a KSPROPERTY structure.
KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY structure The KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY structure appends an event handle to a KSPROPERTY structure
KSRTAUDIO_SETWRITEPACKET_INFO structure The KSRTAUDIO_SETWRITEPACKET_INFO structure describes information associated with an audio packet.
LOOPEDSTREAMING_POSITION_EVENT_DATA structure The LOOPEDSTREAMING_POSITION_EVENT_DATA structure describes a position event in a looped buffer.
PCAUTOMATION_TABLE structure The PCAUTOMATION_TABLE structure contains a miniport driver's master table of properties, methods, and events.
PCAUTOMATION_TABLE structure The PCAUTOMATION_TABLE structure contains a miniport driver's master table of properties, methods, and events.
PCAUTOMATION_TABLE structure The PCAUTOMATION_TABLE structure contains a miniport driver's master table of properties, methods, and events.
PCAUTOMATION_TABLE structure The PCAUTOMATION_TABLE structure contains a miniport driver's master table of properties, methods, and events.
PCEVENT_ITEM structure The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
PCEVENT_ITEM structure The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
PCEVENT_ITEM structure The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
PCEVENT_ITEM structure The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
PCFILTER_DESCRIPTOR structure The PCFILTER_DESCRIPTOR structure describes a miniport driver's implementation of a filter. The structure specifies the filter's pins, nodes, connections, and properties.
PCFILTER_DESCRIPTOR structure The PCFILTER_DESCRIPTOR structure describes a miniport driver's implementation of a filter. The structure specifies the filter's pins, nodes, connections, and properties.
PCFILTER_DESCRIPTOR structure The PCFILTER_DESCRIPTOR structure describes a miniport driver's implementation of a filter. The structure specifies the filter's pins, nodes, connections, and properties.
PCFILTER_DESCRIPTOR structure The PCFILTER_DESCRIPTOR structure describes a miniport driver's implementation of a filter. The structure specifies the filter's pins, nodes, connections, and properties.
PCMETHOD_ITEM structure The PCMETHOD_ITEM structure describes a method supported by a filter, pin, or node.
PCMETHOD_ITEM structure The PCMETHOD_ITEM structure describes a method supported by a filter, pin, or node.
PCNODE_DESCRIPTOR structure The PCNODE_DESCRIPTOR structure describes a node in the filter that a topology miniport driver implements.
PCNODE_DESCRIPTOR structure The PCNODE_DESCRIPTOR structure describes a node in the filter that a topology miniport driver implements.
PCPIN_DESCRIPTOR structure The PCPIN_DESCRIPTOR structure describes a pin factory.
PCPIN_DESCRIPTOR structure The PCPIN_DESCRIPTOR structure describes a pin factory.
PCPROPERTY_ITEM structure The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
PCPROPERTY_ITEM structure The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
PCPROPERTY_ITEM structure The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
PCPROPERTY_ITEM structure The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
SOUNDDETECTOR_PATTERNHEADER structure The SOUNDDETECTOR_PATTERNHEADER structure specifies the pattern header for the sound detector in the KSPROPERTY_SOUNDDETECTOR_PATTERNS property.
SYSAUDIO_ATTACH_VIRTUAL_SOURCE structure The SYSAUDIO_ATTACH_VIRTUAL_SOURCE structure is used to attach a mixer-line virtual source (for example, a volume or mute control) to a mixer pin on the virtual audio device.
SYSAUDIO_CREATE_VIRTUAL_SOURCE structure The SYSAUDIO_CREATE_VIRTUAL_SOURCE structure is used to create a mixer-line virtual source such as a volume control or mute.
SYSAUDIO_INSTANCE_INFO structure The SYSAUDIO_INSTANCE_INFO structure specifies which virtual audio device to open and includes flags for configuring that device.
SYSAUDIO_SELECT_GRAPH structure The SYSAUDIO_SELECT_GRAPH structure is used to specify a graph that includes an optional node such as an AEC control.
WAVEFORMATEXTENSIBLE structure The WAVEFORMATEXTENSIBLE structure specifies the format of an audio wave stream.
_BTHHFP_AUDIO_DEVICE_CAPABILTIES structure The BTHHFP_AUDIO_DEVICE_CAPABILTIES data structure describes the capabilities of a Bluetooth HFP device, including the version and whether it supports 16 kHz sampling.
_BTHHFP_DESCRIPTOR structure The BTHHFP_DESCRIPTOR data structure stores information describing a paired Handsfree profile (HFP) device.
_BTHHFP_DESCRIPTOR2 structure The BTHHFP_DESCRIPTOR2 data structure stores information describing a paired Handsfree profile (HFP) device.
_DMUS_KERNEL_EVENT structure The DMUS_KERNEL_EVENT structure is used to package time-stamped music events.
_DS3DVECTOR structure The DS3DVECTOR structure contains three-dimensional position coordinates, position vector components, or velocity vector components.
_HDAUDIO_BUFFER_DESCRIPTOR structure The HDAUDIO_BUFFER_DESCRIPTOR structure specifies a buffer descriptor, which is an entry in a buffer descriptor list (BDL).
_HDAUDIO_BUS_INTERFACE structure The HDAUDIO_BUS_INTERFACE structure specifies the information that a client requires to call the routines in the HDAUDIO_BUS_INTERFACE version of the HD Audio DDI. Another variant of this DDI is specified by the HDAUDIO_BUS_INTERFACE_BDL structure.
_HDAUDIO_BUS_INTERFACE_BDL structure The HDAUDIO_BUS_INTERFACE_BDL structure specifies the information that a client requires to call the routines in the HDAUDIO_BUS_INTERFACE_BDL version of the HD Audio DDI. Another variant of this DDI is specified by the HDAUDIO_BUS_INTERFACE structure.
_HDAUDIO_BUS_INTERFACE_V2 structure The HDAUDIO_BUS_INTERFACE_V2 structure specifies the information that a client requires to call the routines in the HDAUDIO_BUS_INTERFACE_V2 version of the HD Audio DDI.
_HDAUDIO_CODEC_COMMAND structure The HDAUDIO_CODEC_COMMAND structure specifies a codec command.
_HDAUDIO_CODEC_RESPONSE structure The HDAUDIO_CODEC_RESPONSE structure specifies either a response to a codec command or an unsolicited response from a codec.
_HDAUDIO_CODEC_TRANSFER structure The HDAUDIO_CODEC_TRANSFER structure specifies a codec command and the response to that command.
_HDAUDIO_CONVERTER_FORMAT structure The HDAUDIO_CONVERTER_FORMAT structure specifies the 16-bit encoded stream format for an input or output converter, as defined in the Intel High Definition Audio Specification (see the Intel HD Audio website).
_HDAUDIO_DEVICE_INFORMATION structure The HDAUDIO_DEVICE_INFORMATION structure specifies the hardware capabilities of the HD Audio bus controller.
_HDAUDIO_STREAM_FORMAT structure The HDAUDIO_STREAM_FORMAT structure describes the data format of a capture or render stream.
_HFP_BYPASS_CODEC_ID_V1 structure The HFP_BYPASS_CODEC_ID_V1 structure defines version 1 of the supported codec ID structure.
_KSAUDIOMODULE_DESCRIPTOR structure The KSAUDIOMODULE_DESCRIPTOR structure describes the static, external properties of audio modules.
_KSAUDIOMODULE_NOTIFICATION structure The KSAUDIOMODULE_NOTIFICATION structure describes the properties associated with audio modules change notification.
_KSAUDIOMODULE_PROPERTY structure The KSAUDIOMODULE_DESCRIPTOR structure describes the static, external properties of the audio modules.
_KSAUDIO_PACKETSIZE_CONSTRAINTS structure The KSAUDIO_PACKETSIZE_CONSTRAINTS structure describes the physical hardware constraints.
_KSAUDIO_PACKETSIZE_CONSTRAINTS2 structure The KSAUDIO_PACKETSIZE_CONSTRAINTS2 structure describes the physical hardware constraints.
_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT structure The KSAUDIO_PACKETSIZE_PROCESSINGMODE_CONSTRAINT structure describes the constraints specific to any signal processing mode.
_PCEVENT_REQUEST structure The PCEVENT_REQUEST structure specifies an event request.
_PCMETHOD_REQUEST structure The PCMETHOD_REQUEST structure specifies a method request.
_PCNOTIFICATION_BUFFER structure The notification buffer used by IPortClsNotifications.
_PCPROPERTY_REQUEST structure The PCPROPERTY_REQUEST structure specifies a property request.
_PCSTREAMRESOURCE_DESCRIPTOR structure PCSTREAMRESOURCE_DESCRIPTOR defines the stream resource. Use PCSTREAMRESOURCE_DESCRIPTOR_INIT to correctly initialize this structure.
_SYNTHCAPS structure The SYNTHCAPS structure specifies the capabilities of a synthesizer.
_SYNTHDOWNLOAD structure The SYNTHDOWNLOAD structure specifies a handle for downloaded DLS data. It also specifies whether the buffer containing the DLS data can be freed.
_SYNTHVOICEPRIORITY_INSTANCE structure The SYNTHVOICEPRIORITY_INSTANCE structure identifies a voice in a MIDI synthesizer by specifying the voice's channel group (set of 16 MIDI channels) and its channel number within that group.
_SYNTH_BUFFER structure The SYNTH_BUFFER structure specifies DLS data that is being downloaded to a synthesizer.
_SYNTH_PORTPARAMS structure The SYNTH_PORTPARAMS structure contains the configuration parameters for a DirectMusic port, which is a DirectMusic term for a device that sends or receives music data.
_SYNTH_REVERB_PARAMS structure The SYNTH_REVERB_PARAMS structure contains configuration parameters.
_SYNTH_STATS structure The SYNTH_STATS structure specifies synthesizer performance statistics such as the number of voices playing, CPU usage, number of notes lost, amount of free memory, and peak volume level.
__MIDL_IKeywordDetectorOemAdapter_0003 structure The KEYWORDSELECTOR struct is a triplet of IDs that uniquely select a particular keyword, language, and user combination.
__MIDL___MIDL_itf_keyworddetectoroemadapter_0000_0000_0001 structure The SOUNDDETECTOR_PATTERNHEADER structure specifies the pattern header for the sound detector in the KSPROPERTY_SOUNDDETECTOR_PATTERNS property.
_tagKSAUDIOENGINE_BUFFER_SIZE_RANGE structure The KSAUDIOENGINE_BUFFER_SIZE_RANGE structure specifies the minimum and maximum buffer size that the hardware audio engine can support at the instance when it is called.
_tagKSAUDIOENGINE_DESCRIPTOR structure The KSAUDIOENGINE_DESCRIPTOR structure describes the static, external properties of the audio engine.
_tagKSAUDIOENGINE_VOLUMELEVEL structure The KSAUDIOENGINE_VOLUMELEVEL structure specifies the target volume level, ramp type, and duration within which the volume level should change, for a given volume level request via the KSPROPERTY_AUDIOENGINE_VOLUMELEVEL property.
_tagKSJACK_SINK_INFORMATION structure The KSJACK_SINK_INFORMATION structure specifies information about a display-related digital audio device, such as an HDMI device or a display port.
_tagKSTELEPHONY_CALLCONTROL structure The KSTELEPHONY_CALLCONTROL structure specifies the phone call type and control operation to use for the KSPROPERTY_TELEPHONY_CALLCONTROL property.
_tagKSTELEPHONY_CALLINFO structure The KSTELEPHONY_CALLINFO structure specifies the type and state of a phone call for the KSPROPERTY_TELEPHONY_CALLINFO property.
_tagKSTELEPHONY_PROVIDERCHANGE structure The KSTELEPHONY_PROVIDERCHANGE structure specifies the phone call type and provider change operation to use for the KSPROPERTY_TELEPHONY_PROVIDERCHANGE property.
_tagKSTOPOLOGY_ENDPOINTID structure The KSTOPOLOGY_ENDPOINTID structure specifies the name and the pin ID of a topology endpoint.
_tagKSTOPOLOGY_ENDPOINTIDPAIR structure The KSTOPOLOGY_ENDPOINTIDPAIR structure specifies the render and capture endpoint IDs to use for the KSPROPERTY_TELEPHONY_ENDPOINTIDPAIR property.
tagDRMFORWARD structure The DRMFORWARD structure contains the information that the DRMK system driver needs in order to forward a DRM content ID to a device that handles protected content.
tagDRMRIGHTS structure The DRMRIGHTS structure specifies the DRM content rights assigned to a KS audio pin or to a port-class driver's stream object.
tagKSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE structure The KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE structure specifies an audio signal processing mode.

Enumerations

Title Description
AUDIO_CURVE_TYPE enumeration The AUDIO_CURVE_TYPE enumeration defines constants that specify a curve algorithm to be applied to set a volume level.
DMUS_STREAM_TYPE enumeration Used for a DirectMusic synthesizer device.
EPcMiniportEngineEvent enumeration This topic introduces the EPcMiniportEngineEvent enum, and describes the parameters that provide additional information when the miniport driver reports a glitching error.
PC_REBALANCE_TYPE enumeration The PC_REBALANCE_TYPE enum describes the type of support for rebalancing.
TELEPHONY_CALLCONTROLOP enumeration The TELEPHONY_CALLCONTROLOP enumeration defines constants that specify an operation to perform on a phone call.
TELEPHONY_CALLSTATE enumeration The TELEPHONY_CALLSTATE enumeration defines constants that specify the state of a phone call.
TELEPHONY_CALLTYPE enumeration The TELEPHONY_CALLTYPE enumeration defines constants that specify the type of phone call.
TELEPHONY_PROVIDERCHANGEOP enumeration The TELEPHONY_PROVIDERCHANGEOP enumeration defines constants that specify the requested provider change operation.
_HDAUDIO_CODEC_POWER_STATE enumeration The HDAUDIO_CODEC_POWER_STATE enumeration defines constants that specify the different power states that HD Audio codecs can support. All states are from DEVICE_POWER_STATE except PowerCodecD3Cold.
_HDAUDIO_STREAM_STATE enumeration The HDAUDIO_STREAM_STATE enumeration defines constants that specify the different stream states supported by HDAudio.
_HFP_BYPASS_CODEC_ID_VERSION enumeration The HFP_BYPASS_CODEC_ID_VERSION enumeration defines the codec ID structure versions that are supported by the HFP service.
_PC_EXIT_LATENCY enumeration This topic discusses the PC_EXIT_LATENCY enum, and describes its members. The latency times map to specific maximum times in which the device must be able to exit its sleep state and enter the fully functional state (D0).
_PcStreamResourceType enumeration This topic discusses the PcStreamResourceType enum, and describes its members. The PcStreamResourceType enum is used to define the type of resources used for specific audio streaming.
__MIDL_IKeywordDetectorOemAdapter_0002 enumeration The KEYWORDID enumeration identifies the phrase text/function of a keyword. The value is also be used in the Windows Biometric Service adapters.
eChannelTargetType enumeration The eChannelTargetType enumeration defines constants that specify a type of node (target) in a given channel.
eEngineFormatType enumeration The eEngineFormatType enumeration defines constants that specify the audio data type supported by the audio engine.

I/O control codes

Title Description
IOCTL_BTHHFP_DEVICE_GET_CODEC_ID IOCTL An audio driver can send an IOCTL_BTHHFP_DEVICE_GET_CODEC_ID control code to query the Bluetooth driver stack about the codec ID used by the HFP service. This helps the audio driver determine the sampling rate for the data.
IOCTL_BTHHFP_DEVICE_GET_CONNECTION_STATUS_UPDATE IOCTL The IOCTL_BTHHFP_DEVICE_GET_CONNECTION_STATUS_UPDATE IOCTL Gets a connection status update.
IOCTL_BTHHFP_DEVICE_GET_CONTAINERID IOCTL The IOCTL_BTHHFP_DEVICE_GET_CONTAINERID IOCTL Gets the PnP Container ID of the Bluetooth device.
IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR IOCTL The audio driver issues the IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR control code to get information about an enabled GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS device interface.
IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2 IOCTL The IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2 IOCTL Gets descriptive information about the paired Handsfree profile (HFP) device.
IOCTL_BTHHFP_DEVICE_GET_KSNODETYPES IOCTL The IOCTL_BTHHFP_DEVICE_GET_KSNODETYPES IOCTL Gets the KSNODE types that best describe the Bluetooth device’s input and output.
IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE IOCTL The IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE IOCTL Gets noise reduction / echo cancellation (NREC) Disable status updates from the remote Bluetooth device.
IOCTL_BTHHFP_DEVICE_GET_VOLUMEPROPERTYVALUES IOCTL The IOCTL_BTHHFP_DEVICE_GET_VOLUMEPROPERTYVALUES IOCTL returns KSPROPERTY_VALUES data for the KSPROPERTY_AUDIO_VOLUMELEVEL property.
IOCTL_BTHHFP_DEVICE_REQUEST_CONNECT IOCTL The IOCTL_BTHHFP_DEVICE_REQUEST_CONNECT IOCTL requests a Handsfree Profile (HFP) Service Level Connection to the Bluetooth device.
IOCTL_BTHHFP_DEVICE_REQUEST_DISCONNECT IOCTL The IOCTL_BTHHFP_DEVICE_REQUEST_DISCONNECT IOCTL removes the Handfree Profile (HFP) Service Level Connection that existed between the audio driver and the Bluetooth device.
IOCTL_BTHHFP_MIC_GET_VOLUME_STATUS_UPDATE IOCTL The IOCTL_BTHHFP_MIC_GET_VOLUME_STATUS_UPDATE IOCTL Gets the volume level setting of the Bluetooth device's microphone.
IOCTL_BTHHFP_MIC_SET_VOLUME IOCTL The IOCTL_BTHHFP_MIC_SET_VOLUME IOCTL sets the volume level of the microphone for the Bluetooth device.
IOCTL_BTHHFP_SPEAKER_GET_VOLUME_STATUS_UPDATE IOCTL The IOCTL_BTHHFP_SPEAKER_GET_VOLUME_STATUS_UPDATE IOCTL Gets the volume level setting of the Bluetooth device's speaker.
IOCTL_BTHHFP_SPEAKER_SET_VOLUME IOCTL The IOCTL_BTHHFP_SPEAKER_SET_VOLUME IOCTL sets the volume level for the speaker of the Bluetooth device.
IOCTL_BTHHFP_STREAM_CLOSE IOCTL The IOCTL_BTHHFP_STREAM_CLOSE IOCTL indicates that the client driver no longer requires the synchronous connection-oriented (SCO) channel for streaming audio.
IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE IOCTL The IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE IOCTL Gets a stream channel status update.
IOCTL_BTHHFP_STREAM_OPEN IOCTL The IOCTL_BTHHFP_STREAM_OPEN IOCTL requests an open synchronous connection-oriented (SCO) channel to transmit audio data over the air.

Interfaces

Title Description
IAdapterPnpManagement interface IAdapterPnpManagement is an interface that adapters should implement and register if they want to receive PnP management messages.
IAdapterPowerManagement interface The IAdapterPowerManagement interface is used to manage the power state of an audio adapter.
IAdapterPowerManagement2 interface The IAdapterPowerManagement2 interface inherits from IUnknown and it is used to manage the power state of an audio adapter.
IAdapterPowerManagement3 interface The IAdapterPowerManagement3 interface inherits from IUnknown, and it is used for receiving power management messages.
IAllocatorMXF interface The IAllocatorMXF interface manages buffer storage for DirectMusic streams.
IDmaChannel interface The IDmaChannel interface provides an abstraction of a DMA channel and its associated DMA buffer and usage parameters.
IDmaChannelSlave interface The IDmaChannelSlave interface provides methods for monitoring and controlling a DMA channel for a subordinate device (as described in Introduction to Adapter Objects).
IDrmAudioStream interface The IDrmAudioStream interface assigns DRM protection to the digital content in an audio stream.
IDrmPort interface The IDrmPort interface is used by a WaveCyclic or WavePci miniport driver to manage DRM-protected content (see Digital Rights Management).
IDrmPort2 interface The IDrmPort2 interface is used by a WaveCyclic or WavePci miniport driver to manage DRM-protected content (see Digital Rights Management).
IInterruptSync interface The IInterruptSync interface represents an interrupt sync object that synchronizes the execution of a list of interrupt service routines (ISRs) with non-ISR routines.
IKeywordDetectorOemAdapter interface IKeywordDetectorOemAdapter is a Component Object Model (COM) interface for interacting with the Voice Activation Driver Interface. The IKeywordDetectorOemAdapter interface is supported in Windows 10 and later versions of Windows.
IMXF interface The IMXF interface represents the DirectMusic stream on a MIDI transport filter (MXF).
IMasterClock interface The IMasterClock interface provides Microsoft DirectMusic streams with access to the current reference time from the master clock.
IMiniport interface The IMiniport interface is the generic miniport interface that all miniport objects support. IMiniport inherits from the IUnknown interface.
IMiniportAudioEngineNode interface This interface allows a miniport driver to use KS properties that access the audio engine via a KS filter handle.
IMiniportAudioSignalProcessing interface The IMiniportAudioSignalProcessing interface is implemented by the WaveRT miniport component of any audio driver, if any of its pins support audio signal processing modes.
IMiniportDMus interface The IMiniportDMus interface is the primary interface for a DMus miniport driver for a DirectMusic synthesizer device.
IMiniportMidi interface The IMiniportMidi interface is the primary interface for a MIDI miniport driver for a MIDI synthesizer device.
IMiniportMidiStream interface The IMiniportMidiStream interface represents the MIDI stream that flows through a pin on a MIDI filter.
IMiniportPnpNotify interface IMiniportPnpNotify is an optional interface to allow miniport objects (audio subdevices) to receive PnP state change notifications.
IMiniportStreamAudioEngineNode interface This interface allows a miniport driver to use KS properties that access the audio engine via a pin instance handle.
IMiniportStreamAudioEngineNode2 interface The IMiniportStreamAudioEngineNode2 interface allows an audio miniport driver to extend the capabilities of the IMiniportStreamAudioEngineNode interface.
IMiniportTopology interface The IMiniportTopology interface is the primary interface of a Topology miniport driver.
IMiniportWaveCyclic interface The IMiniportWaveCyclic interface is the primary interface that is exposed by the miniport driver for a WaveCyclic audio device.
IMiniportWaveCyclicStream interface The IMiniportWaveCyclicStream interface represents the wave stream that flows through a pin on a WaveCyclic filter.
IMiniportWavePci interface The IMiniportWavePci interface is the primary interface that is exposed by the miniport driver for a WavePci audio device.
IMiniportWavePciStream interface The IMiniportWavePciStream interface represents the wave stream that flows through a pin on a WavePci filter.
IMiniportWaveRT interface The IMiniportWaveRT interface is the primary interface that is exposed by the miniport driver for a WaveRT audio device.
IMiniportWaveRTInputStream interface The IMiniportWaveRTInputStream interface represents the input wave stream that flows through a pin on the KS filter that wraps a WaveRT rendering or capture device. IMiniportWaveRTInputStream inherits from the IUnknown interface.
IMiniportWaveRTOutputStream interface The IMiniportWaveRTOutputStream interface represents the output wave stream. IMiniportWaveRTOutputStream inherits from the IUnknown interface.
IMiniportWaveRTStream interface The IMiniportWaveRTStream interface represents the wave stream that flows through a pin on the KS filter that wraps a WaveRT rendering or capture device.
IMiniportWaveRTStreamNotification interface The IMiniportWaveRTStreamNotification interface is supported in Windows Vista and later Windows operating systems, and it augments the IMiniportWaveRTStream interface, providing additional methods to facilitate DMA driver event notifications.
IMusicTechnology interface The IMusicTechnology interface is used to change the music technology GUIDs that are specified in the data range descriptors for the pins belonging to a MIDI or DMus miniport driver.
IPinCount interface The IPinCount interface provides a means for the miniport driver to monitor and manipulate its pin counts dynamically as pins are instantiated and closed.
IPinName interface In Windows 7 and later operating systems, the IPinName interface is used by miniport drivers to report and update the names of audio endpoints.
IPort interface The IPort interface is the generic interface for audio port drivers. All audio port drivers expose IPort as part of their lower edge. The adapter driver calls the initialization method on this interface. IPort inherits from the IUnknown interface.
IPortClsEtwHelper interface The IPortClsEtwHelper interface allows an audio miniport driver to access the Event Tracing for Windows (ETW) helper functions.
IPortClsNotifications interface An interface implemented by ports to provide notification helpers to miniports to support audio module communication.
IPortClsPnp interface IPortClsPnp is the PnP management interface that the port class driver (PortCls) exposes to the adapter.
IPortClsPower interface The IPortClsPower interface is supported in Windows Vista and later versions of Windows. IPortClsPower is the power management interface that the port class driver (PortCls) exposes to the adapter.
IPortClsRuntimePower interface IPortClsRuntimePower is the interface that the port class driver (PortCls) uses for accessing the runtime power management capabilities of the audio adapter.
IPortClsStreamResourceManager interface IPortClsStreamResourceManager is used to manage the registration of audio stream resources.
IPortClsStreamResourceManager2 interface IPortClsStreamResourceManager2 is used to manage the registration of audio stream resources.
IPortClsVersion interface The IPortClsVersion interface is used by a miniport driver to identify the version of the Windows operating system that the driver is running on. The port driver implements this interface and exposes it to the miniport driver.
IPortDMus interface The IPortDMus interface is the DMus port driver's primary interface.
IPortEvents interface The IPortEvents interface is used by miniport drivers to notify clients of hardware events.
IPortMidi interface The IPortMidi interface is the MIDI port driver's primary interface.
IPortTopology interface The IPortTopology interface provides generic port driver support to a topology miniport driver.
IPortWMIRegistration interface The IPortWMIRegistration interface is provided in Windows 7 and later versions of Windows. This interface allows the miniport driver to coordinate Event Tracing for Windows (ETW) registration between PortCls and the miniport driver.
IPortWaveCyclic interface The IPortWaveCyclic interface is the WaveCyclic port driver's primary interface.
IPortWavePci interface The IPortWavePci interface is the WavePci port driver's primary interface.
IPortWavePciStream interface The IPortWavePciStream interface is the stream-associated callback interface that provides mapping services to WavePci miniport stream objects.
IPortWaveRT interface The IPortWaveRT interface is supported in Windows Vista and later operating systems and it is the main interface that the WaveRT port driver exposes to the adapter driver that implements the WaveRT miniport driver object.
IPortWaveRTStream interface The IPortWaveRTStream interface is supported in Windows Vista and later operating systems, and it is a stream-specific interface that provides helper methods for use by the WaveRT miniport driver.
IPositionNotify interface PositionNotify
IPowerNotify interface The IPowerNotify interface is an optional interface that miniport drivers can expose if they require advance notification of impending power-state changes.
IPreFetchOffset interface The IPreFetchOffset interface controls the prefetch offset, which is the number of bytes separating the play and write cursors in a DirectSound output stream.
IRegistryKey interface The IRegistryKey interface provides an abstraction of a registry key that a miniport driver can use to access the key and its subkeys.
IResourceList interface The IResourceList interface provides an abstraction of a configuration resource list, which is a list of the system hardware resources that the Plug and Play manager assigns to a device at startup time.
IServiceGroup interface The IServiceGroup interface encapsulates a group of objects that all require notification of the same service request.
IServiceSink interface The IServiceSink interface encapsulates handling of a service request.
ISynthSinkDMus interface The ISynthSinkDMus interface handles wave output for a DirectMusic synthesizer device.
IUnregisterPhysicalConnection interface The IUnregisterPhysicalConnection interface implements three methods to remove a registered physical connection.
IUnregisterSubdevice interface The IUnregisterSubdevice interface implements a method to remove a registered subdevice.

Methods

Title Description
IAdapterPowerManagement2::PowerChangeState2 Portcls calls the IAdapterPowerManagement2
IAdapterPowerManagement3::D3ExitLatencyChanged PortCls calls the D3ExitLatencyChanged method while the device is in sleep (D3) power state, to provide a new exit latency value.
IAdapterPowerManagement::PowerChangeState The PowerChangeState method requests that the device change to a new power state.
IAdapterPowerManagement::QueryDeviceCapabilities The QueryDeviceCapabilities method is called by PortCls in response to a Plug and Play IRP_MN_QUERY_CAPABILITIES IRP.
IAdapterPowerManagement::QueryPowerChangeState The QueryPowerChangeState method is called by PortCls in response to the receipt of an IRP_MN_QUERY_POWER power IRP.
IAllocatorMXF::GetBufferSize The GetBufferSize method gets the buffer size from the allocator.
IAllocatorMXF::GetBuffer The GetBuffer method allocates a buffer for long MIDI events.
IAllocatorMXF::GetMessage The GetMessage method serves as the retrieval point for any DirectMusic kernel-mode component that utilizes the port driver's allocator to reuse DMUS_KERNEL_EVENT structures.
IAllocatorMXF::PutBuffer This method is not currently used by the miniport driver. The PutBuffer method passes a buffer to the allocator, but this occurs automatically when IMXF
IDrmAudioStream::SetContentId The SetContentId method sets the DRM content ID and its assigned DRM content rights on a KS audio stream.
IDrmPort2::AddContentHandlers The AddContentHandlers method provides the system with a list of functions that handle protected content.
IDrmPort2::ForwardContentToDeviceObject The ForwardContentToDeviceObject method accepts a device object representing a device to which the caller intends to forward protected content.
IInterruptSync::CallSynchronizedRoutine The CallSynchronizedRoutine method calls a routine that is not an interrupt service routine (ISR) but whose execution needs to be synchronized with ISRs.
IInterruptSync::Connect The Connect method connects the synchronization object to the interrupt.
IInterruptSync::Disconnect The Disconnect method disconnects the synchronization object from the interrupt.
IInterruptSync::GetKInterrupt The GetKInterrupt method gets a WDM interrupt object from a port-class synchronization object.
IInterruptSync::RegisterServiceRoutine The RegisterServiceRoutine method registers an interrupt service routine (ISR) that is to be called when an interrupt occurs.
IKeywordDetectorOemAdapter::BuildArmingPatternData The BuildArmingPatternData method is called by the operating system to build OEM-specific pattern data that includes any keyword and user-specific model data for detection.
IKeywordDetectorOemAdapter::ComputeAndAddUserModelData The ComputeAndAddUserModelData method is used by the training user experience to compute the user-specific information relative to the user-independent keyword.
IKeywordDetectorOemAdapter::GetCapabilities The GetCapabilities method returns the keywords and languages supported by the object.
IKeywordDetectorOemAdapter::ParseDetectionResultData The ParseDetectionResultData method is called by the operating system after handling a keyword detection event and after retrieving the result data from KSPROPERTY_SOUNDDETECTOR_MATCHRESULT.
IKeywordDetectorOemAdapter::VerifyUserKeyword The VerifyUserKeyword method is used by the training user experience to verify that one instance of a spoken utterance, captured during training, matches a predefined keyword within some tolerance.
IMasterClock::GetTime The GetTime method retrieves the current reference time read from the master clock.
IMiniportAudioEngineNode::GetAudioEngineDescriptor Gets the descriptor for the audio engine node.
IMiniportAudioEngineNode::GetBufferSizeRange Gets the minimum and maximum buffer size that the hardware audio engine can support.
IMiniportAudioEngineNode::GetDeviceAttributeSteppings Gets the allowed stepping value for the audio device attribute.
IMiniportAudioEngineNode::GetDeviceChannelCount Gets a count of the number of channels supported by the audio device.
IMiniportAudioEngineNode::GetDeviceChannelMute Gets the state of the Mute node for the audio device channel.
IMiniportAudioEngineNode::GetDeviceChannelPeakMeter Gets the PeakMeter value for the audio device channel.
IMiniportAudioEngineNode::GetDeviceChannelVolume Gets the volume level for a given channel of the audio device.
IMiniportAudioEngineNode::GetDeviceFormat Gets the audio data format for an audio device.
IMiniportAudioEngineNode::GetEngineFormatSize Gets the format type and the buffer size for the audio engine's audio data format.
IMiniportAudioEngineNode::GetGfxState Gets the state of the global effects (GFX) node in the audio engine.
IMiniportAudioEngineNode::GetMixFormat Gets the audio data format for the audio engine mixer.
IMiniportAudioEngineNode::GetSupportedDeviceFormats Gets the supported audio data formats for the audio device.
IMiniportAudioEngineNode::SetDeviceChannelMute Sets the state of the Mute node for the audio device channel.
IMiniportAudioEngineNode::SetDeviceChannelVolume Sets the volume level for a given channel of the audio device.
IMiniportAudioEngineNode::SetDeviceFormat Sets the audio data format for an audio device.
IMiniportAudioEngineNode::SetGfxState Sets the state of the global effects (GFX) node in the audio engine.
IMiniportAudioSignalProcessing::GetModes The GetModes method, Gets the audio signal processing modes supported by an audio pin.
IMiniportDMus::Init The Init method initializes the DMus miniport object.
IMiniportDMus::NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
IMiniportDMus::Service This method does not currently need to be implemented in the miniport driver. The Service method is currently unused.
IMiniportMidi::Init The Init method initializes the MIDI miniport object.
IMiniportMidi::NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
IMiniportMidi::Service The Service method notifies the miniport driver of a request for service.
IMiniportMidiStream::Read The Read method reads data from an incoming MIDI stream.
IMiniportMidiStream::SetFormat The SetFormat method sets the KS data format of the MIDI stream.
IMiniportMidiStream::SetState The SetState method sets the stream's transport state to a new state value.
IMiniportMidiStream::Write The Write method writes data to an outgoing MIDI stream.
IMiniportStreamAudioEngineNode2::SetStreamCurrentWritePositionForLastBuffer Sets the current cursor position in the last audio data stream that was written to the audio buffer.
IMiniportStreamAudioEngineNode::GetLfxState Gets the state of the local effects (LFX) node that is in the path of the audio stream.
IMiniportStreamAudioEngineNode::GetStreamAttributeSteppings Gets the allowed stepping value for the audio stream attribute.
IMiniportStreamAudioEngineNode::GetStreamChannelCount Gets a count of the number of channels available for the stream.
IMiniportStreamAudioEngineNode::GetStreamChannelMute Gets the state of the Mute node in the path of the audio stream.
IMiniportStreamAudioEngineNode::GetStreamChannelPeakMeter Gets the value of the PeakMeter node in the path of the audio stream.
IMiniportStreamAudioEngineNode::GetStreamChannelVolume Gets the current volume level that is applied to the audio stream.
IMiniportStreamAudioEngineNode::GetStreamLinearBufferPosition Gets the number of bytes that the DMA has fetched from the audio buffer since the beginning of the stream.
IMiniportStreamAudioEngineNode::GetStreamPresentationPosition Gets the current cursor position in the audio data stream that is being rendered to the endpoint.
IMiniportStreamAudioEngineNode::SetLfxState Sets the state of the local effects (LFX) node that is in the path of the audio stream.
IMiniportStreamAudioEngineNode::SetStreamChannelMute Sets the state of the Mute node in the path of the audio stream.
IMiniportStreamAudioEngineNode::SetStreamChannelVolume Sets the volume level to be applied to the audio stream.
IMiniportStreamAudioEngineNode::SetStreamCurrentWritePosition Sets the current cursor position in the audio data stream that is being captured from the endpoint.
IMiniportStreamAudioEngineNode::SetStreamLoopbackProtection Sets the loopback protection status of the audio engine node.
IMiniportTopology::Init The Init method initializes the topology miniport object.
IMiniportWaveCyclic::Init method The Init method initializes the WaveCyclic miniport object. Initialization includes verification of the hardware using the resources specified in the resource list.
IMiniportWaveCyclic::NewStream The NewStream method creates a new instance of a logical stream that is associated with a specified physical channel.
IMiniportWaveCyclicStream::GetPosition The GetPosition method gets the current position of the stream.
IMiniportWaveCyclicStream::NormalizePhysicalPosition The NormalizePhysicalPosition method converts a physical buffer position to a time-based value.
IMiniportWaveCyclicStream::SetFormat The SetFormat method sets the KS data format of the wave stream.
IMiniportWaveCyclicStream::SetNotificationFreq The SetNotificationFreq method controls the frequency at which notification interrupts are generated by setting the interval between successive interrupts.
IMiniportWaveCyclicStream::SetState The SetState method sets the new state of playback or recording for the stream.
IMiniportWaveCyclicStream::Silence The Silence method is used to copy silence samples to a specified buffer.
IMiniportWavePci::Init The Init method initializes the WavePci miniport object. Initialization includes verification of the hardware using the resources specified in the resource list.
IMiniportWavePci::NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
IMiniportWavePci::Service The Service method notifies the miniport driver of a request for service.
IMiniportWavePciStream::GetAllocatorFraming The GetAllocatorFraming method gets the preferred allocator-framing parameters for the stream.
IMiniportWavePciStream::GetPosition The GetPosition method gets the current position of the stream.
IMiniportWavePciStream::MappingAvailable The MappingAvailable method indicates that a new mapping is available.
IMiniportWavePciStream::NormalizePhysicalPosition The NormalizePhysicalPosition method converts a physical buffer position to a time-based value.
IMiniportWavePciStream::RevokeMappings The RevokeMappings method revokes mappings that were previously obtained through IPortWavePciStream
IMiniportWavePciStream::Service The Service method notifies the miniport driver of a request for service.
IMiniportWavePciStream::SetFormat The SetFormat method sets the KS data format of the wave stream.
IMiniportWavePciStream::SetState The SetState method changes the state of the stream transport.
IMiniportWaveRT::GetDeviceDescription The GetDeviceDescription method returns a pointer to a DEVICE_DESCRIPTION structure describing the device.
IMiniportWaveRT::Init The Init method initializes the WaveRT miniport driver object.
IMiniportWaveRT::NewStream The NewStream method creates a new instance of a WaveRT stream object.
IMiniportWaveRTInputStream::GetReadPacket Returns information about captured data.
IMiniportWaveRTOutputStream::GetOutputStreamPresentationPosition Returns stream presentation information.
IMiniportWaveRTOutputStream::GetPacketCount GetPacketCount returns the (1-based) count of packets completely transferred from the WaveRT buffer into hardware.
IMiniportWaveRTOutputStream::SetWritePacket SetWritePacket informs the driver that the OS has written valid data to the WaveRT buffer.
IMiniportWaveRTStreamNotification::AllocateBufferWithNotification The AllocateAudioBufferWithNotification method allocates a cyclic buffer for audio data when you want to implement DMA-driven event notification. If you do not want event notification, you must use IMiniportWaveRTStream
IMiniportWaveRTStreamNotification::FreeBufferWithNotification The FreeBufferWithNotification method is used to free an audio buffer previously allocated with a call to IMiniportWaveRTStreamNotification
IMiniportWaveRTStreamNotification::RegisterNotificationEvent The RegisterNotificationEvent method registers an event to be notified for DMA-driven event notification.
IMiniportWaveRTStreamNotification::UnregisterNotificationEvent The UnregisterNotificationEvent method unregisters an event from DMA driven event notification.
IMusicTechnology::SetTechnology The SetTechnology method changes the Technology member of each KSDATARANGE_MUSIC structure in the data ranges for the miniport driver's pins.
IPinCount::PinCount The PinCount method queries the miniport driver for its pin count.
IPinName::GetPinName The GetPinName method retrieves the friendly name of an audio endpoint.
IPortClsEtwHelper::MiniportWriteEtwEvent The MiniportWriteEtwEvent method is used by an audio miniport driver for providing the information about an Event Tracing for Windows (ETW) event.
IPortClsNotifications::AllocNotificationBuffer Allocates a buffer of the specified size, in the specified memory pool, for use in sending notifications, to allow for communications between audio modules and UWP apps.
IPortClsNotifications::FreeNotificationBuffer Frees a previously allocated IPortClsNotifications buffer. The buffer is used in sending notifications, to allow for communications between audio modules and UWP apps.
IPortClsNotifications::SendNotification Sends a notification to the listening UWP apps, to allow for communications between audio modules and UWP apps.
IPortClsPnp::RegisterAdapterPnpManagement The RegisterAdapterPowerManagement method registers the PnP management interface of the adapter with PortCls.
IPortClsPnp::UnregisterAdapterPnpManagement The UnRegisterAdapterPowerManagement method unregisters the PnP management interface of the adapter from PortCls.
IPortClsPower::RegisterAdapterPowerManagement The RegisterAdapterPowerManagement method registers the power management interface of the adapter with PortCls.
IPortClsPower::SetIdlePowerManagement The SetIdlePowerManagement method provides a way for the adapter driver to opt in or opt out of idle state detection.
IPortClsPower::UnregisterAdapterPowerManagement The UnregisterAdapterPowerManagement method unregisters the adapter's power management interface with PortCls.
IPortClsRuntimePower::RegisterPowerControlCallback The port class driver (PortCls) uses the RegisterPowerControlCallback method to register a power control callback.
IPortClsRuntimePower::SendPowerControl The port class driver (PortCls) uses the SendPowerControl method to send power control codes to the audio adapter.
IPortClsRuntimePower::UnregisterPowerControlCallback The port class driver (PortCls) uses the UnregisterPowerControlCallback method to unregister a power control callback.
IPortClsStreamResourceManager2::AddStreamResource2 AddStreamResource2 adds a stream resource. Two type of stream resources are supported
IPortClsVersion::GetVersion The GetVersion method returns the version of the Windows operating system that the driver is running on.
IPortDMus::Notify The Notify method should be called from the miniport driver's interrupt service routine (ISR) when a hardware interrupt has occurred.
IPortDMus::RegisterServiceGroup The RegisterServiceGroup method registers a service group with the DMus port driver.
IPortEvents::AddEventToEventList The AddEventToEventList method adds an event to the port driver's event list.
IPortEvents::GenerateEventList The GenerateEventList method notifies clients through the port driver's list of event entries that a particular event has occurred.
IPortMidi::Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred. It should be called from the miniport driver's interrupt service routine (ISR).
IPortMidi::RegisterServiceGroup The RegisterServiceGroup method registers the service group to be used for the IPortMidi
IPortWMIRegistration::RegisterWMIProvider The RegisterWMIProvider method registers the Event Tracing for Windows (ETW) capability of the miniport driver with PortCls.
IPortWMIRegistration::UnregisterWMIProvider The UnregisterWMIProvider method unregisters the Event Tracing for Windows (ETW) interface that was previously registered with a call to the RegisterWMIProvider method. The unregistration disables the ETW registration with PortCls.
IPortWaveCyclic::NewMasterDmaChannel The NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
IPortWaveCyclic::NewSlaveDmaChannel The NewSlaveDmaChannel method creates a new instance of a subordinate DMA channel.
IPortWaveCyclic::Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred. It should be called from the miniport driver's interrupt service routine (ISR).
IPortWavePci::NewMasterDmaChannel The NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
IPortWavePci::Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred.
IPortWavePciStream::GetMapping The GetMapping method obtains a mapping from the port driver and associates a tag with the mapping.
IPortWavePciStream::ReleaseMapping The ReleaseMapping method releases a mapping that was obtained by a previous call to IPortWavePciStream
IPortWavePciStream::TerminatePacket The TerminatePacket method terminates the packet currently being mapped.
IPortWaveRTStream::AllocateContiguousPagesForMdl The AllocateContiguousPagesForMdl method allocates a list of contiguous, nonpaged, physical memory pages and returns a pointer to a memory descriptor list (MDL) that describes them.
IPortWaveRTStream::AllocatePagesForMdl The AllocatePagesForMdl method allocates a list of nonpaged physical memory pages and returns a pointer to a memory descriptor list (MDL) that describes them.
IPortWaveRTStream::FreePagesFromMdl The FreePagesFromMdl method frees a memory descriptor list (MDL).
IPortWaveRTStream::GetPhysicalPageAddress The GetPhysicalPageAddress method returns the physical address for a page within a memory descriptor list (MDL).
IPortWaveRTStream::GetPhysicalPagesCount The GetPhysicalPagesCount method returns the count of the physical pages in a memory descriptor list (MDL).
IPortWaveRTStream::MapAllocatedPages The MapAllocatedPages method maps a list of previously allocated physical pages into a contiguous block of virtual memory that is accessible from kernel-mode.
IPortWaveRTStream::UnmapAllocatedPages The UnmapAllocatedPages method releases a mapping.
IPositionNotify::PositionNotify Byte position notify for MXF graph.
IPowerNotify::PowerChangeNotify The PowerChangeNotify method notifies the miniport driver of changes in the power state.
IPreFetchOffset::SetPreFetchOffset The SetPreFetchOffset method sets the prefetch offset, which is the number of bytes of data separating the write cursor from the play cursor in a DirectSound output stream.
IRegistryKey::DeleteKey The DeleteKey method deletes the registry key.
IRegistryKey::EnumerateKey The EnumerateKey method returns information about the subkeys of the open key.
IRegistryKey::EnumerateValueKey The EnumerateValueKey method returns information about a registry entry that contains a value key.
IRegistryKey::NewSubKey The NewSubKey method either creates a new registry subkey or opens an existing subkey under the key represented by the IRegistryKey object.
IRegistryKey::QueryKey The QueryKey method retrieves information about a registry key, including the key name, key class, and the number of subkeys and their sizes.
IRegistryKey::QueryRegistryValues The QueryRegistryValues method allows the caller to query several values from the registry with a single call.
IRegistryKey::QueryValueKey The QueryValueKey method retrieves information about a registry key's value entries, including their names, types, data sizes, and values.
IRegistryKey::SetValueKey The SetValueKey method replaces or creates a value entry under the open key.
IResourceList::AddEntryFromParent The AddEntryFromParent method adds to a resource list an entry found in the resource list's parent list.
IResourceList::AddEntry The AddEntry method adds an entry to a resource list.
IResourceList::FindTranslatedEntry The FindTranslatedEntry method returns a pointer to a translated entry of the specified type, or NULL if no such entry is found.
IResourceList::FindUntranslatedEntry The FindUntranslatedEntry method returns a pointer to an untranslated entry of the specified type, or NULL if no such pointer is found.
IResourceList::NumberOfEntriesOfType The NumberOfEntriesOfType method returns the number of resource items of a given type in the resource list. For each resource type, a macro is defined to call this method as previously described.
IResourceList::NumberOfEntries The NumberOfEntries method returns the number of resource items in the resource list.
IResourceList::TranslatedList The TranslatedList method returns the list of translated resources.
IResourceList::UntranslatedList The UntranslatedList method returns the list of untranslated resources.
IServiceGroup::AddMember The AddMember method adds a member to the service group.
IServiceGroup::CancelDelayedService The CancelDelayedService method cancels the previously requested delayed service.
IServiceGroup::RemoveMember The RemoveMember method removes the specified member from the service group.
IServiceGroup::RequestDelayedService The RequestDelayedService method requests service after the specified delay.
IServiceGroup::RequestService TBD
IServiceGroup::SupportDelayedService The SupportDelayedService method indicates that the service group should prepare to support delayed service.
IServiceSink::RequestService The RequestService method is called to forward a service request to an IServiceSink object.
ISynthSinkDMus::RefTimeToSample The RefTimeToSample method converts a reference time into a sample time.
ISynthSinkDMus::Render The Render method renders wave data into a destination sink.
ISynthSinkDMus::SampleToRefTime The SampleToRefTime method converts a sample time to a reference time.
ISynthSinkDMus::SyncToMaster The SyncToMaster method allows synchronization to the master clock in order to avoid drift.
IUnregisterPhysicalConnection::UnregisterPhysicalConnectionFromExternal The UnregisterPhysicalConnectionFromExternal method deletes the registration of a physical connection that was registered by a previous call to PcRegisterPhysicalConnectionFromExternal.
IUnregisterPhysicalConnection::UnregisterPhysicalConnectionToExternal The UnregisterPhysicalConnectionToExternal method deletes the registration of a physical connection that was registered by a previous call to PcRegisterPhysicalConnectionToExternal.
IUnregisterPhysicalConnection::UnregisterPhysicalConnection The UnregisterPhysicalConnection method deletes the registration of a physical connection that was registered by a previous call to PcRegisterPhysicalConnection.
IUnregisterSubdevice::UnregisterSubdevice The UnregisterSubdevice method deletes the registration of a subdevice that was previously registered by a call to PcRegisterSubdevice.

IOCTLs

Title Description
IOCTL_BTHHFP_DEVICE_GET_CODEC_ID An audio driver can send an IOCTL_BTHHFP_DEVICE_GET_CODEC_ID control code to query the Bluetooth driver stack about the codec ID used by the HFP service. This helps the audio driver determine the sampling rate for the data.
IOCTL_BTHHFP_DEVICE_GET_CONNECTION_STATUS_UPDATE The IOCTL_BTHHFP_DEVICE_GET_CONNECTION_STATUS_UPDATE IOCTL Gets a connection status update.
IOCTL_BTHHFP_DEVICE_GET_CONTAINERID The IOCTL_BTHHFP_DEVICE_GET_CONTAINERID IOCTL Gets the PnP Container ID of the Bluetooth device.
IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR The audio driver issues the IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR control code to get information about an enabled GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS device interface.
IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2 The IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2 IOCTL Gets descriptive information about the paired Handsfree profile (HFP) device.
IOCTL_BTHHFP_DEVICE_GET_KSNODETYPES The IOCTL_BTHHFP_DEVICE_GET_KSNODETYPES IOCTL Gets the KSNODE types that best describe the Bluetooth device’s input and output.
IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE The IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE IOCTL Gets noise reduction / echo cancellation (NREC) Disable status updates from the remote Bluetooth device.
IOCTL_BTHHFP_DEVICE_GET_VOLUMEPROPERTYVALUES The IOCTL_BTHHFP_DEVICE_GET_VOLUMEPROPERTYVALUES IOCTL returns KSPROPERTY_VALUES data for the KSPROPERTY_AUDIO_VOLUMELEVEL property.
IOCTL_BTHHFP_DEVICE_REQUEST_CONNECT The IOCTL_BTHHFP_DEVICE_REQUEST_CONNECT IOCTL requests a Handsfree Profile (HFP) Service Level Connection to the Bluetooth device.
IOCTL_BTHHFP_DEVICE_REQUEST_DISCONNECT The IOCTL_BTHHFP_DEVICE_REQUEST_DISCONNECT IOCTL removes the Handfree Profile (HFP) Service Level Connection that existed between the audio driver and the Bluetooth device.
IOCTL_BTHHFP_MIC_GET_VOLUME_STATUS_UPDATE The IOCTL_BTHHFP_MIC_GET_VOLUME_STATUS_UPDATE IOCTL Gets the volume level setting of the Bluetooth device's microphone.
IOCTL_BTHHFP_MIC_SET_VOLUME The IOCTL_BTHHFP_MIC_SET_VOLUME IOCTL sets the volume level of the microphone for the Bluetooth device.
IOCTL_BTHHFP_SPEAKER_GET_VOLUME_STATUS_UPDATE The IOCTL_BTHHFP_SPEAKER_GET_VOLUME_STATUS_UPDATE IOCTL Gets the volume level setting of the Bluetooth device's speaker.
IOCTL_BTHHFP_SPEAKER_SET_VOLUME The IOCTL_BTHHFP_SPEAKER_SET_VOLUME IOCTL sets the volume level for the speaker of the Bluetooth device.
IOCTL_BTHHFP_STREAM_CLOSE The IOCTL_BTHHFP_STREAM_CLOSE IOCTL indicates that the client driver no longer requires the synchronous connection-oriented (SCO) channel for streaming audio.
IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE The IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE IOCTL Gets a stream channel status update.
IOCTL_BTHHFP_STREAM_OPEN The IOCTL_BTHHFP_STREAM_OPEN IOCTL requests an open synchronous connection-oriented (SCO) channel to transmit audio data over the air.

Enumerations

Title Description
_HFP_BYPASS_CODEC_ID_VERSION The HFP_BYPASS_CODEC_ID_VERSION enumeration defines the codec ID structure versions that are supported by the HFP service.
DMUS_STREAM_TYPE Used for a DirectMusic synthesizer device.
_HDAUDIO_CODEC_POWER_STATE The HDAUDIO_CODEC_POWER_STATE enumeration defines constants that specify the different power states that HD Audio codecs can support. All states are from DEVICE_POWER_STATE except PowerCodecD3Cold.
_HDAUDIO_STREAM_STATE The HDAUDIO_STREAM_STATE enumeration defines constants that specify the different stream states supported by HDAudio.
__MIDL_IKeywordDetectorOemAdapter_0002 The KEYWORDID enumeration identifies the phrase text/function of a keyword. The value is also be used in the Windows Biometric Service adapters.
AUDIO_CURVE_TYPE The AUDIO_CURVE_TYPE enumeration defines constants that specify a curve algorithm to be applied to set a volume level.
TELEPHONY_CALLCONTROLOP The TELEPHONY_CALLCONTROLOP enumeration defines constants that specify an operation to perform on a phone call.
TELEPHONY_CALLSTATE The TELEPHONY_CALLSTATE enumeration defines constants that specify the state of a phone call.
TELEPHONY_CALLTYPE The TELEPHONY_CALLTYPE enumeration defines constants that specify the type of phone call.
TELEPHONY_PROVIDERCHANGEOP The TELEPHONY_PROVIDERCHANGEOP enumeration defines constants that specify the requested provider change operation.
_PC_EXIT_LATENCY This topic discusses the PC_EXIT_LATENCY enum, and describes its members. The latency times map to specific maximum times in which the device must be able to exit its sleep state and enter the fully functional state (D0).
_PcStreamResourceType This topic discusses the PcStreamResourceType enum, and describes its members. The PcStreamResourceType enum is used to define the type of resources used for specific audio streaming.
eChannelTargetType The eChannelTargetType enumeration defines constants that specify a type of node (target) in a given channel.
eEngineFormatType The eEngineFormatType enumeration defines constants that specify the audio data type supported by the audio engine.
EPcMiniportEngineEvent This topic introduces the EPcMiniportEngineEvent enum, and describes the parameters that provide additional information when the miniport driver reports a glitching error.
PC_REBALANCE_TYPE The PC_REBALANCE_TYPE enum describes the type of support for rebalancing.

Functions

Title Description
BTHHFP_AUDIO_DEVICE_CAPABILTIES_INIT The BTHHFP_AUDIO_DEVICE_CAPABILTIES_INIT method returns a pointer to an initialized BTHHFP_AUDIO_DEVICE_CAPABILTIES data structure.
GetBuffer The GetBuffer method allocates a buffer for long MIDI events.
GetBufferSize The GetBufferSize method gets the buffer size from the allocator.
GetMessage The GetMessage method serves as the retrieval point for any DirectMusic kernel-mode component that utilizes the port driver's allocator to reuse DMUS_KERNEL_EVENT structures.
PutBuffer This method is not currently used by the miniport driver. The PutBuffer method passes a buffer to the allocator, but this occurs automatically when IMXF::PutMessage is called anyway.
GetTime The GetTime method retrieves the current reference time read from the master clock.
Init The Init method initializes the DMus miniport object.
NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
Service This method does not currently need to be implemented in the miniport driver. The Service method is currently unused.
Notify The Notify method should be called from the miniport driver's interrupt service routine (ISR) when a hardware interrupt has occurred.
RegisterServiceGroup The RegisterServiceGroup method registers a service group with the DMus port driver.
PositionNotify Byte position notify for MXF graph.
RefTimeToSample The RefTimeToSample method converts a reference time into a sample time.
Render The Render method renders wave data into a destination sink.
SampleToRefTime The SampleToRefTime method converts a sample time to a reference time.
SyncToMaster The SyncToMaster method allows synchronization to the master clock in order to avoid drift.
DrmAddContentHandlers The DrmAddContentHandlers function provides the system with a list of functions that handle protected content.
DrmCreateContentMixed The DrmCreateContentMixed function creates a DRM content ID to identify a KS audio stream containing mixed content from a number of streams.
DrmDestroyContent The DrmDestroyContent function deletes a DRM content ID that was created by DrmCreateContentMixed.
DrmForwardContentToDeviceObject The DrmForwardContentToDeviceObject function accepts a device object representing a device to which the caller intends to forward protected content.
DrmForwardContentToFileObject The DrmForwardContentToFileObject function is obsolete and is maintained only to support existing drivers.
DrmForwardContentToInterface The DrmForwardContentToInterface function accepts a pointer to the COM interface of an object to which the caller intends to forward protected content.
DrmGetContentRights The DrmGetContentRights function retrieves the DRM content rights assigned to a DRM content ID.
PFNDRMADDCONTENTHANDLERS This callback function is reserved for system use.
PFNDRMCREATECONTENTMIXED This callback function is reserved for system use.
PFNDRMDESTROYCONTENT This callback function is reserved for system use.
PFNDRMFORWARDCONTENTTODEVICEOBJECT This callback function is reserved for system use.
PFNDRMFORWARDCONTENTTOFILEOBJECT This callback function is reserved for system use.
PFNDRMFORWARDCONTENTTOINTERFACE This callback function is reserved for system use.
PFNDRMGETCONTENTRIGHTS This callback function is reserved for system use.
SetContentId The SetContentId method sets the DRM content ID and its assigned DRM content rights on a KS audio stream.
PALLOCATE_CAPTURE_DMA_ENGINE The AllocateCaptureDmaEngine routine allocates a DMA engine for a capture stream.The function pointer type for an AllocateCaptureDmaEngine routine is defined as follows.
PALLOCATE_CONTIGUOUS_DMA_BUFFER The AllocateContiguousDmaBuffer routine allocates a DMA buffer that consists of a single, contiguous block of physical memory.The function pointer type for an AllocateContiguousDmaBuffer routine is defined as follows.
PALLOCATE_DMA_BUFFER The AllocateDmaBuffer routine allocates a data buffer in system memory for a DMA engine.The function pointer type for an AllocateDmaBuffer routine is defined as follows.
PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION The AllocateDmaBufferWithNotification routine allocates a data buffer in system memory for a DMA engine.The function pointer type for an AllocateDmaBufferWithNotification routine is defined as follows.
PALLOCATE_RENDER_DMA_ENGINE The AllocateRenderDmaEngine routine allocates a DMA engine for a render stream.The function pointer type for an AllocateRenderDmaEngine routine is defined as follows.
PCHANGE_BANDWIDTH_ALLOCATION The ChangeBandwidthAllocation routine changes a DMA engine's bandwidth allocation on the HD Audio Link.The function pointer type for a ChangeBandwidthAllocation routine is defined as follows.
PFREE_CONTIGUOUS_DMA_BUFFER The FreeContiguousDmaBuffer routine frees a DMA buffer and buffer descriptor list (BDL) that were allocated by a call to AllocateContiguousDmaBuffer.The function pointer type for a FreeContiguousDmaBuffer routine is defined as follows.
PFREE_DMA_BUFFER The FreeDmaBuffer routine frees a DMA buffer that was previously allocated by a call to AllocateDmaBuffer.The function pointer type for a FreeDmaBuffer routine is defined as follows.
PFREE_DMA_BUFFER_WITH_NOTIFICATION The FreeDmaBufferWithNotification routine frees a DMA buffer that was previously allocated by a call to AllocateDmaBufferWithNotification.The function pointer type for a FreeDmaBufferWithNotification routine is defined as follows.
PFREE_DMA_ENGINE The FreeDmaEngine routine frees a DMA engine that was previously allocated by a call to AllocateCaptureDmaEngine or AllocateRenderDmaEngine.The function pointer type for a FreeDmaEngine routine is defined as follows.
PGET_DEVICE_INFORMATION The GetDeviceInformation routine retrieves information about the HD Audio controller device.The function pointer type for a GetDeviceInformation routine is defined as follows.
PGET_LINK_POSITION_REGISTER The GetLinkPositionRegister routine retrieves a pointer to a DMA engine's link position register.The function pointer type for a GetLinkPositionRegister routine is defined as follows.
PGET_RESOURCE_INFORMATION The GetResourceInformation routine retrieves information about hardware resources.The function pointer type for a GetResourceInformation routine is defined as follows.
PGET_WALL_CLOCK_REGISTER The GetWallClockRegister routine retrieves a pointer to the wall clock register.The function pointer type for a GetWallClockRegister routine is defined as follows.
PHDAUDIO_BDL_ISR The HDAudioBdlIsr routine is the ISR that the HD Audio bus driver calls each time an IOC interrupt occurs on the stream. It is a function pointer of type PHDAUDIO_BDL_ISR, which is defined as follows.
PHDAUDIO_TRANSFER_COMPLETE_CALLBACK HDAudio codec transfer complete callback function. PHDAUDIO_TRANSFER_COMPLETE_CALLBACK is used by the PTRANSFER_CODEC_VERBS callback function.
PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK HDAudio codec unsolicited response callback function. PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK is used by the PREGISTER_EVENT_CALLBACK callback function.
PREGISTER_EVENT_CALLBACK The RegisterEventCallback routine registers a callback routine for an unsolicited response from a codec or codecs.The function pointer type for a RegisterEventCallback routine is defined as follows.
PREGISTER_NOTIFICATION_EVENT The RegisterNotificationEvent routine registers a kernel event so that it can receive DMA progress notifications.The function pointer type for a RegisterNotificationEvent routine is defined as follows.
PSET_DMA_ENGINE_STATE The SetDmaEngineState routine sets the state of one or more DMA engines to the Running, Stopped, Paused, or Reset state.The function pointer type for a SetDmaEngineState routine is defined as follows.
PSETUP_DMA_ENGINE_WITH_BDL The SetupDmaEngineWithBdl routine sets up a DMA engine to use a caller-allocated DMA buffer.The function pointer type for a SetupDmaEngineWithBdl routine is defined as follows.
PTRANSFER_CODEC_VERBS The TransferCodecVerbs routine transfers one or more commands to a codec or codecs and retrieves the responses to those commands.The function pointer type for a TransferCodecVerbs routine is defined as follows.
PUNREGISTER_EVENT_CALLBACK The UnregisterEventCallback routine deletes the registration of an event callback that was previously registered by a call to RegisterEventCallback.The function pointer type for an UnregisterEventCallback routine is defined as follows.
PUNREGISTER_NOTIFICATION_EVENT The UnregisterNotificationEvent routine deletes the registration of an event that was previously registered by a call to RegisterNotificationEvent.The function pointer type for an UnregisterNotificationEvent routine is defined as follows.
BuildArmingPatternData The BuildArmingPatternData method is called by the operating system to build OEM-specific pattern data that includes any keyword and user-specific model data for detection.
ComputeAndAddUserModelData The ComputeAndAddUserModelData method is used by the training user experience to compute the user-specific information relative to the user-independent keyword.
GetCapabilities The GetCapabilities method returns the keywords and languages supported by the object.
ParseDetectionResultData The ParseDetectionResultData method is called by the operating system after handling a keyword detection event and after retrieving the result data from KSPROPERTY_SOUNDDETECTOR_MATCHRESULT.
VerifyUserKeyword The VerifyUserKeyword method is used by the training user experience to verify that one instance of a spoken utterance, captured during training, matches a predefined keyword within some tolerance.
PcAddAdapterDevice The PcAddAdapterDevice function adds an adapter device to the WDM device stack.
PcAddContentHandlers The PcAddContentHandlers function provides the system with a list of functions that handle protected content.
PcAddStreamResource PcAddStreamResource adds a stream resource.
PcCompleteIrp The PcCompleteIrp function completes an IRP that was previously marked as pending.
PcCompletePendingPropertyRequest The PcCompletePendingPropertyRequest function is called to complete a pending property request.
PcCreateContentMixed The PcCreateContentMixed function computes the DRM content rights for a composite stream containing mixed content from some number of KS audio streams.
PcDestroyContent The PcDestroyContent function deletes a DRM content ID that was created by PcCreateContentMixed. Note that this function call is identical in operation to the DrmDestroyContent function, and its parameter definitions and return value are also identical.
PcDispatchIrp The PcDispatchIrp function dispatches an IRP to the PortCls system driver's default handler.
PcForwardContentToDeviceObject The PcForwardContentToDeviceObject function accepts a device object representing a device to which the caller intends to forward protected content.
PcForwardContentToFileObject The PcForwardContentToFileObject function is obsolete and is maintained only to support existing drivers.
PcForwardContentToInterface The PcForwardContentToInterface function accepts a pointer to the COM interface of an object to which the caller intends to forward protected content.
PcForwardIrpSynchronous The PcForwardIrpSynchronous function is used by IRP handlers to forward Plug and Play IRPs to the physical device object (PDO).
PcGetContentRights The PcGetContentRights function retrieves the DRM content rights assigned to a DRM content ID. Note that this function call is identical in operation to the DrmGetContentRights function, and its parameter definitions and return value are also identical.
PcGetDeviceProperty The PcGetDeviceProperty function returns the requested device property from the registry.
PcGetPhysicalDeviceObject The PcGetPhysicalDeviceObject function enables audio miniport drivers to retrieve the underlying physical device object of the audio device.
PcGetTimeInterval The PcGetTimeInterval function returns the time elapsed since a specified time. Time is measured in 100-nanosecond units.
PcInitializeAdapterDriver The PcInitializeAdapterDriver function binds an adapter driver to the PortCls system driver.
PcNewDmaChannel The PcNewDmaChannel function creates a new DMA-channel object. This function is obsolete; for more information, see the following comments.
PcNewInterruptSync The PcNewInterruptSync function creates and initializes an interrupt-synchronization object.
PcNewMiniport The PcNewMiniport function creates an instance of one of the system-supplied miniport drivers that are built into the PortCls system driver, portcls.sys.
PcNewPort The PcNewPort function creates a new system-supplied port-driver object, whose interface (derived from base class IPort) is specified by a class ID.
PcNewRegistryKey The PcNewRegistryKey function opens or creates a new registry key and creates an IRegistryKey object to represent the key. The caller accesses the key through this object.
PcNewResourceList The PcNewResourceList function creates and initializes a resource list.
PcNewResourceSublist The PcNewResourceSublist function creates and initializes an empty resource list that is derived from another resource list.
PcNewServiceGroup The PcNewServiceGroup function creates and initializes a service group.
PCPFNEVENT_HANDLER An EventHandler routine processes event requests.
PcRegisterAdapterPnpManagement The PcRegisterAdapterPnpManagement function registers the adapter's PnP-management interface with the PortCls system driver. It is used to support PnP rebalance.
PcRegisterAdapterPowerManagement The PcRegisterAdapterPowerManagement function registers the adapter's power-management interface with the PortCls system driver.
PcRegisterIoTimeout The PcRegisterIoTimeout function registers a driver-supplied I/O-timer callback routine for a specified device object.
PcRegisterPhysicalConnection The PcRegisterPhysicalConnection function registers a physical connection between two audio adapter filters that are instantiated by the same adapter driver.
PcRegisterPhysicalConnectionFromExternal The PcRegisterPhysicalConnectionFromExternal function registers a physical connection to an audio adapter filter from an external audio adapter filter.
PcRegisterPhysicalConnectionToExternal The PcRegisterPhysicalConnectionToExternal function registers a physical connection from an audio adapter filter to an external audio adapter filter.
PcRegisterSubdevice The PcRegisterSubdevice function registers a subdevice to make it available for use by clients.
PcRemoveStreamResource PcRemoveStreamResource removes an existing stream resource.
PcRequestNewPowerState The PcRequestNewPowerState function is used to request a new power state for the device. This function is typically not needed by adapter drivers but can occasionally be useful in working around some kinds of hardware problems.
PcUnregisterAdapterPnpManagement The PcUnregisterAdapterPnpManagement function unregisters the audio adapter's PnP management interface from the PortCls class driver. It is used to support PnP rebalance.
PcUnregisterAdapterPowerManagement The PcUnregisterAdapterPowerManagement function unregisters the audio adapter's power management interface from the PortCls class driver. The PcUnregisterAdapterPowerManagement function is available in Windows 7 and later versions of Windows.
PcUnregisterIoTimeout The PcUnregisterIoTimeout function unregisters a driver-supplied I/O-timer callback routine for a specified device object.
PowerChangeState The PowerChangeState method requests that the device change to a new power state.
QueryDeviceCapabilities The QueryDeviceCapabilities method is called by PortCls in response to a Plug and Play IRP_MN_QUERY_CAPABILITIES IRP.
QueryPowerChangeState The QueryPowerChangeState method is called by PortCls in response to the receipt of an IRP_MN_QUERY_POWER power IRP.
PowerChangeState2 Portcls calls the IAdapterPowerManagement2::PowerChangeState2 method to request a change to the new power state. This request is passed on to the adapter driver.
D3ExitLatencyChanged PortCls calls the D3ExitLatencyChanged method while the device is in sleep (D3) power state, to provide a new exit latency value.
AddContentHandlers The AddContentHandlers method provides the system with a list of functions that handle protected content.
ForwardContentToDeviceObject The ForwardContentToDeviceObject method accepts a device object representing a device to which the caller intends to forward protected content.
CallSynchronizedRoutine The CallSynchronizedRoutine method calls a routine that is not an interrupt service routine (ISR) but whose execution needs to be synchronized with ISRs.
Connect The Connect method connects the synchronization object to the interrupt.
Disconnect The Disconnect method disconnects the synchronization object from the interrupt.
GetKInterrupt The GetKInterrupt method gets a WDM interrupt object from a port-class synchronization object.
RegisterServiceRoutine The RegisterServiceRoutine method registers an interrupt service routine (ISR) that is to be called when an interrupt occurs.
GetAudioEngineDescriptor Gets the descriptor for the audio engine node.
GetBufferSizeRange Gets the minimum and maximum buffer size that the hardware audio engine can support.
GetDeviceAttributeSteppings Gets the allowed stepping value for the audio device attribute.
GetDeviceChannelCount Gets a count of the number of channels supported by the audio device.
GetDeviceChannelMute Gets the state of the Mute node for the audio device channel.
GetDeviceChannelPeakMeter Gets the PeakMeter value for the audio device channel.
GetDeviceChannelVolume Gets the volume level for a given channel of the audio device.
GetDeviceFormat Gets the audio data format for an audio device.
GetEngineFormatSize Gets the format type and the buffer size for the audio engine's audio data format.
GetGfxState Gets the state of the global effects (GFX) node in the audio engine.
GetMixFormat Gets the audio data format for the audio engine mixer.
GetSupportedDeviceFormats Gets the supported audio data formats for the audio device.
SetDeviceChannelMute Sets the state of the Mute node for the audio device channel.
SetDeviceChannelVolume Sets the volume level for a given channel of the audio device.
SetDeviceFormat Sets the audio data format for an audio device.
SetGfxState Sets the state of the global effects (GFX) node in the audio engine.
GetModes The GetModes method, Gets the audio signal processing modes supported by an audio pin.
Init The Init method initializes the MIDI miniport object.
NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
Service The Service method notifies the miniport driver of a request for service.
Read The Read method reads data from an incoming MIDI stream.
SetFormat The SetFormat method sets the KS data format of the MIDI stream.
SetState The SetState method sets the stream's transport state to a new state value.
Write The Write method writes data to an outgoing MIDI stream.
GetLfxState Gets the state of the local effects (LFX) node that is in the path of the audio stream.
GetStreamAttributeSteppings Gets the allowed stepping value for the audio stream attribute.
GetStreamChannelCount Gets a count of the number of channels available for the stream.
GetStreamChannelMute Gets the state of the Mute node in the path of the audio stream.
GetStreamChannelPeakMeter Gets the value of the PeakMeter node in the path of the audio stream.
GetStreamChannelVolume Gets the current volume level that is applied to the audio stream.
GetStreamLinearBufferPosition Gets the number of bytes that the DMA has fetched from the audio buffer since the beginning of the stream.
GetStreamPresentationPosition Gets the current cursor position in the audio data stream that is being rendered to the endpoint.
SetLfxState Sets the state of the local effects (LFX) node that is in the path of the audio stream.
SetStreamChannelMute Sets the state of the Mute node in the path of the audio stream.
SetStreamChannelVolume Sets the volume level to be applied to the audio stream.
SetStreamCurrentWritePosition Sets the current cursor position in the audio data stream that is being captured from the endpoint.
SetStreamLoopbackProtection Sets the loopback protection status of the audio engine node.
SetStreamCurrentWritePositionForLastBuffer Sets the current cursor position in the last audio data stream that was written to the audio buffer.
Init The Init method initializes the topology miniport object.
Init The Init method initializes the WaveCyclic miniport object. Initialization includes verification of the hardware using the resources specified in the resource list.
NewStream The NewStream method creates a new instance of a logical stream that is associated with a specified physical channel.
GetPosition The GetPosition method gets the current position of the stream.
NormalizePhysicalPosition The NormalizePhysicalPosition method converts a physical buffer position to a time-based value.
SetFormat The SetFormat method sets the KS data format of the wave stream.
SetNotificationFreq The SetNotificationFreq method controls the frequency at which notification interrupts are generated by setting the interval between successive interrupts.
SetState The SetState method sets the new state of playback or recording for the stream.
Silence The Silence method is used to copy silence samples to a specified buffer.
Init The Init method initializes the WavePci miniport object. Initialization includes verification of the hardware using the resources specified in the resource list.
NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
Service The Service method notifies the miniport driver of a request for service.
GetAllocatorFraming The GetAllocatorFraming method gets the preferred allocator-framing parameters for the stream.
GetPosition The GetPosition method gets the current position of the stream.
MappingAvailable The MappingAvailable method indicates that a new mapping is available.
NormalizePhysicalPosition The NormalizePhysicalPosition method converts a physical buffer position to a time-based value.
RevokeMappings The RevokeMappings method revokes mappings that were previously obtained through IPortWavePciStream::GetMapping.
Service The Service method notifies the miniport driver of a request for service.
SetFormat The SetFormat method sets the KS data format of the wave stream.
SetState The SetState method changes the state of the stream transport.
GetDeviceDescription The GetDeviceDescription method returns a pointer to a DEVICE_DESCRIPTION structure describing the device.
Init The Init method initializes the WaveRT miniport driver object.
NewStream The NewStream method creates a new instance of a WaveRT stream object.
GetReadPacket Returns information about captured data.
GetOutputStreamPresentationPosition Returns stream presentation information.
GetPacketCount GetPacketCount returns the (1-based) count of packets completely transferred from the WaveRT buffer into hardware.
SetWritePacket SetWritePacket informs the driver that the OS has written valid data to the WaveRT buffer.
AllocateBufferWithNotification The AllocateAudioBufferWithNotification method allocates a cyclic buffer for audio data when you want to implement DMA-driven event notification. If you do not want event notification, you must use IMiniportWaveRTStream::AllocateAudioBuffer.
FreeBufferWithNotification The FreeBufferWithNotification method is used to free an audio buffer previously allocated with a call to IMiniportWaveRTStreamNotification::AllocateBufferWithNotification.
RegisterNotificationEvent The RegisterNotificationEvent method registers an event to be notified for DMA-driven event notification.
UnregisterNotificationEvent The UnregisterNotificationEvent method unregisters an event from DMA driven event notification.
SetTechnology The SetTechnology method changes the Technology member of each KSDATARANGE_MUSIC structure in the data ranges for the miniport driver's pins.
PinCount The PinCount method queries the miniport driver for its pin count.
GetPinName The GetPinName method retrieves the friendly name of an audio endpoint.
MiniportWriteEtwEvent The MiniportWriteEtwEvent method is used by an audio miniport driver for providing the information about an Event Tracing for Windows (ETW) event.
AllocNotificationBuffer Allocates a buffer of the specified size, in the specified memory pool, for use in sending notifications, to allow for communications between audio modules and UWP apps.
FreeNotificationBuffer Frees a previously allocated IPortClsNotifications buffer. The buffer is used in sending notifications, to allow for communications between audio modules and UWP apps.
SendNotification Sends a notification to the listening UWP apps, to allow for communications between audio modules and UWP apps.
RegisterAdapterPnpManagement The RegisterAdapterPowerManagement method registers the PnP management interface of the adapter with PortCls.
UnregisterAdapterPnpManagement The UnRegisterAdapterPowerManagement method unregisters the PnP management interface of the adapter from PortCls.
RegisterAdapterPowerManagement The RegisterAdapterPowerManagement method registers the power management interface of the adapter with PortCls.
SetIdlePowerManagement The SetIdlePowerManagement method provides a way for the adapter driver to opt in or opt out of idle state detection.
UnregisterAdapterPowerManagement The UnregisterAdapterPowerManagement method unregisters the adapter's power management interface with PortCls.
RegisterPowerControlCallback The port class driver (PortCls) uses the RegisterPowerControlCallback method to register a power control callback.
SendPowerControl The port class driver (PortCls) uses the SendPowerControl method to send power control codes to the audio adapter.
UnregisterPowerControlCallback The port class driver (PortCls) uses the UnregisterPowerControlCallback method to unregister a power control callback.
AddStreamResource2 AddStreamResource2 adds a stream resource. Two type of stream resources are supported:_interrupts and driver-owned threads. The AddStreamResource2 method can only be used by audio waveRT miniport drivers.
GetVersion The GetVersion method returns the version of the Windows operating system that the driver is running on.
AddEventToEventList The AddEventToEventList method adds an event to the port driver's event list.
GenerateEventList The GenerateEventList method notifies clients through the port driver's list of event entries that a particular event has occurred.
Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred. It should be called from the miniport driver's interrupt service routine (ISR).
RegisterServiceGroup The RegisterServiceGroup method registers the service group to be used for the IPortMidi::Notify method.
NewMasterDmaChannel The NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
NewSlaveDmaChannel The NewSlaveDmaChannel method creates a new instance of a subordinate DMA channel.
Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred. It should be called from the miniport driver's interrupt service routine (ISR).
NewMasterDmaChannel The NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred.
GetMapping The GetMapping method obtains a mapping from the port driver and associates a tag with the mapping.
ReleaseMapping The ReleaseMapping method releases a mapping that was obtained by a previous call to IPortWavePciStream::GetMapping.
TerminatePacket The TerminatePacket method terminates the packet currently being mapped.
AllocateContiguousPagesForMdl The AllocateContiguousPagesForMdl method allocates a list of contiguous, nonpaged, physical memory pages and returns a pointer to a memory descriptor list (MDL) that describes them.
AllocatePagesForMdl The AllocatePagesForMdl method allocates a list of nonpaged physical memory pages and returns a pointer to a memory descriptor list (MDL) that describes them.
FreePagesFromMdl The FreePagesFromMdl method frees a memory descriptor list (MDL).
GetPhysicalPageAddress The GetPhysicalPageAddress method returns the physical address for a page within a memory descriptor list (MDL).
GetPhysicalPagesCount The GetPhysicalPagesCount method returns the count of the physical pages in a memory descriptor list (MDL).
MapAllocatedPages The MapAllocatedPages method maps a list of previously allocated physical pages into a contiguous block of virtual memory that is accessible from kernel-mode.
UnmapAllocatedPages The UnmapAllocatedPages method releases a mapping.
RegisterWMIProvider The RegisterWMIProvider method registers the Event Tracing for Windows (ETW) capability of the miniport driver with PortCls.
UnregisterWMIProvider The UnregisterWMIProvider method unregisters the Event Tracing for Windows (ETW) interface that was previously registered with a call to the RegisterWMIProvider method. The unregistration disables the ETW registration with PortCls.
PowerChangeNotify The PowerChangeNotify method notifies the miniport driver of changes in the power state.
SetPreFetchOffset The SetPreFetchOffset method sets the prefetch offset, which is the number of bytes of data separating the write cursor from the play cursor in a DirectSound output stream.
DeleteKey The DeleteKey method deletes the registry key.
EnumerateKey The EnumerateKey method returns information about the subkeys of the open key.
EnumerateValueKey The EnumerateValueKey method returns information about a registry entry that contains a value key.
NewSubKey The NewSubKey method either creates a new registry subkey or opens an existing subkey under the key represented by the IRegistryKey object.
QueryKey The QueryKey method retrieves information about a registry key, including the key name, key class, and the number of subkeys and their sizes.
QueryRegistryValues The QueryRegistryValues method allows the caller to query several values from the registry with a single call.
QueryValueKey The QueryValueKey method retrieves information about a registry key's value entries, including their names, types, data sizes, and values.
SetValueKey The SetValueKey method replaces or creates a value entry under the open key.
AddEntry The AddEntry method adds an entry to a resource list.
AddEntryFromParent The AddEntryFromParent method adds to a resource list an entry found in the resource list's parent list.
FindTranslatedEntry The FindTranslatedEntry method returns a pointer to a translated entry of the specified type, or NULL if no such entry is found.
FindUntranslatedEntry The FindUntranslatedEntry method returns a pointer to an untranslated entry of the specified type, or NULL if no such pointer is found.
NumberOfEntries The NumberOfEntries method returns the number of resource items in the resource list.
NumberOfEntriesOfType The NumberOfEntriesOfType method returns the number of resource items of a given type in the resource list. For each resource type, a macro is defined to call this method as previously described.
TranslatedList The TranslatedList method returns the list of translated resources.
UntranslatedList The UntranslatedList method returns the list of untranslated resources.
AddMember The AddMember method adds a member to the service group.
CancelDelayedService The CancelDelayedService method cancels the previously requested delayed service.
RemoveMember The RemoveMember method removes the specified member from the service group.
RequestDelayedService The RequestDelayedService method requests service after the specified delay.
RequestService TBD
SupportDelayedService The SupportDelayedService method indicates that the service group should prepare to support delayed service.
RequestService The RequestService method is called to forward a service request to an IServiceSink object.
UnregisterPhysicalConnection The UnregisterPhysicalConnection method deletes the registration of a physical connection that was registered by a previous call to PcRegisterPhysicalConnection.
UnregisterPhysicalConnectionFromExternal The UnregisterPhysicalConnectionFromExternal method deletes the registration of a physical connection that was registered by a previous call to PcRegisterPhysicalConnectionFromExternal.
UnregisterPhysicalConnectionToExternal The UnregisterPhysicalConnectionToExternal method deletes the registration of a physical connection that was registered by a previous call to PcRegisterPhysicalConnectionToExternal.
UnregisterSubdevice The UnregisterSubdevice method deletes the registration of a subdevice that was previously registered by a call to PcRegisterSubdevice.

Interfaces

Title Description
IAllocatorMXF The IAllocatorMXF interface manages buffer storage for DirectMusic streams.
IMasterClock The IMasterClock interface provides Microsoft DirectMusic streams with access to the current reference time from the master clock.
IMiniportDMus The IMiniportDMus interface is the primary interface for a DMus miniport driver for a DirectMusic synthesizer device.
IPortDMus The IPortDMus interface is the DMus port driver's primary interface.
IPositionNotify PositionNotify
ISynthSinkDMus The ISynthSinkDMus interface handles wave output for a DirectMusic synthesizer device.
IDrmAudioStream The IDrmAudioStream interface assigns DRM protection to the digital content in an audio stream.
IKeywordDetectorOemAdapter IKeywordDetectorOemAdapter is a Component Object Model (COM) interface for interacting with the Voice Activation Driver Interface. The IKeywordDetectorOemAdapter interface is supported in Windows 10 and later versions of Windows.
IAdapterPowerManagement The IAdapterPowerManagement interface is used to manage the power state of an audio adapter.
IAdapterPowerManagement2 The IAdapterPowerManagement2 interface inherits from IUnknown and it is used to manage the power state of an audio adapter.
IAdapterPowerManagement3 The IAdapterPowerManagement3 interface inherits from IUnknown, and it is used for receiving power management messages.
IDrmPort2 The IDrmPort2 interface is used by a WaveCyclic or WavePci miniport driver to manage DRM-protected content (see Digital Rights Management).
IInterruptSync The IInterruptSync interface represents an interrupt sync object that synchronizes the execution of a list of interrupt service routines (ISRs) with non-ISR routines.
IMiniportAudioEngineNode This interface allows a miniport driver to use KS properties that access the audio engine via a KS filter handle.
IMiniportAudioSignalProcessing The IMiniportAudioSignalProcessing interface is implemented by the WaveRT miniport component of any audio driver, if any of its pins support audio signal processing modes.
IMiniportMidi The IMiniportMidi interface is the primary interface for a MIDI miniport driver for a MIDI synthesizer device.
IMiniportMidiStream The IMiniportMidiStream interface represents the MIDI stream that flows through a pin on a MIDI filter.
IMiniportStreamAudioEngineNode This interface allows a miniport driver to use KS properties that access the audio engine via a pin instance handle.
IMiniportStreamAudioEngineNode2 The IMiniportStreamAudioEngineNode2 interface allows an audio miniport driver to extend the capabilities of the IMiniportStreamAudioEngineNode interface.
IMiniportTopology The IMiniportTopology interface is the primary interface of a Topology miniport driver.
IMiniportWaveCyclic The IMiniportWaveCyclic interface is the primary interface that is exposed by the miniport driver for a WaveCyclic audio device.
IMiniportWaveCyclicStream The IMiniportWaveCyclicStream interface represents the wave stream that flows through a pin on a WaveCyclic filter.
IMiniportWavePci The IMiniportWavePci interface is the primary interface that is exposed by the miniport driver for a WavePci audio device.
IMiniportWavePciStream The IMiniportWavePciStream interface represents the wave stream that flows through a pin on a WavePci filter.
IMiniportWaveRT The IMiniportWaveRT interface is the primary interface that is exposed by the miniport driver for a WaveRT audio device.
IMiniportWaveRTInputStream The IMiniportWaveRTInputStream interface represents the input wave stream that flows through a pin on the KS filter that wraps a WaveRT rendering or capture device. IMiniportWaveRTInputStream inherits from the IUnknown interface.
IMiniportWaveRTOutputStream The IMiniportWaveRTOutputStream interface represents the output wave stream. IMiniportWaveRTOutputStream inherits from the IUnknown interface.
IMiniportWaveRTStreamNotification The IMiniportWaveRTStreamNotification interface is supported in Windows Vista and later Windows operating systems, and it augments the IMiniportWaveRTStream interface, providing additional methods to facilitate DMA driver event notifications.
IMusicTechnology The IMusicTechnology interface is used to change the music technology GUIDs that are specified in the data range descriptors for the pins belonging to a MIDI or DMus miniport driver.
IPinCount The IPinCount interface provides a means for the miniport driver to monitor and manipulate its pin counts dynamically as pins are instantiated and closed.
IPinName In Windows 7 and later operating systems, the IPinName interface is used by miniport drivers to report and update the names of audio endpoints.
IPortClsEtwHelper The IPortClsEtwHelper interface allows an audio miniport driver to access the Event Tracing for Windows (ETW) helper functions.
IPortClsNotifications An interface implemented by ports to provide notification helpers to miniports to support audio module communication.
IPortClsPnp IPortClsPnp is the PnP management interface that the port class driver (PortCls) exposes to the adapter.
IPortClsPower The IPortClsPower interface is supported in Windows Vista and later versions of Windows. IPortClsPower is the power management interface that the port class driver (PortCls) exposes to the adapter.
IPortClsRuntimePower IPortClsRuntimePower is the interface that the port class driver (PortCls) uses for accessing the runtime power management capabilities of the audio adapter.
IPortClsStreamResourceManager2 IPortClsStreamResourceManager2 is used to manage the registration of audio stream resources.
IPortClsVersion The IPortClsVersion interface is used by a miniport driver to identify the version of the Windows operating system that the driver is running on. The port driver implements this interface and exposes it to the miniport driver.
IPortEvents The IPortEvents interface is used by miniport drivers to notify clients of hardware events.
IPortMidi The IPortMidi interface is the MIDI port driver's primary interface.
IPortWaveCyclic The IPortWaveCyclic interface is the WaveCyclic port driver's primary interface.
IPortWavePci The IPortWavePci interface is the WavePci port driver's primary interface.
IPortWavePciStream The IPortWavePciStream interface is the stream-associated callback interface that provides mapping services to WavePci miniport stream objects.
IPortWaveRTStream The IPortWaveRTStream interface is supported in Windows Vista and later operating systems, and it is a stream-specific interface that provides helper methods for use by the WaveRT miniport driver.
IPortWMIRegistration The IPortWMIRegistration interface is provided in Windows 7 and later versions of Windows. This interface allows the miniport driver to coordinate Event Tracing for Windows (ETW) registration between PortCls and the miniport driver.
IPowerNotify The IPowerNotify interface is an optional interface that miniport drivers can expose if they require advance notification of impending power-state changes.
IPreFetchOffset The IPreFetchOffset interface controls the prefetch offset, which is the number of bytes separating the play and write cursors in a DirectSound output stream.
IRegistryKey The IRegistryKey interface provides an abstraction of a registry key that a miniport driver can use to access the key and its subkeys.
IResourceList The IResourceList interface provides an abstraction of a configuration resource list, which is a list of the system hardware resources that the Plug and Play manager assigns to a device at startup time.
IServiceGroup The IServiceGroup interface encapsulates a group of objects that all require notification of the same service request.
IServiceSink The IServiceSink interface encapsulates handling of a service request.
IUnregisterPhysicalConnection The IUnregisterPhysicalConnection interface implements three methods to remove a registered physical connection.
IUnregisterSubdevice The IUnregisterSubdevice interface implements a method to remove a registered subdevice.

Structures

Title Description
_BTHHFP_AUDIO_DEVICE_CAPABILTIES The BTHHFP_AUDIO_DEVICE_CAPABILTIES data structure describes the capabilities of a Bluetooth HFP device, including the version and whether it supports 16 kHz sampling.
_BTHHFP_DESCRIPTOR The BTHHFP_DESCRIPTOR data structure stores information describing a paired Handsfree profile (HFP) device.
_BTHHFP_DESCRIPTOR2 The BTHHFP_DESCRIPTOR2 data structure stores information describing a paired Handsfree profile (HFP) device.
_HFP_BYPASS_CODEC_ID_V1 The HFP_BYPASS_CODEC_ID_V1 structure defines version 1 of the supported codec ID structure.
_DMUS_KERNEL_EVENT The DMUS_KERNEL_EVENT structure is used to package time-stamped music events.
_SYNTH_BUFFER The SYNTH_BUFFER structure specifies DLS data that is being downloaded to a synthesizer.
_SYNTH_PORTPARAMS The SYNTH_PORTPARAMS structure contains the configuration parameters for a DirectMusic port, which is a DirectMusic term for a device that sends or receives music data.
_SYNTH_REVERB_PARAMS The SYNTH_REVERB_PARAMS structure contains configuration parameters.
_SYNTH_STATS The SYNTH_STATS structure specifies synthesizer performance statistics such as the number of voices playing, CPU usage, number of notes lost, amount of free memory, and peak volume level.
_SYNTHCAPS The SYNTHCAPS structure specifies the capabilities of a synthesizer.
_SYNTHDOWNLOAD The SYNTHDOWNLOAD structure specifies a handle for downloaded DLS data. It also specifies whether the buffer containing the DLS data can be freed.
_SYNTHVOICEPRIORITY_INSTANCE The SYNTHVOICEPRIORITY_INSTANCE structure identifies a voice in a MIDI synthesizer by specifying the voice's channel group (set of 16 MIDI channels) and its channel number within that group.
KSDRMAUDIOSTREAM_CONTENTID The KSDRMAUDIOSTREAM_CONTENTID structure specifies the DRM content ID and DRM content rights for a KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property request.
KSP_DRMAUDIOSTREAM_CONTENTID The KSP_DRMAUDIOSTREAM_CONTENTID structure specifies the property, request type, and context for a KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property request. It also specifies a list of function pointers to the DRM functions.
tagDRMFORWARD The DRMFORWARD structure contains the information that the DRMK system driver needs in order to forward a DRM content ID to a device that handles protected content.
tagDRMRIGHTS The DRMRIGHTS structure specifies the DRM content rights assigned to a KS audio pin or to a port-class driver's stream object.
_HDAUDIO_BUFFER_DESCRIPTOR The HDAUDIO_BUFFER_DESCRIPTOR structure specifies a buffer descriptor, which is an entry in a buffer descriptor list (BDL).
_HDAUDIO_BUS_INTERFACE The HDAUDIO_BUS_INTERFACE structure specifies the information that a client requires to call the routines in the HDAUDIO_BUS_INTERFACE version of the HD Audio DDI. Another variant of this DDI is specified by the HDAUDIO_BUS_INTERFACE_BDL structure.
_HDAUDIO_BUS_INTERFACE_BDL The HDAUDIO_BUS_INTERFACE_BDL structure specifies the information that a client requires to call the routines in the HDAUDIO_BUS_INTERFACE_BDL version of the HD Audio DDI. Another variant of this DDI is specified by the HDAUDIO_BUS_INTERFACE structure.
_HDAUDIO_BUS_INTERFACE_V2 The HDAUDIO_BUS_INTERFACE_V2 structure specifies the information that a client requires to call the routines in the HDAUDIO_BUS_INTERFACE_V2 version of the HD Audio DDI.
_HDAUDIO_CODEC_COMMAND The HDAUDIO_CODEC_COMMAND structure specifies a codec command.
_HDAUDIO_CODEC_RESPONSE The HDAUDIO_CODEC_RESPONSE structure specifies either a response to a codec command or an unsolicited response from a codec.
_HDAUDIO_CODEC_TRANSFER The HDAUDIO_CODEC_TRANSFER structure specifies a codec command and the response to that command.
_HDAUDIO_CONVERTER_FORMAT The HDAUDIO_CONVERTER_FORMAT structure specifies the 16-bit encoded stream format for an input or output converter, as defined in the Intel High Definition Audio Specification (see the Intel HD Audio website).
_HDAUDIO_DEVICE_INFORMATION The HDAUDIO_DEVICE_INFORMATION structure specifies the hardware capabilities of the HD Audio bus controller.
_HDAUDIO_STREAM_FORMAT The HDAUDIO_STREAM_FORMAT structure describes the data format of a capture or render stream.
__MIDL___MIDL_itf_keyworddetectoroemadapter_0000_0000_0001 The SOUNDDETECTOR_PATTERNHEADER structure specifies the pattern header for the sound detector in the KSPROPERTY_SOUNDDETECTOR_PATTERNS property.
__MIDL_IKeywordDetectorOemAdapter_0003 The KEYWORDSELECTOR struct is a triplet of IDs that uniquely select a particular keyword, language, and user combination.
_DS3DVECTOR The DS3DVECTOR structure contains three-dimensional position coordinates, position vector components, or velocity vector components.
_KSAUDIO_PACKETSIZE_CONSTRAINTS The KSAUDIO_PACKETSIZE_CONSTRAINTS structure describes the physical hardware constraints.
_KSAUDIO_PACKETSIZE_CONSTRAINTS2 The KSAUDIO_PACKETSIZE_CONSTRAINTS2 structure describes the physical hardware constraints.
_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT The KSAUDIO_PACKETSIZE_PROCESSINGMODE_CONSTRAINT structure describes the constraints specific to any signal processing mode.
_KSAUDIOMODULE_DESCRIPTOR The KSAUDIOMODULE_DESCRIPTOR structure describes the static, external properties of audio modules.
_KSAUDIOMODULE_NOTIFICATION The KSAUDIOMODULE_NOTIFICATION structure describes the properties associated with audio modules change notification.
_KSAUDIOMODULE_PROPERTY The KSAUDIOMODULE_DESCRIPTOR structure describes the static, external properties of the audio modules.
_tagKSAUDIOENGINE_BUFFER_SIZE_RANGE The KSAUDIOENGINE_BUFFER_SIZE_RANGE structure specifies the minimum and maximum buffer size that the hardware audio engine can support at the instance when it is called.
_tagKSAUDIOENGINE_DESCRIPTOR The KSAUDIOENGINE_DESCRIPTOR structure describes the static, external properties of the audio engine.
_tagKSAUDIOENGINE_VOLUMELEVEL The KSAUDIOENGINE_VOLUMELEVEL structure specifies the target volume level, ramp type, and duration within which the volume level should change, for a given volume level request via the KSPROPERTY_AUDIOENGINE_VOLUMELEVEL property.
_tagKSJACK_SINK_INFORMATION The KSJACK_SINK_INFORMATION structure specifies information about a display-related digital audio device, such as an HDMI device or a display port.
_tagKSTELEPHONY_CALLCONTROL The KSTELEPHONY_CALLCONTROL structure specifies the phone call type and control operation to use for the KSPROPERTY_TELEPHONY_CALLCONTROL property.
_tagKSTELEPHONY_CALLINFO The KSTELEPHONY_CALLINFO structure specifies the type and state of a phone call for the KSPROPERTY_TELEPHONY_CALLINFO property.
_tagKSTELEPHONY_PROVIDERCHANGE The KSTELEPHONY_PROVIDERCHANGE structure specifies the phone call type and provider change operation to use for the KSPROPERTY_TELEPHONY_PROVIDERCHANGE property.
_tagKSTOPOLOGY_ENDPOINTID The KSTOPOLOGY_ENDPOINTID structure specifies the name and the pin ID of a topology endpoint.
_tagKSTOPOLOGY_ENDPOINTIDPAIR The KSTOPOLOGY_ENDPOINTIDPAIR structure specifies the render and capture endpoint IDs to use for the KSPROPERTY_TELEPHONY_ENDPOINTIDPAIR property.
KSAC3_ALTERNATE_AUDIO The KSAC3_ALTERNATE_AUDIO structure specifies whether the two mono channels in an AC-3-encoded stream should be interpreted as a stereo pair or as two independent program channels.
KSAC3_BIT_STREAM_MODE The KSAC3_BIT_STREAM_MODE structure specifies the bit-stream mode, which is the type of audio service that is encoded into an AC-3 stream.
KSAC3_DIALOGUE_LEVEL The KSAC3_DIALOGUE_LEVEL structure specifies the average volume level of spoken dialog within the audio program encoded in an AC-3 stream.
KSAC3_DOWNMIX The KSAC3_DOWNMIX structure specifies whether the program channels in an AC-3-encoded stream need to be downmixed to accommodate the speaker configuration.
KSAC3_ERROR_CONCEALMENT The KSAC3_ERROR_CONCEALMENT structure specifies how errors in an AC-3-encoded stream should be concealed during playback.
KSAC3_ROOM_TYPE The KSAC3_ROOM_TYPE structure specifies the type of audio mixing room in which an AC-3-encoded stream was produced.
KSAUDIO_CHANNEL_CONFIG The KSAUDIO_CHANNEL_CONFIG structure specifies the configuration of channels within the data format of an audio stream.
KSAUDIO_COPY_PROTECTION The KSAUDIO_COPY_PROTECTION structure specifies the copy-protection status of an audio stream.
KSAUDIO_DYNAMIC_RANGE The KSAUDIO_DYNAMIC_RANGE structure specifies the dynamic range of an audio stream. This structure is used to get or set the data value for the KSPROPERTY_AUDIO_DYNAMIC_RANGE property.
KSAUDIO_MIC_ARRAY_GEOMETRY The KSAUDIO_MIC_ARRAY_GEOMETRY structure specifies the type and the geometry of the microphone array.
KSAUDIO_MICROPHONE_COORDINATES The KSAUDIO_MICROPHONE_COORDINATES structure specifies the type and the coordinates of a single microphone in the microphone array.
KSAUDIO_MIX_CAPS The KSAUDIO_MIX_CAPS structure specifies the mixing capabilities of a particular data path from one input channel of a supermixer node (KSNODETYPE_SUPERMIX) to an output channel of the same node.
KSAUDIO_MIXCAP_TABLE The KSAUDIO_MIXCAP_TABLE structure specifies the mixing capabilities of a supermixer node (KSNODETYPE_SUPERMIX). This structure is used to get or set the data value for the KSPROPERTY_AUDIO_MIX_LEVEL_CAPS property.
KSAUDIO_MIXLEVEL The KSAUDIO_MIXLEVEL structure specifies the mixing level of an input-output path in a supermixer node (KSNODETYPE_SUPERMIX).
KSAUDIO_POSITION The KSAUDIO_POSITION structure specifies the current positions of the play and write cursors in the sound buffer for an audio stream.
KSAUDIO_POSITIONEX The KSAUDIO_POSITIONEX structure specifies the stream position and the associated timestamp information for a kernel streaming (KS)-based audio driver.
KSAUDIO_PREFERRED_STATUS The KSAUDIO_PREFERRED_STATUS structure specifies the status of a preferred device.
KSAUDIO_PRESENTATION_POSITION The KSAUDIO_PRESENTATION_POSITION structure specifies the current cursor position in audio data stream that is being rendered to the endpoint.
KSDATAFORMAT_DSOUND The KSDATAFORMAT_DSOUND structure provides detailed information about a DirectSound audio stream.
KSDATAFORMAT_WAVEFORMATEX The KSDATAFORMAT_WAVEFORMATEX structure provides detailed information about the data format of an audio stream consisting of wave data.
KSDATARANGE_AUDIO The KSDATARANGE_AUDIO structure specifies a range of audio formats.
KSDATARANGE_MUSIC The KSDATARANGE_MUSIC structure specifies a range of DirectMusic MIDI formats.
KSDS3D_BUFFER_ALL The KSDS3D_BUFFER_ALL structure specifies all the 3D characteristics of a DirectSound 3D buffer.
KSDS3D_BUFFER_CONE_ANGLES A KSDS3D_BUFFER_CONE_ANGLES structure specifies the inside and outside cone angles.
KSDS3D_HRTF_FILTER_FORMAT_MSG The KSDS3D_HRTF_FILTER_FORMAT_MSG structure specifies the filter format to use for a head-relative transfer function (HRTF).
KSDS3D_HRTF_INIT_MSG The KSDS3D_HRTF_INIT_MSG structure specifies the parameter settings to use to initialize the head-relative transfer function (HRTF).
KSDS3D_HRTF_PARAMS_MSG The KSDS3D_HRTF_PARAMS_MSG structure specifies the parameter settings to apply to a head-relative transfer function (HRTF).
KSDS3D_ITD_PARAMS The KSDS3D_ITD_PARAMS structure specifies the parameters applied by the interaural time delay (ITD) algorithm to the left or right channel in a 3D node (KSNODETYPE_3D_EFFECTS).
KSDS3D_ITD_PARAMS_MSG The KSDS3D_ITD_PARAMS_MSG structure specifies the parameters used by the interaural time delay (ITD) algorithm in a 3D node (KSNODETYPE_3D_EFFECTS).
KSDS3D_LISTENER_ALL The KSDS3D_LISTENER_ALL structure specifies all the properties of the DirectSound 3D listener. This structure is used to get or set the data value for the KSPROPERTY_DIRECTSOUND3DLISTENER_ALL property.
KSDS3D_LISTENER_ORIENTATION A KSD3D_LISTENER_ORIENTATION structure specifies the position vector of the 3D listener. This structure is used to get or set the data value for the KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION property.
KSDSOUND_BUFFERDESC The KSDSOUND_BUFFERDESC structure describes a DirectSound buffer.
KSMUSICFORMAT The KSMUSICFORMAT structure is used to send and receive information about MIDI data that is input from and output to WDM audio devices.
KSNODEPROPERTY The KSNODEPROPERTY structure specifies a node and a property of that node.
KSNODEPROPERTY_AUDIO_CHANNEL The KSNODEPROPERTY_AUDIO_CHANNEL structure specifies a property of a channel in a node.
KSRTAUDIO_BUFFER The KSRTAUDIO_BUFFER structure specifies the buffer address, size, and a call memory barrier flag for a cyclic audio data buffer.
KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION The KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION structure appends a buffer base address, a requested buffer size, and a notification count to a KSPROPERTY structure.
KSRTAUDIO_GETREADPACKET_INFO The KSRTAUDIO_GETREADPACKET_INFO structure describes information for an audio packet.
KSRTAUDIO_HWLATENCY The KSRTAUDIO_HWLATENCY structure describes the latency that the audio hardware adds to a wave stream during playback or recording.
KSRTAUDIO_HWREGISTER The KSRTAUDIO_HWREGISTER structure specifies the address and additional information about a hardware register requested by the client.
KSRTAUDIO_HWREGISTER_PROPERTY The KSRTAUDIO_HWREGISTRY_PROPERTY structure appends a register base address to a KSPROPERTY structure.
KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY The KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY structure appends an event handle to a KSPROPERTY structure
KSRTAUDIO_SETWRITEPACKET_INFO The KSRTAUDIO_SETWRITEPACKET_INFO structure describes information associated with an audio packet.
LOOPEDSTREAMING_POSITION_EVENT_DATA The LOOPEDSTREAMING_POSITION_EVENT_DATA structure describes a position event in a looped buffer.
SOUNDDETECTOR_PATTERNHEADER The SOUNDDETECTOR_PATTERNHEADER structure specifies the pattern header for the sound detector in the KSPROPERTY_SOUNDDETECTOR_PATTERNS property.
SYSAUDIO_ATTACH_VIRTUAL_SOURCE The SYSAUDIO_ATTACH_VIRTUAL_SOURCE structure is used to attach a mixer-line virtual source (for example, a volume or mute control) to a mixer pin on the virtual audio device.
SYSAUDIO_CREATE_VIRTUAL_SOURCE The SYSAUDIO_CREATE_VIRTUAL_SOURCE structure is used to create a mixer-line virtual source such as a volume control or mute.
SYSAUDIO_INSTANCE_INFO The SYSAUDIO_INSTANCE_INFO structure specifies which virtual audio device to open and includes flags for configuring that device.
SYSAUDIO_SELECT_GRAPH The SYSAUDIO_SELECT_GRAPH structure is used to specify a graph that includes an optional node such as an AEC control.
tagKSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE The KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE structure specifies an audio signal processing mode.
WAVEFORMATEXTENSIBLE The WAVEFORMATEXTENSIBLE structure specifies the format of an audio wave stream.
PCPROPERTY_ITEM The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
PCMETHOD_ITEM The PCMETHOD_ITEM structure describes a method supported by a filter, pin, or node.
PCEVENT_ITEM The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
PCAUTOMATION_TABLE The PCAUTOMATION_TABLE structure contains a miniport driver's master table of properties, methods, and events.
PCPIN_DESCRIPTOR The PCPIN_DESCRIPTOR structure describes a pin factory.
PCNODE_DESCRIPTOR The PCNODE_DESCRIPTOR structure describes a node in the filter that a topology miniport driver implements.
PCFILTER_DESCRIPTOR The PCFILTER_DESCRIPTOR structure describes a miniport driver's implementation of a filter. The structure specifies the filter's pins, nodes, connections, and properties.
_PCEVENT_REQUEST The PCEVENT_REQUEST structure specifies an event request.
_PCMETHOD_REQUEST The PCMETHOD_REQUEST structure specifies a method request.
_PCNOTIFICATION_BUFFER The notification buffer used by IPortClsNotifications.
_PCPROPERTY_REQUEST The PCPROPERTY_REQUEST structure specifies a property request.
_PCSTREAMRESOURCE_DESCRIPTOR PCSTREAMRESOURCE_DESCRIPTOR defines the stream resource. Use PCSTREAMRESOURCE_DESCRIPTOR_INIT to correctly initialize this structure.