¿øÇü |
HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES pSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MFC ¿øÇü |
ÇØ´çÇÏ´Â ÇÔ¼ö ¾øÀ½ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Àμö |
¢ºlpFileName : »ý¼ºÇÏ°íÀÚ ÇÏ´Â ÆÄÀÏ(¶Ç´Â ¿ÀºêÁ§Æ®)ÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. ¿ÀºêÁ§Æ®ÀÇ À̸§Àº ÃÖ´ë MAX_PATHÀÇ ±æÀÌ·Î ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸³ª NT/2000¿¡¼ À¯´ÏÄÚµå·Î ÄÄÆÄÀÏÇÒ °æ¿ì´Â 32000ÀÚ±îÁöÀÇ ±æÀ̸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. À̶§ ÆÄÀϸíÀº "\\?\"·Î ½ÃÀ۵Ǿî¾ß ÇÑ´Ù. ÆÄÀÏÀÇ °æ¿ì ¿ÏÀü °æ·Î¸¦ ÁÙ ¼öµµ ÀÖ°í ÇöÀç µð·ºÅ丮¸¦ ±âÁØÀ¸·Î ÇÑ »ó´ë °æ·Î·Î ÁÙ ¼öµµ ÀÖ´Ù. ¢ºdwDesiredAccess : ÆÄÀÏ¿¡ ´ëÇÑ ¾×¼¼½º ±ÇÇÑÀ» ÁöÁ¤ÇÑ´Ù. »ý¼ºÇϰųª ¿¬ ÆÄÀÏ·Î ¾î¶² ÀÛ¾÷À» ÇÒ °ÍÀΰ¡¿¡ µû¶ó ÀûÀýÇÑ ¾×¼¼½º ±ÇÇÑÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ´ÙÀ½ Ç÷¡±× Áß Çϳª ¶Ç´Â Á¶ÇÕÀ» ÁöÁ¤ÇÒ ¼ö Àִµ¥ ÀÌ Ç÷¡±×µéÀº ¸ðµç ¿ÀºêÁ§Æ®¿¡ °øÅëÀûÀ¸·Î Àû¿ëµÇ´Â ÀϹÝÇü ±ÇÇÑÀÌ´Ù.
¾×¼¼½º ±ÇÇÑÀº °¡±ÞÀûÀ̸é ÃÖ¼ÒÇÑÀ¸·Î ¿äûÇÏ´Â °ÍÀÌ ÁÁ´Ù. ¿¹¸¦ µé¾î Àб⸸ ÇÒ ¿ëµµ·Î ÆÄÀÏÀ» ¿¬´Ù¸é GENERIC_READ Ç÷¡±×¸¸ ÁÖ¾î¾ß ÇÑ´Ù. ºÒÇÊ¿äÇÏ°Ô Àбâ¿Í ¾²±â ¾×¼¼½º ±ÇÇÑÀ» µ¿½Ã¿¡ ¿äûÇÒ °æ¿ì Àбâ Àü¿ë ÆÄÀÏÀ̳ª CD-ROMÀÇ ÆÄÀÏÀ» ¿Áö ¸øÇÏ°Ô µÈ´Ù. ÀÌ·± ÀϹÝÇü ±ÇÇÑ ¿Ü¿¡ ¿ÀºêÁ§Æ® °íÀ¯ÀÇ ±ÇÇÑÀ» °°ÀÌ ÁöÁ¤Çϰųª ¾Æ´Ï¸é ÀϹÝÇü ±ÇÇѾøÀÌ Ç¥ÁØ ±ÇÇÑ°ú °íÀ¯Çü ±ÇÇÑÀ¸·Î ¾×¼¼½º ¸¶½ºÅ©¸¦ ±¸¼ºÇÒ ¼öµµ ÀÖ´Ù. °¢ ¿ÀºêÁ§Æ®ÀÇ °íÀ¯ÇÑ ±ÇÇÑ¿¡ ´ëÇؼ´Â ÇØ´ç ¿ÀºêÁ§Æ®¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù. ¢ºdwShareMode : ÆÄÀÏÀÇ °øÀ¯ ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù. °øÀ¯ ¸ðµå¶õ ÆÄÀÏÀÌ ¿·ÁÁ® ÀÖ´Â »óÅ¿¡¼ ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ¶Ç ÀÌ ÆÄÀÏÀ» ¿ÀÇÂÇÒ ¶§ À̸¦ Çã°¡ÇÒ °ÍÀΰ¡ ¾Æ´Ñ°¡¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ÇöÀç ÇÁ·Î¼¼½º°¡ ÆÄÀÏÀ» ¾²°í ÀÖ´Â »óÅ¿¡¼ ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÆÄÀÏÀ» ÀÐÀ» ¼ö ¾øµµ·Ï ÇÏ°í ½Í´Ù¸é °øÀ¯ ¸ðµå¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. ´ÙÀ½ Ç÷¡±×µéÀÇ Á¶ÇÕÀ¸·Î °øÀ¯ ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù.
¢ºpSecurityAttributes : ÆÄÀÏÀÇ º¸¾È ¼Ó¼ºÀ» ÁöÁ¤ÇÏ´Â SECURITY_ATTRIBUTES ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. ÀÌ º¸¾È ¼Ó¼º¿¡ µû¶ó »ý¼ºµÇ´Â ÆÄÀÏÀÇ º¸¾È ¼³¸íÀÚ°¡ ´Þ¶óÁö¸ç Â÷Àϵå ÇÁ·Î¼¼½º·Î ÇÚµéÀ» »ó¼ÓÇÒ ¼ö Àִ°¡ÀÇ ¿©ºÎ°¡ °áÁ¤µÈ´Ù. NULLÀ̸é ÇÚµéÀº »ó¼ÓµÉ ¼ö ¾øÀ¸¸ç µðÆúµå º¸¾È ¼³¸íÀÚ°¡ ÇÒ´çµÈ´Ù. ´Ü, ÆÄÀÏÀÇ º¸¾È ¼³¸íÀÚ°¡ ÇÒ´çµÇ±â À§Çؼ´Â ÆÄÀÏÀÌ ÀúÀåµÇ´Â µð½ºÅ©ÀÇ ÆÄÀÏ ½Ã½ºÅÛÀÌ ¹Ýµå½Ã NTFS·Î Æ÷¸ËµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ¢ºdwCreationDisposition : ÆÄÀÏÀ» »ý¼ºÇÒ °ÍÀÎÁö ¿ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ »ý¼ºÇÏ°íÀÚ ÇÏ´Â ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇϰųª ¶Ç´Â ¿°íÀÚ ÇÏ´Â ÆÄÀÏÀÌ ¾øÀ» °æ¿ìÀÇ µ¿ÀÛÀ» ÁöÁ¤ÇÑ´Ù. ÀûÀýÇÑ ¿¡·¯¸¦ ¸®ÅϹޱâ À§Çؼ´Â ÀÌ Ç÷¡±×¸¦ ½ÅÁßÇÏ°Ô Àß ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¾ø´Â ÆÄÀÏÀÌ ¿¸®°Å³ª ±âÁ¸ ÆÄÀÏÀÌ ±úÁö´Â µî ÇÁ·Î±×·¥ÀÌ ¿Àµ¿ÀÛÀ» ÇÒ À§ÇèÀÌ ÀÖ´Ù.
¢ºdwFlagsAndAttributes : »ý¼ºÇÒ ÆÄÀÏÀÇ ¼Ó¼º ¶Ç´Â ±âŸ ¿ÉÁ§Æ®ÀÌ ¼Ó¼ºÀ» ÁöÁ¤ÇÑ´Ù. ÆÄÀÏÀÇ ¼Ó¼ºÀº ´ÙÀ½ Ç÷¡±×µéÀÇ Á¶ÇÕÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
ÆÄÀÏ ¼Ó¼º°ú ÇÔ²² ´ÙÀ½ Ç÷¡±×µéµµ °°ÀÌ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
¢ºhTemplateFile : »ý¼ºµÉ ÆÄÀÏÀÇ ¼Ó¼ºÀ» Á¦°øÇÒ ÅÛÇø´ ÆÄÀÏÀÌ´Ù. 95/98Àº ÅÛÇø´ ÆÄÀÏÀ» Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î ¹Ýµå½Ã NULLÀ̾î¾ß ÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
¸®ÅÏ |
»ý¼º ¶Ç´Â ¿¬ ÆÄÀÏÀÇ ÇÚµéÀ» ¸®ÅÏÇÑ´Ù. ½ÇÆÐÇÒ °æ¿ì INVALID_HANDLE_VALUE¸¦ ¸®ÅÏÇϴµ¥ ÀÌ °ªÀº NULL°ú´Â ´Ù¸£¹Ç·Î NULL°ú ºñ±³Çؼ´Â ¾ÈµÈ´Ù. Áï ´ÙÀ½°ú °°Àº ¿¡·¯ 󸮴 À߸øµÈ °ÍÀ̹ǷΠÁÖÀÇÇϱ⠹ٶõ´Ù. hFile=CreateFile(... ÀÌ ÇÔ¼ö¸¦ ÃâÇϱâ Àü¿¡ ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÏ°í ÀÖ¾úÀ¸¸é GetLastError´Â ERROR_ALREADY_EXISTS¸¦ ¸®ÅÏÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
¼³¸í |
ÀÌ ÇÔ¼ö´Â ÆÄÀÏÀ» »ý¼ºÇÏ´Â °¡Àå ±âº»ÀûÀÎ ÇÔ¼öÀÌ´Ù. ±×·¯³ª À̸§°ú´Â ´Þ¸® ÆÄÀÏÀ» »ý¼ºÇÏ´Â °Í»Ó¸¸ ¾Æ´Ï¶ó ±âÁ¸ÀÇ ÆÄÀÏÀ» ¿ ¼öµµ ÀÖÀ¸¸ç ÆÄÀÏ ¿Ü¿¡ ´ÙÀ½°ú °°Àº ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇϰųª ¿ ¼öµµ ÀÖ´Ù. ÆÄÀÌÇÁ ÀÌ ÇÔ¼ö·Î »ý¼ºÇÑ ÇÚµéÀº ¹Ýµå½Ã CloseHandle·Î ´Ý¾Æ ÁÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÆÄÀÏÀ» »ý¼ºÇÏ°í ÆÄÀÏ¿¡ ÅؽºÆ®¸¦ ±â·ÏÇÑ´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; HANDLE hFile; DWORD dwWritten; LPCTSTR str=TEXT("Å×½ºÆ® ÆÄÀÏÀÔ´Ï´Ù"); switch(iMessage) { case WM_LBUTTONDOWN: hFile=CreateFile("c:\\TestFile.txt",GENERIC_WRITE,0,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); WriteFile(hFile,str,lstrlen(str),&dwWritten,NULL); CloseHandle(hFile); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } Cµå¶óÀ̺êÀÇ ·çÆ® µð·ºÅ丮¿¡ TestFile.txt ÆÄÀÏÀ» ¾²±â ¾×¼¼½º ±ÇÇÑÀ¸·Î »ý¼ºÇÏ¿´´Ù. CREATE_ALWAYS Ç÷¡±×¸¦ ÁÖ¾î ÆÄÀÏÀÌ ÀÖÀ» °æ¿ì »õ·Î ¸¸µç´Ù. ¿¹Á¦¸¦ ½ÇÇàÇÑ ÈÄ TestFile.txt ¸¦ È®ÀÎÇØ º¸¸é ¹®ÀÚ¿ÀÌ ±â·ÏµÇ¾î ÀÖÀ» °ÍÀÌ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Âü°íÇÔ¼ö |
ReadFile : ÆÄÀϷκÎÅÍ µ¥ÀÌÅ͸¦ Àд´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ç÷§Æû | 95ÀÌ»ó | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ÂüÁ¶ |
¾×¼¼½º ±ÇÇÑ¿¡ ´ëÇÑ »ó¼¼ÇÑ ³»¿ëÀº 39-2-»çÀýÀ» Âü°íÇϱ⠹ٶõ´Ù. |
written by http://www.winapi.co.kr
|