This source file includes following definitions.
- ADIOI_NTFS_Resize
1
2
3
4
5
6
7
8 #include "ad_ntfs.h"
9
10 void ADIOI_NTFS_Resize(ADIO_File fd, ADIO_Offset size, int *error_code)
11 {
12 LONG dwTemp;
13 DWORD err;
14 BOOL result;
15 static char myname[] = "ADIOI_NTFS_Resize";
16
17 dwTemp = DWORDHIGH(size);
18 err = SetFilePointer(fd->fd_sys, DWORDLOW(size), &dwTemp, FILE_BEGIN);
19
20 if (err == INVALID_SET_FILE_POINTER)
21 {
22 err = GetLastError();
23 if (err != NO_ERROR)
24 {
25 char errMsg[ADIOI_NTFS_ERR_MSG_MAX];
26 ADIOI_NTFS_Strerror(err, errMsg, ADIOI_NTFS_ERR_MSG_MAX);
27 *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
28 myname, __LINE__, MPI_ERR_IO,
29 "**io",
30 "**io %s", errMsg);
31 return;
32 }
33 }
34
35
36 result = SetEndOfFile(fd->fd_sys);
37
38 if (result == FALSE)
39 {
40 char errMsg[ADIOI_NTFS_ERR_MSG_MAX];
41 err = GetLastError();
42 ADIOI_NTFS_Strerror(err, errMsg, ADIOI_NTFS_ERR_MSG_MAX);
43 *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
44 myname, __LINE__, MPI_ERR_IO,
45 "**io",
46 "**io %s", errMsg);
47 return;
48 }
49
50 *error_code = MPI_SUCCESS;
51 }