Defines | Functions

pa_win_wdmks_utils.c File Reference

#include <windows.h>
#include <mmreg.h>
#include <ks.h>
#include <ksmedia.h>
#include <stdio.h>
#include "portaudio.h"
#include "pa_util.h"
#include "pa_win_wdmks_utils.h"

Defines

#define pa_KSDATAFORMAT_TYPE_AUDIO   KSDATAFORMAT_TYPE_AUDIO
#define pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT   KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
#define pa_KSDATAFORMAT_SUBTYPE_PCM   KSDATAFORMAT_SUBTYPE_PCM
#define pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX   KSDATAFORMAT_SUBTYPE_WAVEFORMATEX
#define pa_KSMEDIUMSETID_Standard   KSMEDIUMSETID_Standard
#define pa_KSINTERFACESETID_Standard   KSINTERFACESETID_Standard
#define pa_KSPROPSETID_Pin   KSPROPSETID_Pin
#define pa_IS_VALID_WAVEFORMATEX_GUID(Guid)   (!memcmp(((PUSHORT)&pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT)))

Functions

int PaWin_WDMKS_QueryFilterMaximumChannelCount (void *wcharDevicePath, int isInput)

Define Documentation

#define pa_IS_VALID_WAVEFORMATEX_GUID (   Guid  )     (!memcmp(((PUSHORT)&pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT)))
#define pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT   KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
#define pa_KSDATAFORMAT_SUBTYPE_PCM   KSDATAFORMAT_SUBTYPE_PCM
#define pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX   KSDATAFORMAT_SUBTYPE_WAVEFORMATEX
#define pa_KSDATAFORMAT_TYPE_AUDIO   KSDATAFORMAT_TYPE_AUDIO
#define pa_KSINTERFACESETID_Standard   KSINTERFACESETID_Standard
#define pa_KSMEDIUMSETID_Standard   KSMEDIUMSETID_Standard
#define pa_KSPROPSETID_Pin   KSPROPSETID_Pin

Function Documentation

int PaWin_WDMKS_QueryFilterMaximumChannelCount ( void *  wcharDevicePath,
int  isInput 
)

Query for the maximum number of channels supported by any pin of the specified device. Returns 0 if the query fails for any reason.

Parameters:
wcharDevicePath A system level PnP interface path, supplied as a WCHAR unicode string. Declard as void* to avoid introducing a dependency on wchar_t here.
isInput A flag specifying whether to query for input (non-zero) or output (zero) channels.

References HANDLE(), pa_IS_VALID_WAVEFORMATEX_GUID, pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, pa_KSDATAFORMAT_SUBTYPE_PCM, pa_KSDATAFORMAT_TYPE_AUDIO, pa_KSINTERFACESETID_Standard, pa_KSMEDIUMSETID_Standard, paNoError, and PaUtil_FreeMemory().