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