Я провел некоторый тест и смог создать и удалить boost :: interprocess :: shared_memory_object в исполняемом файле C ++ / CLI без проблем. В плагине C ++ / CLI dll я могу только создать boost :: interprocess :: shared_memory_object, но удалить не удается. Я проверил, что файл существует на момент удаления - он находится в папке boost :: interprocess в подпапке с именем «20110606204418.125000». Память не была отображена каким-либо другим процессом. Есть идеи, что может быть причиной? В начале я думал, что это может быть связано с тем, что проект является dll и нацелен на CLR, но, честно говоря, я не знаю.
РЕДАКТИРОВАТЬ: код удаления вызывается другим потоком, чем код создания - это запрещено?