39
62
/* Create the file or open if the file exists */
63
HANDLE fh = CreateFile(argv[1],
64
GENERIC_READ|GENERIC_WRITE,
65
0,
66
NULL,
67
OPEN_EXISTING,
68
FILE_ATTRIBUTE_NORMAL,
69
NULL);
70
71
if (fh == INVALID_HANDLE_VALUE) {
72
fprintf(stderr, "CreateFile, gle: 0x%08x",
73
GetLastError());
74
exit(1);
75
}
76
77
/*
78
* Get the file length for use when
79
* memory mapping later
80
* */
81
DWORD filelen = GetFileSize(fh, NULL);
82
if (filelen == 0) {
83
fprintf(stderr, "GetFileSize, gle: 0x%08x",
84
GetLastError());
85
exit(1);
86
}
87
88
/* Create a file mapping object */
89
HANDLE fmh = CreateFileMapping(fh,
90
NULL, /* security attributes */
91
PAGE_READWRITE,
92
0,
93
0,
94
NULL);
95
Chapter 3 Operating SyStem SuppOrt fOr perSiStent memOry
Précédent

- 68/457

Suivant