Skip to main content
2 of 3
Added some detail
Bukes
  • 3.8k
  • 1
  • 20
  • 21

The problem you're running into is that once a file handle opened with FILE_FLAG_DELETE_ON_CLOSE is closed, the operating system will no longer allow new handles to be created. In a nutshell, filesystem driver return STATUS_DELETE_PENDING to the IO Manager , which maps to the Win32 ERROR_ACCESS_DENIED code you're seeing.

For your use case, you might want to consider using the Named Shared Memory (MSDN) pattern. Basically, let the operating system manage the space for your shared memory. Just make sure you apply the appropriate security attributes, and you're good to go.

Bukes
  • 3.8k
  • 1
  • 20
  • 21