Condividi tramite


Dimensioni del buffer di output

Il metodo IMiniport::D ataRangeIntersection del driver miniport copia la struttura che specifica il formato dati negoziato in un buffer allocato dal chiamante. Il parametro OutputBufferLength del metodo specifica le dimensioni del buffer in byte. Si noti che le dimensioni della struttura di formato variano con il formato selezionato. Per evitare di scrivere oltre la fine del buffer, il metodo DataRangeIntersection deve prima verificare che il buffer allocato sia abbastanza grande per contenere il formato.

Per un formato mono o stereo, le dimensioni minime per il buffer di output sono dimensioniof(KSDATAFORMAT_WAVEFORMATEX) o sizeof(KSDATAFORMAT_DSOUND), a seconda che sia stato selezionato un formato WAVEFORMATEX o DirectSound.

Se il formato wave supporta più di due canali, la struttura WAVEFORMATEX incorporata alla fine della strutturaKSDATAFORMAT_WAVEFORMATEX si espande per occupare un numero aggiuntivo di byte uguale alla differenza

sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX)