ReadFile

¿øÇü

BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);

MFC ¿øÇü

ÇØ´çÇÏ´Â ÇÔ¼ö ¾øÀ½

Àμö

¢ºhFile : ÀаíÀÚ ÇÏ´Â ÆÄÀÏÀÇ ÇÚµé. ÀÌ ÆÄÀÏÀº GENERIC_READ ¾×¼¼½º ±ÇÇÑÀ¸·Î ¿­¾î¾ß ÇÑ´Ù.

¢ºlpBuffer : Àд µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¹öÆÛÀÇ Æ÷ÀÎÅÍ, ÃæºÐÇÑ ±æÀ̸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.

¢ºnNumberOfBytesToRead : ÀаíÀÚ ÇÏ´Â ¹ÙÀÌÆ® ¼ö

¢ºlpNumberOfBytesRead : ½ÇÁ¦·Î ÀÐÀº ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅϹޱâ À§ÇÑ Ãâ·Â¿ë Àμö. ReadFileÀº È£Ãâ Áï½Ã ÀÌ °ªÀ» 0À¸·Î ¸¸µç´Ù. ºñµ¿±â ÀÔÃâ·ÂÀ» ÇÏÁö ¾ÊÀ» °æ¿ì ÀÌ Àμö´Â NULL·Î ÁÙ ¼ö ¾øÀ¸¸ç ¹Ýµå½Ã DWORDÇü º¯¼ö¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ Á¦°øÇØ¾ß ÇÑ´Ù.

¢ºlpOverlapped : ºñµ¿±â ÀÔÃâ·ÂÀ» À§ÇÑ OVERLAPPED ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ. ÆÄÀÏÀ» FILE_FLAG_OVERLAPPED Ç÷¡±×·Î ¿­¾úÀ¸¸é ÀÌ ±¸Á¶Ã¼¸¦ ¹Ýµå½Ã Á¦°øÇØ¾ß ÇÑ´Ù. ºñµ¿±â ÀÔÃâ·ÂÀ» »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì NULLÀ» ÁÖ¸é µÈ´Ù.

¸®ÅÏ

¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù. ¸¸¾à ¸®ÅÏ°ªÀÌ 0ÀÌ ¾Æ´Ñµ¥ ½ÇÁ¦ ÀÐÀº ¹ÙÀÌÆ®°¡ 0À̶ó¸é ÆÄÀÏ Æ÷ÀÎÅÍ°¡ ³¡ºÎºÐ(EOF)ÀÎ °ÍÀÌ´Ù. ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù.

¼³¸í

ÆÄÀϷκÎÅÍ µ¥ÀÌÅ͸¦ Àд´Ù. ÁÖ·Î µ¿±âÀûÀÎ ÀԷ¿¡ »ç¿ëÇϹǷΠµ¥ÀÌÅ͸¦ ¿ÏÀüÈ÷ Àбâ Àü¿¡´Â ¸®ÅÏÇÏÁö ¾Ê´Â´Ù. ºñµ¿±â ÀԷ¿¡ »ç¿ëÇÒ °æ¿ì´Â Áï½Ã ¸®ÅÏÇÑ´Ù. ÆÄÀÏ Æ÷ÀÎÅÍ À§Ä¡¿¡¼­ºÎÅÍ µ¥ÀÌÅ͸¦ ÀÐÀ¸¸ç ´Ù ÀÐÀº ÈÄ ½ÇÁ¦ ÀÐÀº ¹ÙÀÌÆ® ¼ö¸¸Å­ ÆÄÀÏ Æ÷ÀÎÅ͸¦ À̵¿½ÃÄÑ ÁØ´Ù. ´Ü, ºñµ¿±â ÀÔÃâ·ÂÁßÀÏ ¶§´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÆÄÀÏ Æ÷ÀÎÅ͸¦ Á÷Á¢ À̵¿½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù.

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â Cµå¶óÀ̺êÀÇ ·çÆ® Æú´õ¿¡ ÀÖ´Â boot.ini ÆÄÀÏÀ» ÀÐ¾î ¸Þ½ÃÁö ¹Ú½º·Î º¸¿©ÁØ´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HANDLE hFile;
	TCHAR buf[32000]={0,};
	DWORD dwRead;

	switch(iMessage) {
	case WM_CREATE:
		return 0;
	case WM_LBUTTONDOWN:
		hFile=CreateFile("c:\\boot.ini",GENERIC_READ,0,NULL,
			OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
		if (hFile!=INVALID_HANDLE_VALUE) {
			ReadFile(hFile,buf,1024,&dwRead,NULL);
			CloseHandle(hFile);
			MessageBox(hWnd,buf,"ÀÐÀº °á°ú",MB_OK);
		}
		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));
}

Âü°íÇÔ¼ö

CreateFile, WriteFile

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr