Основы программирования в Win32API. Марапулец Ю.В. - 58 стр.

UptoLike

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

В этой ситуации также чрезвычайно удобно использовать механизмы асин-
хронного ввода/ вывода.
Прежде чем приступать к изучению различных форм асинхронного вво-
да/вывода, следует изучить основы файлового ввода/вывода Windows,
а также базовые методы, используемые этой ОС для обмена данными
с внешними устройствами.
Обычно, если программист хочет открыть файл, он использует один из
стандартных вызовов библиотеки C++ (такой, как, например, fopen). В боль-
шинстве языков программирования предусмотрены достаточно удобные высо-
коуровневые средства работы с файлами. Однако в некоторых ситуациях требу-
ется открыть файл и работать с ним на уровне операционной системы, не
используя высокоуровневые функции. Например, прямое обращение к операци-
онной системе может потребоваться в случае, если вы намерены использовать
асинхронный ввод/вывод.
Системной функцией, с помощью которой осуществляется открытие фай-
ла, называется CreateFile(). В зависимости от флагов, которые программист пе-
редает в качестве параметров, она может либо действительно создать новый
файл, либо открыть уже существующий. В любом случае вызов CreateFile()
создает дескриптор файла и возвращает его вызвавшей программе, которая
может использовать этот дескриптор для дальнейшей работы с файлом:
HANDLE CreateFile
(LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDispostion,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);…
58
В этой ситуации также чрезвычайно удобно использовать механизмы асин-
хронного ввода/ вывода.
     Прежде чем приступать к изучению различных форм асинхронного вво-
да/вывода, следует изучить основы файлового ввода/вывода Windows,
а также базовые методы, используемые этой ОС для обмена данными
с внешними устройствами.
     Обычно, если программист хочет открыть файл, он использует один из
стандартных вызовов библиотеки C++ (такой, как, например, fopen). В боль-
шинстве языков программирования предусмотрены достаточно удобные высо-
коуровневые средства работы с файлами. Однако в некоторых ситуациях требу-
ется открыть файл и работать с ним на уровне операционной системы, не
используя высокоуровневые функции. Например, прямое обращение к операци-
онной системе может потребоваться в случае, если вы намерены использовать
асинхронный ввод/вывод.
     Системной функцией, с помощью которой осуществляется открытие фай-
ла, называется CreateFile(). В зависимости от флагов, которые программист пе-
редает в качестве параметров, она может либо действительно создать новый
файл, либо открыть уже существующий. В любом случае вызов CreateFile()
создает дескриптор файла и возвращает его вызвавшей программе, которая
может использовать этот дескриптор для дальнейшей работы с файлом:

HANDLE CreateFile
    (LPCTSTR lpFileName,
    DWORD dwDesiredAccess,
    DWORD dwShareMode,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDispostion,
    DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile);…




                                     58