Freigeben über


Erstellen eines RIFF-Blocks

[Das dieser Seite zugeordnete Feature Multimediadatei-E/A ist ein Legacyfeature. Es wurde vom Quellleser abgelöst. Source Reader wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser anstelle von Multimediadatei-E/A verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Im folgenden Beispiel wird die mmioCreateChunk-Funktion verwendet, um einen Block mit dem Blockbezeichner "RIFF" und dem Formulartyp "RDIB" zu erstellen.

HMMIO    hmmio; 
MMCKINFO mmckinfo; 
. 
. 
. 
mmckinfo.fccType = mmioFOURCC('R', 'D', 'I', 'B'); 
mmioCreateChunk(hmmio, &mmckinfo, MMIO_CREATERIFF); 

Wenn Sie einen Block "RIFF" oder "LIST" erstellen, müssen Sie den Formulartyp oder Listentyp im fccType-Element der MMCKINFO-Struktur angeben. Im vorherigen Beispiel ist "RDIB" der Formulartyp.

Wenn Sie die Größe des Datenfelds in einem neuen Block kennen, können Sie den cksize-Member der MMCKINFO-Struktur festlegen, wenn Sie den Block erstellen. Dieser Wert wird in das Datengrößenfeld im neuen Block geschrieben. Wenn dieser Wert nicht korrekt ist, wenn Sie mmioAscend aufrufen, um das Ende des Blöckes zu markieren, wird er automatisch neu geschrieben, um die richtige Größe des Datenfelds widerzuspiegeln.

Nachdem Sie einen Block mithilfe der mmioCreateChunk-Funktion erstellt haben, wird die Dateiposition auf das Datenfeld des Blocks (8 Bytes vom Anfang des Blocks) festgelegt. Wenn der Block ein "RIFF"- oder "LIST"-Block ist, wird die Dateiposition auf den Speicherort festgelegt, der dem Formulartyp oder Listentyp folgt (12 Bytes vom Anfang des Blocks).