Audio

These headers are used to create Microsoft Windows Driver Model (WDM) audio drivers. These drivers control audio hardware that render and capture streams containing audio data.

To develop Audio drivers, you can use these headers:

For programming information, see Audio Devices Design Guide.

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.
IOCTL_SBAUD_GET_CONNECTION_STATUS_UPDATE
IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR
IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR
IOCTL_SBAUD_GET_ERROR_STATUS_UPDATE
IOCTL_SBAUD_GET_MUTE_STATUS_UPDATE
IOCTL_SBAUD_GET_MUTEPROPERTYVALUES
IOCTL_SBAUD_GET_SIDETONE_STATUS_UPDATE
IOCTL_SBAUD_GET_SIDETONE_VOLUMEPROPERTYVALUES
IOCTL_SBAUD_GET_SIOP
IOCTL_SBAUD_GET_SIOP_UPDATE
IOCTL_SBAUD_GET_STREAM_STATUS_UPDATE
IOCTL_SBAUD_GET_SUPPORTED_FORMATS
IOCTL_SBAUD_GET_VOLUME_STATUS_UPDATE
IOCTL_SBAUD_GET_VOLUMEPROPERTYVALUES
IOCTL_SBAUD_SET_DEVICE_CLAIMED
IOCTL_SBAUD_SET_MUTE
IOCTL_SBAUD_SET_SIDETONE_PROPERTY
IOCTL_SBAUD_SET_SIOP
IOCTL_SBAUD_SET_VOLUME
IOCTL_SBAUD_STREAM_CLOSE
IOCTL_SBAUD_STREAM_OPEN
IOCTL_SBAUD_STREAM_START
IOCTL_SBAUD_STREAM_SUSPEND

Enumerations

Title Description
AUDIO_CURVE_TYPE The AUDIO_CURVE_TYPE enumeration defines constants that specify a curve algorithm to be applied to set a volume level.
DMUS_STREAM_TYPE Used for a DirectMusic synthesizer device.
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.
EVENTACTIONCONTEXTTYPE Enumeration the types of context associated with an action.
EVENTACTIONSCALE Enumeration defining the quality associated with a specific detection.
EVENTACTIONTYPE Actions to take on a detection.
EVENTFEATURES Event features.
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.
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.
KEYWORDID The KEYWORDID enumeration identifies the phrase text/function of a keyword. The value is also be used in the Windows Biometric Service adapters.
KSPROPERTY_INTERLEAVEDAUDIO The KSPROPERTY_INTERLEAVEDAUDIO enumeration defines a constant which can be used by the Hardware Keyword Spotter pin to include loopback audio interleaved with the microphone audio.
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).
PC_REBALANCE_TYPE The PC_REBALANCE_TYPE enum describes the type of support for rebalancing.
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.
SIDEBANDAUDIO_EP_USB_TRANSPORT_RESOURCE_TYPE Describes the type of transport resource.
SIDEBANDAUDIO_PARAMS_MSFT_TYPE_ID
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.

Functions

Title Description
AddContentHandlers The AddContentHandlers method provides the system with a list of functions that handle protected content.
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.
AddEventToEventList The AddEventToEventList method adds an event to the port driver's event list.
AddMember The AddMember method adds a member to the service group.
AddStreamResource AddStreamResource adds a stream resource. Two type of stream resources are supported - interrupts and driver-owned threads.
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.
AllocateAudioBuffer The AllocateAudioBuffer method allocates a cyclic buffer for audio data.
AllocateBuffer The AllocateBuffer method allocates a common buffer that can be accessed by the port driver and DMA hardware.
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.
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.
AllocatedBufferSize The AllocatedBufferSize method returns the size of the allocated buffer.
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.
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.
BTHHFP_AUDIO_DEVICE_CAPABILTIES_INIT The BTHHFP_AUDIO_DEVICE_CAPABILTIES_INIT method returns a pointer to an initialized BTHHFP_AUDIO_DEVICE_CAPABILTIES data structure.
BufferSize The BufferSize method returns the size in bytes of the DMA channel's data buffer.
BuildArmingPatternData Builds the pattern data to be used on a subsequent arm request - this is done once for each pin instance.
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.
CallSynchronizedRoutine The CallSynchronizedRoutine method calls a routine that is not an interrupt service routine (ISR) but whose execution needs to be synchronized with ISRs.
CancelDelayedService The CancelDelayedService method cancels the previously requested delayed service.
ComputeAndAddUserModelData Adds the user specific model data to an existing model data blob.
ComputeAndAddUserModelData The ComputeAndAddUserModelData method is used by the training user experience to compute the user-specific information relative to the user-independent keyword.
Connect The Connect method connects the synchronization object to the interrupt.
ConnectOutput The ConnectOutput method connects this IMXF interface with the sink specified by the pSinkMXF parameter.
CopyFrom The CopyFrom method copies sample data from the DMA channel's common buffer to the specified destination buffer.
CopyTo The CopyTo method copies sample data to the DMA channel's common buffer from the specified source buffer.
CreateContentMixed The CreateContentMixed method computes the DRM content rights for a composite stream containing mixed content from some number of KS audio streams.
D3ExitLatencyChanged PortCls calls the D3ExitLatencyChanged method while the device is in sleep (D3) power state, to provide a new exit latency value.
DataRangeIntersection The DataRangeIntersection method determines the highest quality intersection of two data ranges.
DeleteKey The DeleteKey method deletes the registry key.
DestroyContent The DestroyContent method deletes a DRM content ID that was created by IDrmPort::CreateContentMixed.
Disconnect The Disconnect method disconnects the synchronization object from the interrupt.
DisconnectOutput The DisconnectOutput method disconnects this IMXF interface from the synth sink or capture sink.
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.
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.
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.
ForwardContentToDeviceObject The ForwardContentToDeviceObject method accepts a device object representing a device to which the caller intends to forward protected content.
ForwardContentToFileObject The ForwardContentToFileObject method is obsolete and is maintained only to support existing drivers.
ForwardContentToInterface The ForwardContentToInterface method accepts a pointer to the COM interface of an object to which the caller intends to forward protected content.
FreeAudioBuffer The FreeAudioBuffer method is used to free an audio buffer previously allocated with a call to IMiniportWaveRTStream::AllocateAudioBuffer.
FreeBuffer The FreeBuffer method frees the buffer that was allocated by the previous call to IDmaChannel::AllocateBuffer.
FreeBufferWithNotification The FreeBufferWithNotification method is used to free an audio buffer previously allocated with a call to IMiniportWaveRTStreamNotification::AllocateBufferWithNotification.
FreeNotificationBuffer Frees a previously allocated IPortClsNotifications buffer. The buffer is used in sending notifications, to allow for communications between audio modules and UWP apps.
FreePagesFromMdl The FreePagesFromMdl method frees a memory descriptor list (MDL).
GenerateEventList The GenerateEventList method notifies clients through the port driver's list of event entries that a particular event has occurred.
GetAdapterObject The GetAdapterObject method returns the DMA channel's hardware adapter object.
GetAllocatorFraming The GetAllocatorFraming method gets the preferred allocator-framing parameters for the stream.
GetAudioEngineDescriptor Gets the descriptor for the audio engine node.
GetBuffer The GetBuffer method allocates a buffer for long MIDI events.
GetBufferSize The GetBufferSize method gets the buffer size from the allocator.
GetBufferSizeRange Gets the minimum and maximum buffer size that the hardware audio engine can support.
GetCapabilities Returns langauges and detector features supported by the object.
GetCapabilities The GetCapabilities method returns the keywords and languages supported by the object.
GetCapabilitiesForLanguage Returns the events supported by the specific language.
GetClockRegister The GetClockRegister method retrieves the information that the port driver requires to expose the clock register to the audio subsystem and its clients.
GetContentRights The GetContentRights method retrieves the DRM content rights that are assigned to a stream that is identified by a content ID.
GetDescription The GetDescription method outputs a pointer to the miniport object's filter descriptor.
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.
GetDeviceDescription The GetDeviceDescription method returns a pointer to a DEVICE_DESCRIPTION structure describing the device.
GetDeviceFormat Gets the audio data format for an audio device.
GetDeviceProperty The GetDeviceProperty method provides simplified access to device properties that are contained in the registry for Plug and Play devices.
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.
GetHWLatency The GetHWLatency method retrieves information about sources of stream latency in the audio hardware.
GetKInterrupt The GetKInterrupt method gets a WDM interrupt object from a port-class synchronization object.
GetLfxState Gets the state of the local effects (LFX) node that is in the path of the audio stream.
GetMapping The GetMapping method obtains a mapping from the port driver and associates a tag with the mapping.
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.
GetMixFormat Gets the audio data format for the audio engine mixer.
GetModes The GetModes method, Gets the audio signal processing modes supported by an audio pin.
GetOutputStreamPresentationPosition Returns stream presentation information.
GetPacketCount GetPacketCount returns the (1-based) count of packets completely transferred from the WaveRT buffer into hardware.
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).
GetPinName The GetPinName method retrieves the friendly name of an audio endpoint.
GetPosition The GetPosition method gets the current position of the stream.
GetPosition The GetPosition method gets the current position of the stream.
GetPosition The GetPosition method retrieves the current play or record position as a byte offset from the beginning of the buffer.
GetPositionRegister The GetPositionRegister method retrieves the information that the port driver requires to expose the position register to the audio subsystem and its clients.
GetReadPacket Returns information about captured data.
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.
GetSupportedDeviceFormats Gets the supported audio data formats for the audio device.
GetSupportedRebalanceType The GetSupportedRebalanceType method returns the type of rebalancing supported.
GetTime The GetTime method retrieves the current reference time read from the master clock.
GetVersion The GetVersion method returns the version of the Windows operating system that the driver is running on.
Init The Init method initializes the DMus miniport object.
Init The Init method initializes the MIDI miniport object.
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.
Init The Init method initializes the WavePci miniport object. Initialization includes verification of the hardware using the resources specified in the resource list.
Init The Init method initializes the WaveRT miniport driver object.
Init The Init method initializes the port driver.
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.
MappingAvailable The MappingAvailable method indicates that a new mapping is available.
MaximumBufferSize The MaximumBufferSize method returns the size in bytes of the largest buffer that this DMA-channel object is configured to support.
MiniportWriteEtwEvent The MiniportWriteEtwEvent method is used by an audio miniport driver for providing the information about an Event Tracing for Windows (ETW) event.
NewMasterDmaChannel The NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
NewMasterDmaChannel The NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
NewRegistryKey The NewRegistryKey method either opens an existing registry key or creates a new key in the registry. The method creates a registry-key object to represent the key.
NewSlaveDmaChannel The NewSlaveDmaChannel method creates a new instance of a subordinate DMA channel.
NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
NewStream The NewStream method creates a new instance of a logical stream that is associated with a specified physical channel.
NewStream The NewStream method creates a new instance of a logical stream associated with a specified physical channel.
NewStream The NewStream method creates a new instance of a WaveRT stream object.
NewSubKey The NewSubKey method either creates a new registry subkey or opens an existing subkey under the key represented by the IRegistryKey object.
NormalizePhysicalPosition The NormalizePhysicalPosition method converts a physical buffer position to a time-based value.
NormalizePhysicalPosition The NormalizePhysicalPosition method converts a physical buffer position to a time-based value.
Notify The Notify method should be called from the miniport driver's interrupt service routine (ISR) when a hardware interrupt 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).
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).
Notify The Notify method notifies the port driver that an interrupt indicating the progress of the DMA pointer has occurred.
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.
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.
ParseDetectionResultData Uses the input model data and SOUNDDETECTOR_PATTERNHEADER to determine the DETECTIONEVENTID,LANGID and USER detected.
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.
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.
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.
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.
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.
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_DMA_NOTIFICATION_CALLBACK HDAudio codec DMA Notification Callback function.
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.
PhysicalAddress The PhysicalAddress method returns the physical address of the allocated buffer.
PinCount The PinCount method queries the miniport driver for its pin count.
PnpCancelStop The PnpCancelStop method provides a notification while processing the CancelStop IRP.
PnpQueryStop PnpQueryStop provides a notification when PnpQueryStop is invoked by portcls just before succeeding the QueryStop IRP.
PnpStop The PnpStop method provides a notification after stopping all Ioctl operations.
PnpStop An optional interface to allow miniport drivers to receive PnP state change notifications.
PositionNotify Byte position notify for MXF graph.
PowerChangeNotify The PowerChangeNotify method notifies the miniport driver of changes in the power state.
PowerChangeState The PowerChangeState method requests that the device change to a new power state.
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.
PowerChangeState3 PortCls calls the PowerChangeState3 method to request a change to the new power state. This request is passed on to the adapter driver.
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_CALLBACK The RegisterNotificationCallback routine registers a callback routine so that it can receive DMA progress notifications with more accurate timing information.
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_CALLBACK The PUNREGISTER_NOTIFICATION_CALLBACK callback function deletes the registration of a notification callback routine that was previously registered by a call to RegisterNotificationCallback.
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.
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.
PutMessage The PutMessage method passes a DMUS_KERNEL_EVENT structure to its next destination.
QueryDeviceCapabilities The QueryDeviceCapabilities method is called by PortCls in response to a Plug and Play IRP_MN_QUERY_CAPABILITIES IRP.
QueryKey The QueryKey method retrieves information about a registry key, including the key name, key class, and the number of subkeys and their sizes.
QueryPowerChangeState The QueryPowerChangeState method is called by PortCls in response to the receipt of an IRP_MN_QUERY_POWER power IRP.
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.
Read The Read method reads data from an incoming MIDI stream.
ReadCounter The ReadCounter method reads the counter of a subordinate DMA object.
RefTimeToSample The RefTimeToSample method converts a reference time into a sample time.
RegisterAdapterPnpManagement The RegisterAdapterPowerManagement method registers the PnP management interface of the adapter with PortCls.
RegisterAdapterPowerManagement The RegisterAdapterPowerManagement method registers the power management interface of the adapter with PortCls.
RegisterNotificationEvent The RegisterNotificationEvent method registers an event to be notified for DMA-driven event notification.
RegisterPowerControlCallback The port class driver (PortCls) uses the RegisterPowerControlCallback method to register a power control callback.
RegisterServiceGroup The RegisterServiceGroup method registers a service group with the DMus port driver.
RegisterServiceGroup The RegisterServiceGroup method registers the service group to be used for the IPortMidi::Notify method.
RegisterServiceRoutine The RegisterServiceRoutine method registers an interrupt service routine (ISR) that is to be called when an interrupt occurs.
RegisterWMIProvider The RegisterWMIProvider method registers the Event Tracing for Windows (ETW) capability of the miniport driver with PortCls.
ReleaseMapping The ReleaseMapping method releases a mapping that was obtained by a previous call to IPortWavePciStream::GetMapping.
RemoveMember The RemoveMember method removes the specified member from the service group.
RemoveStreamResource RemoveStreamResource removes an existing stream resource. The RemoveStreamResource method can only be used by audio waveRT miniport drivers.
Render The Render method renders wave data into a destination sink.
ReportOSDetectionResult Called to provide second stage result to OEM dll.
RequestDelayedService The RequestDelayedService method requests service after the specified delay.
RequestService
RequestService The RequestService method is called to forward a service request to an IServiceSink object.
RevokeMappings The RevokeMappings method revokes mappings that were previously obtained through IPortWavePciStream::GetMapping.
SampleToRefTime The SampleToRefTime method converts a sample time to a reference time.
SendNotification Sends a notification to the listening UWP apps, to allow for communications between audio modules and UWP apps.
SendPowerControl The port class driver (PortCls) uses the SendPowerControl method to send power control codes to the audio adapter.
Service This method does not currently need to be implemented in the miniport driver. The Service method is currently unused.
Service The Service method notifies the miniport driver of a request for service.
Service The Service method notifies the miniport driver of a request for service.
Service The Service method notifies the miniport driver of a request for service.
SetBufferSize The SetBufferSize method sets the DMA channel's current buffer size.
SetContentId The SetContentId method sets the DRM content ID and its assigned DRM content rights on a KS audio stream.
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.
SetFormat The SetFormat method sets the KS data format of the MIDI stream.
SetFormat The SetFormat method sets the KS data format of the wave stream.
SetFormat The SetFormat method sets the KS data format of the wave stream.
SetGfxState Sets the state of the global effects (GFX) node in the audio engine.
SetIdlePowerManagement The SetIdlePowerManagement method provides a way for the adapter driver to opt in or opt out of idle state detection.
SetLfxState Sets the state of the local effects (LFX) node that is in the path of the audio stream.
SetNotificationFreq The SetNotificationFreq method controls the frequency at which notification interrupts are generated by setting the interval between successive interrupts.
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.
SetState The SetState method is used to set the state of the MIDI transform interface.
SetState The SetState method sets the stream's transport state to a new state value.
SetState The SetState method sets the new state of playback or recording for the stream.
SetState The SetState method changes the state of the stream transport.
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.
SetStreamCurrentWritePositionForLastBuffer Sets the current cursor position in the last audio data stream that was written to the audio buffer.
SetStreamLoopbackProtection Sets the loopback protection status of the audio engine node.
SetTechnology The SetTechnology method changes the Technology member of each KSDATARANGE_MUSIC structure in the data ranges for the miniport driver's pins.
SetValueKey The SetValueKey method replaces or creates a value entry under the open key.
SetWritePacket SetWritePacket informs the driver that the OS has written valid data to the WaveRT buffer.
SIDEBANDAUDIO_IOCTL A macro that is used for the SIDEBANDAUDIO_IOCTL.
Silence The Silence method is used to copy silence samples to a specified buffer.
Start The Start method starts a subordinate DMA object.
Stop The Stop method stops a subordinate DMA object that was started by a previous call to IDmaChannelSlave::Start
SupportDelayedService The SupportDelayedService method indicates that the service group should prepare to support delayed service.
SyncToMaster The SyncToMaster method allows synchronization to the master clock in order to avoid drift.
SystemAddress The SystemAddress method returns the system address of the allocated buffer.
TerminatePacket The TerminatePacket method terminates the packet currently being mapped.
TransferCount The TransferCount method returns the size in bytes of the buffer that is currently being transferred by a subordinate DMA object.
TranslatedList The TranslatedList method returns the list of translated resources.
UnmapAllocatedPages The UnmapAllocatedPages method releases a mapping.
UnregisterAdapterPnpManagement The UnRegisterAdapterPowerManagement method unregisters the PnP management interface of the adapter from PortCls.
UnregisterAdapterPowerManagement The UnregisterAdapterPowerManagement method unregisters the adapter's power management interface with PortCls.
UnregisterNotificationEvent The UnregisterNotificationEvent method unregisters an event from DMA driven event notification.
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.
UnregisterPowerControlCallback The port class driver (PortCls) uses the UnregisterPowerControlCallback method to unregister a power control callback.
UnregisterSubdevice The UnregisterSubdevice method deletes the registration of a subdevice that was previously registered by a call to PcRegisterSubdevice.
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.
UntranslatedList The UntranslatedList method returns the list of untranslated resources.
VerifyUserEventData Verifies the user recording for the given EVENTID.
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.
WaitForTC The WaitForTC method waits for the DMA-transfer terminal count to complete, or it times out if the time-out interval expires.
Write The Write method writes data to an outgoing MIDI stream.

Interfaces

Title Description
IAdapterPnpManagement IAdapterPnpManagement is an interface that adapters should implement and register if they want to receive PnP management messages.
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.
IAllocatorMXF The IAllocatorMXF interface manages buffer storage for DirectMusic streams.
IDmaChannel The IDmaChannel interface provides an abstraction of a DMA channel and its associated DMA buffer and usage parameters.
IDmaChannelSlave The IDmaChannelSlave interface provides methods for monitoring and controlling a DMA channel for a subordinate device (as described in Introduction to Adapter Objects).
IDrmAudioStream The IDrmAudioStream interface assigns DRM protection to the digital content in an audio stream.
IDrmPort The IDrmPort interface is used by a WaveCyclic or WavePci miniport driver to manage DRM-protected content (see Digital Rights Management).
IDrmPort2 The IDrmPort2 interface is used by a WaveCyclic or WavePci miniport driver to manage DRM-protected content (see Digital Rights Management).
IEventDetectorOemAdapter The IEventDetectorOemAdapter interface is used for hardware keyword spotters.
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.
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.
IMasterClock The IMasterClock interface provides Microsoft DirectMusic streams with access to the current reference time from the master clock.
IMiniport The IMiniport interface is the generic miniport interface that all miniport objects support. IMiniport inherits from the IUnknown interface.
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.
IMiniportDMus The IMiniportDMus interface is the primary interface for a DMus miniport driver for a DirectMusic synthesizer device.
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.
IMiniportPnpNotify IMiniportPnpNotify is an optional interface to allow miniport objects (audio subdevices) to receive PnP state change notifications.
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.
IMiniportWaveRTStream 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 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.
IMXF The IMXF interface represents the DirectMusic stream on a MIDI transport filter (MXF).
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.
IPort 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 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.
IPortClsStreamResourceManager IPortClsStreamResourceManager is used to manage the registration of audio stream resources.
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.
IPortDMus The IPortDMus interface is the DMus port driver's primary interface.
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.
IPortTopology The IPortTopology interface provides generic port driver support to a topology miniport driver.
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.
IPortWaveRT 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 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.
IPositionNotify PositionNotify
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.
ISynthSinkDMus The ISynthSinkDMus interface handles wave output for a DirectMusic synthesizer device.
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.
DETECTIONEVENT Structure to specify uniquely supported detection events available.
DETECTIONEVENTSELECTOR A structure to reference a specific detection event.
DMUS_KERNEL_EVENT The DMUS_KERNEL_EVENT structure is used to package time-stamped music events.
DRMFORWARD 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.
DRMRIGHTS The DRMRIGHTS structure specifies the DRM content rights assigned to a KS audio pin or to a port-class driver's stream object.
DS3DVECTOR The DS3DVECTOR structure contains three-dimensional position coordinates, position vector components, or velocity vector components.
EVENTACTION Structure used to provide detail from ParseDetectionResults.
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_BUS_INTERFACE_V3
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_DEVICE_INFORMATION_V2 The HDAUDIO_DEVICE_INFORMATION_V2 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.
HFP_BYPASS_CODEC_ID_V1 The HFP_BYPASS_CODEC_ID_V1 structure defines version 1 of the supported codec ID structure.
IEventDetectorOemAdapterVtbl IEventDetectorOemAdapterVtbl structure is an artifact created by the IDL. It is reserved for Microsoft use.
INTERLEAVED_AUDIO_FORMAT_INFORMATION The INTERLEAVED_AUDIO_FORMAT_INFORMATION structure specifies how loopback audio is interleaved with the microphone audio for KSPROPERTY_INTERLEAVEDAUDIO_FORMATINFORMATION.
KEYWORDSELECTOR The KEYWORDSELECTOR struct is a triplet of IDs that uniquely select a particular keyword, language, and user combination.
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.
KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE The KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE structure specifies an audio signal processing mode.
KSAUDIO_CHANNEL_CONFIG The KSAUDIO_CHANNEL_CONFIG structure specifies the configuration of channels within the data format 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_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_PROCESSINGMODE_CONSTRAINT The KSAUDIO_PACKETSIZE_PROCESSINGMODE_CONSTRAINT structure describes the constraints specific to any signal processing mode.
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.
KSAUDIOENGINE_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.
KSAUDIOENGINE_DESCRIPTOR The KSAUDIOENGINE_DESCRIPTOR structure describes the static, external properties of the audio engine.
KSAUDIOENGINE_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.
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.
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.
KSDRMAUDIOSTREAM_CONTENTID The KSDRMAUDIOSTREAM_CONTENTID structure specifies the DRM content ID and DRM content rights for a KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property request.
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.
KSJACK_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.
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.
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.
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.
KSSOUNDDETECTORPROPERTY The KSAUDIO_COPY_PROTECTION structure specifies the copy-protection status of an audio stream.
KSTELEPHONY_CALLCONTROL The KSTELEPHONY_CALLCONTROL structure specifies the phone call type and control operation to use for the KSPROPERTY_TELEPHONY_CALLCONTROL property.
KSTELEPHONY_CALLINFO The KSTELEPHONY_CALLINFO structure specifies the type and state of a phone call for the KSPROPERTY_TELEPHONY_CALLINFO property.
KSTELEPHONY_PROVIDERCHANGE The KSTELEPHONY_PROVIDERCHANGE structure specifies the phone call type and provider change operation to use for the KSPROPERTY_TELEPHONY_PROVIDERCHANGE property.
KSTOPOLOGY_ENDPOINTID The KSTOPOLOGY_ENDPOINTID structure specifies the name and the pin ID of a topology endpoint.
KSTOPOLOGY_ENDPOINTIDPAIR The KSTOPOLOGY_ENDPOINTIDPAIR structure specifies the render and capture endpoint IDs to use for the KSPROPERTY_TELEPHONY_ENDPOINTIDPAIR property.
LOOPEDSTREAMING_POSITION_EVENT_DATA The LOOPEDSTREAMING_POSITION_EVENT_DATA structure describes a position event in a looped buffer.
PCAUTOMATION_TABLE The PCAUTOMATION_TABLE structure contains a miniport driver's master table of properties, methods, and events.
PCEVENT_ITEM The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
PCEVENT_REQUEST The PCEVENT_REQUEST structure specifies an event request.
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.
PCMETHOD_ITEM The PCMETHOD_ITEM structure describes a method supported by a filter, pin, or node.
PCMETHOD_REQUEST The PCMETHOD_REQUEST structure specifies a method request.
PCNODE_DESCRIPTOR The PCNODE_DESCRIPTOR structure describes a node in the filter that a topology miniport driver implements.
PCNOTIFICATION_BUFFER The notification buffer used by IPortClsNotifications.
PCPIN_DESCRIPTOR The PCPIN_DESCRIPTOR structure describes a pin factory.
PCPROPERTY_ITEM The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
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.
SIDEBANDAUDIO_CONNECTION_PARAMS Describes the endpoint index and Connection value.
SIDEBANDAUDIO_DEVICE_DESCRIPTOR Describes the number of endpoints on the device.
SIDEBANDAUDIO_DEVICE_ERROR Describes the error reported on the Device.
SIDEBANDAUDIO_ENDPOINT_CAPABILITIES
SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR Describes the characteristics of the audio Endpoint driver.
SIDEBANDAUDIO_EP_USBAUDIO_TRANSPORT_RESOURCES This structure describes USB sideband audio transport resources.
SIDEBANDAUDIO_IO_PARAM_HEADER Describes the size and type of parameter.
SIDEBANDAUDIO_MUTE_PARAMS Describes the endpoint index and mute value.
SIDEBANDAUDIO_SIDETONE_DESCRIPTOR Describes mute and volume components of the sidetone topology.
SIDEBANDAUDIO_SIDETONE_PARAMS Describes the endpoint index and sidetone value.
SIDEBANDAUDIO_SIOP_REQUEST_PARAM Describes the variable I/O parameter.
SIDEBANDAUDIO_STREAM_OPEN_PARAMS Describes the variable I/O parameters for IOCTLs.
SIDEBANDAUDIO_STREAM_STATUS_PARAMS Describes the endpoint index and Device Error NTSTATUS.
SIDEBANDAUDIO_SUPPORTED_FORMATS Describes the formats supported by the Audio Endpoint.
SIDEBANDAUDIO_VOLUME_PARAMS Describes the endpoint index and volume value.
SOUNDDETECTOR_PATTERNHEADER The SOUNDDETECTOR_PATTERNHEADER structure specifies the size and the format of the pattern data for the sound detector.
SOUNDDETECTOR_PATTERNHEADER The SOUNDDETECTOR_PATTERNHEADER structure specifies the pattern header for the sound detector in the KSPROPERTY_SOUNDDETECTOR_PATTERNS property.
SOUNDDETECTOR_PATTERNHEADER The SOUNDDETECTOR_PATTERNHEADER structure specifies the pattern header for the sound detector in the KSPROPERTY_SOUNDDETECTOR_PATTERNS property.
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.
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.
WAVEFORMATEXTENSIBLE The WAVEFORMATEXTENSIBLE structure specifies the format of an audio wave stream.