// ksmedia.h
typedef struct {
USHORT usVersion;
USHORT usMicArrayType;
SHORT wVerticalAngleBegin;
SHORT wVerticalAngleEnd;
SHORT wHorizontalAngleBegin;
SHORT wHorizontalAngleEnd;
USHORT usFrequencyBandLo;
USHORT usFrequencyBandHi;
USHORT usNumberOfMicrophones;
KSAUDIO_MICROPHONE_COORDINATES KsMicCoord[1];
} KSAUDIO_MIC_ARRAY_GEOMETRY, *PKSAUDIO_MIC_ARRAY_GEOMETRY;
View the official Windows Driver Kit DDI referenceNo description available.
The KSAUDIO_MIC_ARRAY_GEOMETRY structure specifies the type and the geometry of the microphone array. The usNumberOfMicrophones member indicates the number of microphones in the physical array. The KsMicCoord member is a variable of type KSAUDIO_MICROPHONE_COORDINATES and is an array of structures. The number of entries in this array is given by the value of the usNumberOfMicrophones member.
usVersionSpecifies the version number of the KSAUDIO_MIC_ARRAY_GEOMETRY structure. This member is a BCD value and is currently set to 0x0100, which represents a version number of 1.0.
usMicArrayTypeSpecifies the type of microphone array in use. This member can be any one of the KSMICARRAY_MICARRAYTYPE enumeration values shown in the following table.
| Value | Microphone array type |
|---|---|
| KSMICARRAY_MICARRAYTYPE_LINEAR | Linear |
| KSMICARRAY_MICARRAYTYPE_PLANAR | Planar |
| KSMICARRAY_MICARRAYTYPE_3D | 3D |
wVerticalAngleBeginSpecifies the vertical angle of the start of the working volume of the microphone array.
wVerticalAngleEndSpecifies the vertical angle of the end of the working volume of the microphone array.
wHorizontalAngleBeginWork Volume HorizontalAngle Begin
wHorizontalAngleEndWork Volume HorizontalAngle End
usFrequencyBandLoSpecifies the low end of the frequency range for the microphone array.
usFrequencyBandHiSpecifies the high end of the frequency range for the microphone array.
usNumberOfMicrophonesSpecifies the number of microphones in the microphone array.
KsMicCoordSpecifies the array of KSAUDIO_MICROPHONE_COORDINATES structures that contains the locations of the microphones in the array.
All angle values are expressed in units of 1/10000th of a radian. For example, 3.1416 radians is expressed as 31416 units. Acceptable values range from -31416 to 31416 units.
All coordinate values are expressed in millimeters. Acceptable values range from -32768 to 32767, inclusive.
Frequency values are expressed in Hertz (Hz).
For more information about how to process a microphone array in Windows, see the Microphone array support in Windows white paper.
KSAUDIO_MICROPHONE_COORDINATES