|
|
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
Пробую написать програмулину, чтобы можна было читать/писать в существующий файл через память. По завершения программы - файл не обновляется. Это вообще можно делать? Если да, то как? Спасиба. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 20:13 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
HANDLE hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE | SEC_COMMIT, 0, 1000, 0); и хде тута хэндл файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 22:54 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
дурацкий вопросHANDLE hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE | SEC_COMMIT, 0, 1000, 0); и хде тута хэндл файла? Точно замечено :) Дал не тот сорс код. Пробовал и с хендлом файла. На READ_ONLY еще открывает, а на READWRITE дает ошибку Access Denied. Прошелся по интернету, говорят с некоторых пор CreateFileMapping стала превилигированной операцией, требуется настройка DACL (второй параметр фунции), как - непонятно. Хотя если процесс исполняется в текущей сессии пользователя, а оно так, должен и дефолт (NULL) DACL работать. Вдвойне не понятно. Ну а вобще, можно ли открыть существующий факл на диске таким вензелем и read/write в него, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 23:11 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
GENERIC_READ || GENERIC_WRITE Это что за операция такая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 23:33 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
Спасиба, почти работает. Вот там, где <--AV ложится. ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 00:02 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
LPVOID lpMapAddress = MapViewOfFile(hFileMap, FILE_MAP_READ , 0, 0, 0); FILE_MAP_ALL_ACCESS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 11:15 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
ты документацию читаешь?LPVOID lpMapAddress = MapViewOfFile(hFileMap, FILE_MAP_READ , 0, 0, 0); FILE_MAP_ALL_ACCESS Спасиба работает. Документацию некогда читать, просто переделывалось с readonly проджекта, ну и не все было вычищено :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 18:21 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
Написан простой перекодировщик файлов с использованием CreateFile\ReadFile\WriteFile и Memory Mapped File. Второй дает выиграш по скорости в 1.5 раза, что особенно ценно при перекодировке гигабайтных файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 23:23 |
|
||
|
Read\Write To Memory Mapped File
|
|||
|---|---|---|---|
|
#18+
так это не выигрышь, это так - "гуляем" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2005, 00:06 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=381&tid=2032324]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 357ms |

| 0 / 0 |
