Программирование мультимедиа-систем - 41 стр.

UptoLike

Составители: 

- 41 -
// поля для буферизированного ввода - вывода
LONG ccBuffer; // размер буфера (или 0L)
HPSTR pchBuffer; // указатель на буфер (или NULL)
HPSTR pchNext; // указатель на следующий байт при
// операциях чтении или записи
HPSTR pchEndRead; // указатель на последний прочитанный байт
HPSTR pchEndWrite; // указатель на последний записанный байт
LONG lBufOffset; // дискового смещение начала буфера
// поля для процедур ввода - вывода
LONG lDiskOffset; // дисковое смещение для следующей
// операции чтения или записи
DWORD adwInfo[3]; // дополнительные данные
// для типа MMIOPROC
// прочие поля
DWORD dwReserved1; // зарезервировано
DWORD dwReserved2; // зарезервировано
HMMIO hmmio; // идентификатор открытого файла
} MMIOINFO;
typedef MMIOINFO *PMMIOINFO:
typedef MMIOINFO NEAR *NPMMIOINFO;
typedef MMIOINFO FAF *LPMMIOINFO;
Структура MMIOINFO дает возможность задавать многочисленные
способы работы с файлами - можно использовать файлы в памяти, можно
определить собственную процедуру для выполнения нестандартного ввода
или вывода или работать с открытыми средствами MS-DOS идентифика-
торами файлов. В простейших случаях можно указать второй параметр
функции
mmioOpen как NULL и не использовать структуру MMIOINFO
вообще
hmmio=mmioOpen((LPSTR)lpszFilename, NULL,
MMIO_READ | MMIO_ALLOCBUF);
Последний параметр функции
mmioOpen предназначен для опреде-
ления режима открытия файла в виде логической комбинации ИЛИ от-
дельных флагов, ниже приведен их список
Идентификатор флага Описание режима открытия файла
MMIO_READ
Чтение
MMIO_WRITE
Запись
MMIO_READWRITE
Чтение и запись
MMIO_CREATE
Создание нового файла (если файл с таким именем уже
существует, он обрезается до нулевой длины)
MMIO_DELETE
Удаление файла (если удаление выполнено корректно,
возвращается TRUE, в противном случае - FALSE)
                                   - 41 -


  // поля для буферизированного ввода - вывода
  LONG ccBuffer; // размер буфера (или 0L)
  HPSTR pchBuffer; // указатель на буфер (или NULL)
  HPSTR pchNext; // указатель на следующий байт при
                   // операциях чтении или записи
  HPSTR pchEndRead; // указатель на последний прочитанный байт
  HPSTR pchEndWrite; // указатель на последний записанный байт
  LONG lBufOffset; // дискового смещение начала буфера
  // поля для процедур ввода - вывода
  LONG lDiskOffset; // дисковое смещение для следующей
                       // операции чтения или записи
  DWORD adwInfo[3]; // дополнительные данные
                         // для типа MMIOPROC
  // прочие поля
  DWORD dwReserved1; // зарезервировано
  DWORD dwReserved2; // зарезервировано
  HMMIO hmmio; // идентификатор открытого файла
} MMIOINFO;

typedef MMIOINFO      *PMMIOINFO:
typedef MMIOINFO NEAR *NPMMIOINFO;
typedef MMIOINFO FAF *LPMMIOINFO;

    Структура MMIOINFO дает возможность задавать многочисленные
способы работы с файлами - можно использовать файлы в памяти, можно
определить собственную процедуру для выполнения нестандартного ввода
или вывода или работать с открытыми средствами MS-DOS идентифика-
торами файлов. В простейших случаях можно указать второй параметр
функции mmioOpen как NULL и не использовать структуру MMIOINFO
вообще

hmmio=mmioOpen((LPSTR)lpszFilename, NULL,
               MMIO_READ | MMIO_ALLOCBUF);

    Последний параметр функции mmioOpen предназначен для опреде-
ления режима открытия файла в виде логической комбинации ИЛИ от-
дельных флагов, ниже приведен их список

 Идентификатор флага            Описание режима открытия файла
MMIO_READ              Чтение
MMIO_WRITE             Запись
MMIO_READWRITE         Чтение и запись
MMIO_CREATE            Создание нового файла (если файл с таким именем уже
                       существует, он обрезается до нулевой длины)
MMIO_DELETE            Удаление файла (если удаление выполнено корректно,
                       возвращается TRUE, в противном случае - FALSE)