Intervalo de datos de DirectSound Stream

En este ejemplo se usa una estructura de KSDATARANGE_AUDIO para describir el intervalo de datos de una secuencia de DirectSound.

  DataRange.FormatSize  = sizeof(KSDATARANGE_AUDIO);
  DataRange.Flags       = 0;
  DataRange.SampleSize  = 0;
  DataRange.Reserved    = 0;
  DataRange.MajorFormat = STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO);
  DataRange.SubFormat   = STATICGUIDOF(KSDATAFORMAT_SUBTYPE_PCM);
  DataRange.Specifier   = STATICGUIDOF(KSDATAFORMAT_SPECIFIER_DSOUND);
  MaximumChannels        = 4;   // max number of channels, or -1 for unlimited
  MinimumBitsPerSample   = 2;
  MaximumBitsPerSample   = 16;  // 16, 24, 32, etc.
  MinimumSampleFrequency = 5000;
  MaximumSampleFrequency = 48000;

Los valores de miembro de este ejemplo son similares a los del ejemplo de intervalo de datos de flujo multicanal de PCM , a excepción del valor MaximumBitsPerSample . Este valor se establece en el tamaño del contenedor de ejemplo y debe ser un múltiplo de ocho. Por ejemplo, si el dispositivo admite 20 bits de datos de audio válidos en contenedores de 24 bits, el valor de MaximumBitsPerSample debe establecerse en 24.