ВУЗ:
Составители:
45
операции.
Параметры:
hFile – дескриптор файла. Дескриптор файла, должен быть создан с правом доступа
GENERIC_WRITE.
lpBuffer – указатель на буфер, содержащий данные, которые будут записаны в файл.
nNumberOfBytesToWrite – число байтов, которые будут записаны в файл.
lpNumberOfBytesWritten – указатель на переменную, которая получает число
записанных байтов. Функция WriteFile устанавливает это значение в нуль перед
выполнением какой-либо работы или выявлением ошибок.
lpOverlapped – указатель на структуру OVERLAPPED. Эта структура требуется
тогда, если параметр hFile создавался с флажком FILE_FLAG_OVERLAPPED.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения – не
ноль. Если функция завершается с ошибкой, величина возвращаемого значения –
ноль. Чтобы получить дополнительные сведения об ошибке, вызовите
GetLastError.
В листинге 16 приведѐн пример открытия файла для чтения.
void CreateBMPFile(HWND hwnd, LPTSTR pszFile, PBITMAPINFO pbi,
HBITMAP hBMP, HDC hDC)
{
HANDLE hf; // file handle
BITMAPFILEHEADER hdr; // bitmap file-header
PBITMAPINFOHEADER pbih; // bitmap info-header
LPBYTE lpBits; // memory pointer
DWORD dwTotal; // total count of bytes
DWORD cb; // incremental count of bytes
BYTE *hp; // byte pointer
DWORD dwTmp;
pbih = (PBITMAPINFOHEADER) pbi;
lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih->biSizeImage);
if (!lpBits)
errhandler("GlobalAlloc", hwnd);
// Retrieve the color table (RGBQUAD array) and the bits
// (array of palette indices) from the DIB.
if (!GetDIBits(hDC, hBMP, 0, (WORD) pbih->biHeight, lpBits, pbi,
DIB_RGB_COLORS))
{
errhandler("GetDIBits", hwnd);
}
// Create the .BMP file.
hf = CreateFile(pszFile,
GENERIC_READ | GENERIC_WRITE,
(DWORD) 0,
операции.
Параметры:
hFile – дескриптор файла. Дескриптор файла, должен быть создан с правом доступа
GENERIC_WRITE.
lpBuffer – указатель на буфер, содержащий данные, которые будут записаны в файл.
nNumberOfBytesToWrite – число байтов, которые будут записаны в файл.
lpNumberOfBytesWritten – указатель на переменную, которая получает число
записанных байтов. Функция WriteFile устанавливает это значение в нуль перед
выполнением какой-либо работы или выявлением ошибок.
lpOverlapped – указатель на структуру OVERLAPPED. Эта структура требуется
тогда, если параметр hFile создавался с флажком FILE_FLAG_OVERLAPPED.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения – не
ноль. Если функция завершается с ошибкой, величина возвращаемого значения –
ноль. Чтобы получить дополнительные сведения об ошибке, вызовите
GetLastError.
В листинге 16 приведѐн пример открытия файла для чтения.
void CreateBMPFile(HWND hwnd, LPTSTR pszFile, PBITMAPINFO pbi,
HBITMAP hBMP, HDC hDC)
{
HANDLE hf; // file handle
BITMAPFILEHEADER hdr; // bitmap file-header
PBITMAPINFOHEADER pbih; // bitmap info-header
LPBYTE lpBits; // memory pointer
DWORD dwTotal; // total count of bytes
DWORD cb; // incremental count of bytes
BYTE *hp; // byte pointer
DWORD dwTmp;
pbih = (PBITMAPINFOHEADER) pbi;
lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih->biSizeImage);
if (!lpBits)
errhandler("GlobalAlloc", hwnd);
// Retrieve the color table (RGBQUAD array) and the bits
// (array of palette indices) from the DIB.
if (!GetDIBits(hDC, hBMP, 0, (WORD) pbih->biHeight, lpBits, pbi,
DIB_RGB_COLORS))
{
errhandler("GetDIBits", hwnd);
}
// Create the .BMP file.
hf = CreateFile(pszFile,
GENERIC_READ | GENERIC_WRITE,
(DWORD) 0,
45
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »
