Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, I/O plików multimedialnych, jest starszą funkcją. Został zastąpiony przez Source Reader. Czytnik źródła został zoptymalizowany pod kątem Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł zamiast I/O plików multimedialnych, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Usługi we/wy plików multimedialnych umożliwiają traktowanie bloku pamięci jako pliku. Może to być przydatne, jeśli masz już obraz pliku w pamięci. Pliki pamięci umożliwiają zmniejszenie liczby warunków specjalnych przypadków w kodzie, ponieważ w celach we/wy można traktować pliki pamięci tak, jakby były plikami opartymi na dyskach. Możesz również używać plików pamięci ze schowkiem.
Podobnie jak w przypadku buforów I/O, pliki pamięciowe mogą używać pamięci przydzielonej przez aplikację lub menedżera operacji wejścia/wyjścia pliku. Ponadto pliki pamięci mogą być rozszerzalne lub nierozszerzalne. Gdy menedżer we/wy pliku osiągnie koniec rozszerzalnego pliku pamięci, rozszerza plik pamięci o wstępnie zdefiniowany przyrost.
Aby otworzyć plik pamięci, użyj funkcji mmioOpen z parametrem szFilename ustawionym na NULL i flagę MMIO_READWRITE ustawioną w parametrze dwOpenFlags. Ustaw parametr lpmmioinfo, aby wskazać struktura MMIOINFO, która została skonfigurowana w następujący sposób:
- Ustaw element członkowski pIOProc na wartość null.
- Ustaw składnik fccIOProc na FOURCC_MEM.
- Ustaw element członkowski pchBuffer, aby wskazywał na blok pamięci. Aby zażądać przydzielenia bloku pamięci przez menedżera we/wy pliku, ustaw pchBuffer na wartość NULL.
- Ustaw pole cchBuffer na początkowy rozmiar bloku pamięci.
- Ustaw członka adwInfo na minimalny rozmiar rozszerzenia bloku pamięci. W przypadku nierozszerzalnego pliku pamięci ustaw adwInfo na NULL.
- Ustaw pozostałe elementy na zero.
Nie ma żadnych ograniczeń dotyczących przydzielania pamięci do użycia jako nierozszerzalny plik pamięci.