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
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
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
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
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
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
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
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
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
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
PGET_RESOURCE_INFORMATION callback function The GetResourceInformation routine retrieves information about hardware resources.The function pointer type for a GetResourceInformation routine is defined as
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
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
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
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
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
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
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
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
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.
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.
_USBSIDEBANDAUDIO_DEVICE_DESCRIPTOR structure TBD.
_USBSIDEBANDAUDIO_DEVICE_ERROR structure TBD.
_USBSIDEBANDAUDIO_ENDPOINT_DESCRIPTOR structure TBD.
_USBSIDEBANDAUDIO_EP_SHADOW_RESOURCES structure TBD.
_USBSIDEBANDAUDIO_EP_SHADOW_RESOURCES_FUNCTION structure TBD.
_USBSIDEBANDAUDIO_MUTE_PARAMS structure TBD.
_USBSIDEBANDAUDIO_SIDETONE_DESCRIPTOR structure TBD.
_USBSIDEBANDAUDIO_SIDETONE_PARAMS structure TBD.
_USBSIDEBANDAUDIO_STREAM_OPEN_PARAMS structure TBD.
_USBSIDEBANDAUDIO_STREAM_STATUS_PARAMS structure TBD.
_USBSIDEBANDAUDIO_SUPPORTED_FORMATS structure TBD.
_USBSIDEBANDAUDIO_VOLUME_PARAMS structure TBD.
__MIDL_IKeywordDetectorOemAdapter_0003 structure The KEYWORDSELECTOR struct is a triplet of IDs that uniquely select a particular keyword, language, and user combination.
_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.
IOCTL_USBSBAUD_GET_DEVICE_DESCRIPTOR IOCTL TBD
IOCTL_USBSBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL TBD
IOCTL_USBSBAUD_GET_ERROR_STATUS_UPDATE IOCTL TBD
IOCTL_USBSBAUD_GET_MUTE_STATUS_UPDATE IOCTL TBD
IOCTL_USBSBAUD_GET_SHADOW_RESOURCES IOCTL TBD
IOCTL_USBSBAUD_GET_SIDETONE_STATUS_UPDATE IOCTL TBD
IOCTL_USBSBAUD_GET_SIDETONE_VOLUMEPROPERTYVALUES IOCTL TBD
IOCTL_USBSBAUD_GET_STREAM_STATUS_UPDATE IOCTL TBD
IOCTL_USBSBAUD_GET_SUPPORTED_FORMATS IOCTL TBD
IOCTL_USBSBAUD_GET_VOLUMEPROPERTYVALUES IOCTL TBD
IOCTL_USBSBAUD_GET_VOLUME_STATUS_UPDATE IOCTL TBD
IOCTL_USBSBAUD_SET_MUTE IOCTL TBD
IOCTL_USBSBAUD_SET_SIDETONE_PROPERTY IOCTL TBD
IOCTL_USBSBAUD_SET_STREAM_CLOSE IOCTL TBD
IOCTL_USBSBAUD_SET_STREAM_OPEN IOCTL TBD
IOCTL_USBSBAUD_SET_VOLUME IOCTL TBD

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