DeleteOnclose 파일 옵션이있는 FILESTREAM
-
22-07-2019 - |
문제
내 프로젝트에서는 USB 장치에서 임시 파일을 만들어야합니다. 그래서 나는 같은 코드를 사용했습니다
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose);
잘 작동합니다. 그러나 문제는 버퍼링이없는 것처럼 파일 옵션을 하나 더 사용하고 싶다는 것입니다.
private const FileOptions FILE_FLAG_NO_BUFFERING = (FileOptions)0x20000000;
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose & FILE_FLAG_NO_BUFFERING);
그러나 폐쇄 후 파일을 삭제하지 않습니다. 도와주세요.
해결책
사용해야합니다 |
대신에 &
.
이것들은 이진 깃발이며, 당신이 말할 때 &
, 당신은 효과적으로 그들을 모두 마스킹하여 전혀 옵션이 없습니다.
다른 팁
사용 FileOptions.DeleteOnClose | FILE_FLAG_NO_BUFFERING
그만큼 &
그들을 취소합니다.
FILE_FLAG_NO_BUFFERING & FileOptions.DeleteOnClose
보고 FileOptions.None
시도해보십시오 WriteThrough
|.를 사용하여 목록에 플래그 운영자. 이것 좀 봐 KB 사용 요구 사항에 FILE_FLAG_NO_BUFFERING
. MS 가이 깃발을 열거에 포함시키지 않았다는 것이 흥미 롭습니다. 이유가 있습니까? WriteThrough
이 시나리오에서 필요한 것을하지 않습니까? 보안 데이터를 작성하려고합니까?
제휴하지 않습니다 StackOverflow