portcls.h header

This header is used by audio. For more information, see:

portcls.h contains the following programming interfaces:

Interfaces

 
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.
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).
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).
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.
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.
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.
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.
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.
IPowerNotify

The IPowerNotify interface is an optional interface that miniport drivers can expose if they require advance notification of impending power-state changes.
IPreFetchOffset

The IPreFetchOffset interface controls the prefetch offset, which is the number of bytes separating the play and write cursors in a DirectSound output stream.
IRegistryKey

The IRegistryKey interface provides an abstraction of a registry key that a miniport driver can use to access the key and its subkeys.
IResourceList

The IResourceList interface provides an abstraction of a configuration resource list, which is a list of the system hardware resources that the Plug and Play manager assigns to a device at startup time.
IServiceGroup

The IServiceGroup interface encapsulates a group of objects that all require notification of the same service request.
IServiceSink

The IServiceSink interface encapsulates handling of a service request.
IUnregisterPhysicalConnection

The IUnregisterPhysicalConnection interface implements three methods to remove a registered physical connection.
IUnregisterSubdevice

The IUnregisterSubdevice interface implements a method to remove a registered subdevice.

Functions

 
PcAddAdapterDevice

The PcAddAdapterDevice function adds an adapter device to the WDM device stack.
PcAddContentHandlers

The PcAddContentHandlers function provides the system with a list of functions that handle protected content.
PcAddStreamResource

PcAddStreamResource adds a stream resource.
PcCompleteIrp

The PcCompleteIrp function completes an IRP that was previously marked as pending.
PcCompletePendingPropertyRequest

The PcCompletePendingPropertyRequest function is called to complete a pending property request.
PcCreateContentMixed

The PcCreateContentMixed function computes the DRM content rights for a composite stream containing mixed content from some number of KS audio streams.
PcDestroyContent

The PcDestroyContent function deletes a DRM content ID that was created by PcCreateContentMixed. Note that this function call is identical in operation to the DrmDestroyContent function, and its parameter definitions and return value are also identical.
PcDispatchIrp

The PcDispatchIrp function dispatches an IRP to the PortCls system driver's default handler.
PcForwardContentToDeviceObject

The PcForwardContentToDeviceObject function accepts a device object representing a device to which the caller intends to forward protected content.
PcForwardContentToFileObject

The PcForwardContentToFileObject function is obsolete and is maintained only to support existing drivers.
PcForwardContentToInterface

The PcForwardContentToInterface function accepts a pointer to the COM interface of an object to which the caller intends to forward protected content.
PcForwardIrpSynchronous

The PcForwardIrpSynchronous function is used by IRP handlers to forward Plug and Play IRPs to the physical device object (PDO).
PcGetContentRights

The PcGetContentRights function retrieves the DRM content rights assigned to a DRM content ID. Note that this function call is identical in operation to the DrmGetContentRights function, and its parameter definitions and return value are also identical.
PcGetDeviceProperty

The PcGetDeviceProperty function returns the requested device property from the registry.
PcGetPhysicalDeviceObject

The PcGetPhysicalDeviceObject function enables audio miniport drivers to retrieve the underlying physical device object of the audio device.
PcGetTimeInterval

The PcGetTimeInterval function returns the time elapsed since a specified time. Time is measured in 100-nanosecond units.
PcInitializeAdapterDriver

The PcInitializeAdapterDriver function binds an adapter driver to the PortCls system driver.
PcNewDmaChannel

The PcNewDmaChannel function creates a new DMA-channel object. This function is obsolete; for more information, see the following comments.
PcNewInterruptSync

The PcNewInterruptSync function creates and initializes an interrupt-synchronization object.
PcNewMiniport

The PcNewMiniport function creates an instance of one of the system-supplied miniport drivers that are built into the PortCls system driver, portcls.sys.
PcNewPort

The PcNewPort function creates a new system-supplied port-driver object, whose interface (derived from base class IPort) is specified by a class ID.
PcNewRegistryKey

The PcNewRegistryKey function opens or creates a new registry key and creates an IRegistryKey object to represent the key. The caller accesses the key through this object.
PcNewResourceList

The PcNewResourceList function creates and initializes a resource list.
PcNewResourceSublist

The PcNewResourceSublist function creates and initializes an empty resource list that is derived from another resource list.
PcNewServiceGroup

The PcNewServiceGroup function creates and initializes a service group.
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.

Callback functions

 
PCPFNEVENT_HANDLER

An EventHandler routine processes event requests.

Structures

 
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.

Enumerations

 
eChannelTargetType

The eChannelTargetType enumeration defines constants that specify a type of node (target) in a given channel.
eEngineFormatType

The eEngineFormatType enumeration defines constants that specify the audio data type supported by the audio engine.
EPcMiniportEngineEvent

This topic introduces the EPcMiniportEngineEvent enum, and describes the parameters that provide additional information when the miniport driver reports a glitching error.
PC_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.