?????: FILE_FLAG_WRITE_THROUGH ?? FILE_FLAG_NO_BUFFERING

???? ?????? ???? ??????
???? ID: 99794 - ?? ???????? ?? ?????? ??? ?? ?? ???? ???? ???? ??.
??? ?? ??????? ???? | ??? ?? ??????? ????

??????

CreateFile() ?? ??? FILE_FLAG_WRITE_THROUGH ???? ?? ???? ??? writes ?????? ??? ???? ???? ?? ???? ???? ?? ??? ?? ????? ???? ?? ??? ??? ?? ??? ???? (????? ??? ??? ????????) ??? ??; ???????, ?? ??? ?? ???? ?? ????? ??? ??? ?? ???? (??? ??? ??? ?? ???? ??) ??? ?? ?? ???? ?? ??? ?????? ?? ??????? ???? ?? ??? ?? ???? ?? ?? ??? ???????? ?? ?????? ???? ??, ???? ?? rather ???? ??? ????? ????? ???? ??????? ???? ?? ??? ??? ???? ??? ??? ?? ?? ???? ????? ??? ???? ??, ?? ?? ???? ???? ???? ?? ?? ?????? writes ???? ?? ??? ???? ???? ??-??????? ????????????? passes FILE_FLAG_WRITE_THROUGH ???? ????? ?? ??? ?? ?? ?? ???? ????? ??? ???? ??, ?? ?? ????? ?? ?????? ?? ??????? ???? ?? ??? ???? ????? knows.

FILE_FLAG_NO_BUFFERING ?? concept ?? ??? ?? ???? ??, ?? ??? ???-???? ?? ??? ????? ???? ?? ??? ?? ?? ????? ?? ??? ??? ??, ?????? eliminates ?? ??? reads ????? ?? ?? ??? ?? ?????? ???? ?? ????? ???? ?? ???? ??? ???? ?? ??? ????????? ???? FILE_FLAG_NO_BUFFERING ?? ????? ?? ??? ??, ?? ????? ???? ?? writes ?????? ?????? ?? ?????? ???? ???? ?? ???? ??, ?? ???? ??? ?????? ??? ?????? ?????? ??? ????? ?? ??????? ???? ?????? ???

?? ???????? ?????? ??? ?? ?? ????? ?? ??? ?? ??? ?? API ????? ???? ???? ?????? ???? ?? i/O ?? ??? ????? ???? ???? ?? ???????; ?? ????, ???? ???? ??? ?? ?????? ??? ???? ?????? ??????? ????????? ?? ??? ?? ???????? ?? ?????? ?????? ???????? ???

???? ???????

Windows 95 CDFS (CD-ROM ????? ??????) FILE_FLAG_NO_BUFFERING ???? CreateFile() ?? ??? ?????? ???? ????? ?? VFAT, ???? Windows 95 FSD, ??? ??????????? ?? ???? ??, FILE_FLAG_NO_BUFFERING ????? ?????? ??????? ?? ??? ?????? ?? ???? ???? ??, ?? ??? CDFS ?????? ??????? ???? ???

?? ??? fragment ????????? ???? ?? ?? ???? ??????-??????? ???? ??? ???? ??? ???? ?? ??? CreateFile() ???? ?? ??? ?? ????:
  char buf[2 * SECTOR_SIZE - 1], *p;

  p = (char *) ((DWORD) (buf + SECTOR_SIZE - 1) & ~(SECTOR_SIZE - 1));
  h = CreateFile(argv[1], GENERIC_READ | GENERIC_WRITE,
      FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,
      FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, NULL);
  WriteFile(h, p, SECTOR_SIZE, &dwWritten, NULL);

				
???? p ?????? ??????? ?? ?? ???? ?? ???? ?? ?? ????? ???? ???

??? ???? ???? ?????? ?? ???? ?? ??????? ??????? ?????? ?? ??? ???? ?????? ?? ???? ???? ?? ??? ????? ???, ?? ?? ?? ???? ?? ????:
   hFile = CreateFile("\\\\.\\c:", ....);
   FlushFileBuffers(hFile);
				
?? ???? ?? ???? ?? ????? ?? ??? ???? C:???????? ?? ??? ???? ??????? ?? ??? ??? buffered ???? ???? ?? ???? ???? ??? ????? ??? ?? ??? ?? ??????? other ?? ?????? ?????? ?? flush; ???????? ???? ?? ?? ??? ?? ???? ??? ???? ?? ??? ?? C ??-???? C ??-???? routines ?? ??? ???? ??????? ?? ?? ??? ?? ??? ??? ?? ??????? ???? ?? ??????????

??????? ?? ???? ?????? ????? ?? ????? ??? ????? ????? caches ?? ??? buffering ???? ??????? ?????? ????????? ?? ????? ???? ???? ??? ?? ??????? ?? ?????? ??? ????????????? ?? ????? ???? ??????? ?? FILE_FLAG_NO_BUFFERING ?? ????? semantics ??????????? ??? ??? Particular ??? ?????? ??????, ?????? ??????? i/O ?? ??? ???????? ???? ???? ?? ???? ????? ?????, ?? ?? Win32-?????? ????????? FILE_FLAG_NO_BUFFERING ?? ??? ???? ??, ????????????? ?? ????? ????? ?? ?????? FILE_FLAG_WRITE_THROUGH ?? ???? ??????? ?? ????? ??? ???? ??, writes ???? ????? ?? ?? ????? ?? ??? ????? ??, ?? ??????? ?? ???/???? ???? ??? ??????? ??? ?? ???? ????????? ???? ?? ???? ???????, ????? ?? ????? ??? ???

??????? ?? ??? ???? ??? ???? ??????, i/O ?? ?????? ?? ???? ?? ?? ????? ?? ??? hits ??? ?? ?? ??? ahead, ????? ?? ?? ?? ???? ?? ?? ???? ?? transmits ?? ??????? ???? ??? ???????? ??? ?????? i/O, ?? ??? ?? ??? ????? ????? ?? ??? ???? ?? ??? ??????? ??? ????, ????? ????? ?? ??? i/O, ?? ?? ????? ??????? ??? ???? ?? ??? ?????

???

???? ID: 99794 - ????? ???????: 03 ?????? 2010 - ??????: 4.0
???? ???? ???? ??:
  • Microsoft Win32 Application Programming Interface, ?? ???? ??? ?????? ???? ???:
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
??????: 
kbapi kbfileio kbinfo kbkernbase kbmt KB99794 KbMthi
???? ?????? ????????
??????????: ?? ???? ?? ???? ??????? ?? ????? ?? Microsoft ????-?????? ?????????? ?????? ?????? ???? ??? ??. Microsoft ???? ??? ????-???????? ?? ????-???????? ????? ?????? ?? ???? ???????? ???? ?? ???? ????? ????? ??? ?? ??? ?????? ?? ???? ???? ???? ??? ????? ??. ???????, ????-???????? ???? ????? ???? ???? ???? ???. ?????, ????????, ?????-???? ?? ??????? ?? ???????? ?? ???? ???, ???? ?? ??? ?????? ???? ???? ??? ????? ??? ?? ???? ??. Microsoft ??????? ??? ???? ?? ?????? ?? ??????????, ????????? ?? ??? ?????? ?? ???? ????? ?? ???? ???????? ?? ??? ???? ????? ?? ??? ????????? ???? ??. Microsoft ????-?????? ?????????? ?? ????? ?????? ?? ?? ??? ??.
?????????? ?? ??????? ????????? ??????? ??:99794

??????????? ???

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com