달력

092018  이전 다음

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
  •  
  •  
  •  
  •  


MSSQL을 이용하여 ADO를 래핑하여 특정 DB를 위한 라이브러리 클래스들을 만들어 작업하고 있다.

그 와중에 내부적으론 ADO를 사용하므로 각 객체들의 인수라던지 함수, 프러퍼티 등을 사용하게 되는데

아래 링크에 잘 정리된 내용이 있어서 링크를 걸어둔다.

책이나 MSDN에서 시키는데로 했다가 내용을 알게 되니 상황에 맞게 객체들을 변형시켜 사용할 수 있을 듯 하다.

http://cafe.naver.com/xmastx.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=42

'Programming > MFC' 카테고리의 다른 글

ADO 객체 정리  (0) 2008.11.12
버그 트랩  (0) 2008.04.02
Tape 백업 장치 제어 관련 라이브러리  (0) 2008.01.04
[스크랩] IP Helper API를 사용해서 Ethernet Card 정보 알아내기  (0) 2007.04.13
Posted by 알이씨

버그 트랩

Programming/MFC 2008.04.02 18:22


오 좋은 라이브러리 하나 발견했다.

버그 트랩이라는 넘인데... 버그가 생기면 알아서 서버를 통해 알려준댄다.

프로그램 릴리즈 한 후에 사용하면 좋을 듯...

http://www.intellesoft.net/bugtrap1.shtml

'Programming > MFC' 카테고리의 다른 글

ADO 객체 정리  (0) 2008.11.12
버그 트랩  (0) 2008.04.02
Tape 백업 장치 제어 관련 라이브러리  (0) 2008.01.04
[스크랩] IP Helper API를 사용해서 Ethernet Card 정보 알아내기  (0) 2007.04.13
Posted by 알이씨


테이프 장치에 대한 정보를 얻어와야 하는 일이 생겼다.

다음 링크를 정독하고 이 아티클을 완성시키도록 하자.

http://msdn2.microsoft.com/en-us/library/aa362558(VS.85).aspx


========================================================================
테이프 장치에 대한 정보 및 제어

아래와 같이 하면 장치 정보와 카트리지(미디어) 정보를 얻을 수 있다.

물론 관련 함수를 쓰면 쓰고 읽기 까지 가능하다.

필자는 미디어 정보만 얻어오고 쓰고 읽는 것은 DBMS에게 맡기므로 넘어가도록 한다.
(테이프 읽고 쓰기 프로그램을 만드시는 분은 MSDN에서 아래 함수나 구조체 중 하나로 찾으면 나옵니다.)

HANDLE hTape;   // handle to tape device
 DWORD nResult;

 TAPE_GET_MEDIA_PARAMETERS tapeMediaInfo;
 TAPE_GET_DRIVE_PARAMETERS tapeDriveInfo;
 
 hTape = CreateFile(TEXT("\\\\.\\TAPE0"),         // tape dev to open
        GENERIC_READ | GENERIC_WRITE, // read/write access
        0,                            // not used
        0,                            // not used
        OPEN_EXISTING,                // req for tape devs
        0,                            // not used
        NULL);                        // not used

 //nResult = PrepareTape(hTape, 1, FALSE);

 DWORD size;
 /*
 ERROR_BEGINNING_OF_MEDIA
 1102L
  An attempt to access data before the beginning-of-medium marker failed.
 
 ERROR_BUS_RESET
 1111L
  A reset condition was detected on the bus.
 
 ERROR_DEVICE_NOT_PARTITIONED
 1107L
  The partition information could not be found when a tape was being loaded.
 
 ERROR_END_OF_MEDIA
 1100L
  The end-of-tape marker was reached during an operation.
 
 ERROR_FILEMARK_DETECTED
 1101L
  A filemark was reached during an operation.
 
 ERROR_INVALID_BLOCK_LENGTH
 1106L
  The block size is incorrect on a new tape in a multivolume partition.
 
 ERROR_MEDIA_CHANGED
 1110L
  The tape that was in the drive has been replaced or removed.
 
 ERROR_NO_DATA_DETECTED
 1104L
  The end-of-data marker was reached during an operation.
 
 ERROR_NO_MEDIA_IN_DRIVE
 1112L
  There is no media in the drive.
 
 ERROR_NOT_SUPPORTED
 50L
  The tape driver does not support a requested function.
 
 ERROR_PARTITION_FAILURE
 1105L
  The tape could not be partitioned.
 
 ERROR_SETMARK_DETECTED
 1103L
  A setmark was reached during an operation.
 
 ERROR_UNABLE_TO_LOCK_MEDIA
 1108L
  An attempt to lock the ejection mechanism failed.
 
 ERROR_UNABLE_TO_UNLOAD_MEDIA
 1109L
  An attempt to unload the tape failed.
 
 ERROR_WRITE_PROTECT
 19L
  The media is write protected 
 
 ERROR_DEVICE_REINITIALIZATION_NEEDED
 1164L
  The indicated device requires reinitialization due to hardware errors.

 ERROR_DEVICE_REQUIRES_CLEANING  
 1165L

 ERROR_DEVICE_NOT_CONNECTED      
 1167L
 */
 nResult = GetTapeParameters(hTape, GET_TAPE_MEDIA_INFORMATION, &size, (LPVOID)&tapeMediaInfo);
 nResult = GetTapeParameters(hTape, GET_TAPE_DRIVE_INFORMATION, &size, (LPVOID)&tapeDriveInfo);



생각보다 쉬웠다. 이넘땜에 WMI까지 해봤는데

결국 기본 라이브러리에 포함되어 있다니.. OTL

'Programming > MFC' 카테고리의 다른 글

ADO 객체 정리  (0) 2008.11.12
버그 트랩  (0) 2008.04.02
Tape 백업 장치 제어 관련 라이브러리  (0) 2008.01.04
[스크랩] IP Helper API를 사용해서 Ethernet Card 정보 알아내기  (0) 2007.04.13
Posted by 알이씨


최근 프로젝트에서 로컬 PC에 있는 이더넷 정보를 읽어와서 IP를 강제로 변경해줘야하는 프로젝트가 있었다. 웹 검색 중 유용한 글이 있어 스크랩하였다.
출처는 제일 마지막 줄에 있다.

=================================================================
IP Helper API를 사용해서 Ethernet Card 정보 알아내기

1. Flatform SDK 설치


 IP Helper API를 사용하기 위해서는 플랫폼 SDK가 설치되어 있어야 합니다.  

  http://www.microsoft.com/downloads/deta ··· ang%3Den  에서 다운받을수 있다.

2. MSDN URL [IP Helper API]

 아래 링크에서 간단한 예제 프로그램의 소스 코드를 보실수 있습니다.

http://msdn.microsoft.com/library/defau ··· code.asp 

3. Visual Studio 설정

 비주얼 스튜디오 6.0의 경우 Tools -> Options -> Directoris 에 가셔서
  Include Files의 경로에 C:PROGRAM FILESMICROSOFT FLATFORM SDKINCLUDE 를 추가하고
  Library Files의 경로에 C:PROGRAM FILESMICROSOFT FLATFORM SDKLIB 를 추가한다.

 Project -> Setting -> Link에 Iphlpapi.lib 추가하거나..
 실제 사용하는 소스코드에
  #pragma comment(lib,"Iphlpapi.lib") 추가

4. 컴파일 도중 MIB_ICMP_EX" : undeclared identifier 에러가 발생할 경우

   C:PROGRAM FILESMicrosoft Visualstudio/VC98/Unclude에 있는 iprtrmib.h 파일을 지우고,
   C:PROGRAM FILESMICROSOFT FLATFORM SDKInclude에 있는 iprtrmib.h 파일을 대신 넣으세요.

-----------------
※ 본 게시물은 스크랩할시에는 아래의 정보를 표시해주시기를 부탁드립니다.
제작 : RainyNova(rainynova@gmail.com) 2005/05/21
원본 : http://www.codedream.net/tt/171  

'Programming > MFC' 카테고리의 다른 글

ADO 객체 정리  (0) 2008.11.12
버그 트랩  (0) 2008.04.02
Tape 백업 장치 제어 관련 라이브러리  (0) 2008.01.04
[스크랩] IP Helper API를 사용해서 Ethernet Card 정보 알아내기  (0) 2007.04.13
Posted by 알이씨

티스토리 툴바