Dev/Windows

벤치마킹

- 1초동안 실행한 횟수 - 함수 Add : 두수 더하기 AddData : DB에 데이터 Insert - 절대적인 숫자의 크기는 의미없음 (상대적인 수치만 보기) COM+ 벤치마킹 서버 응용프로그램 클라이언트 언어 호출방법 Add AddData VC++ (MFC) ATL/C++, COM+ Custom 10277 381 ATL/C++, COM+ Dispatch 3838 346 C#, COM+ Dispatch 1521 373 C# (WinApp) C#, COM+ 1410 384 라이브러리 응용프로그램 클라이언트 언어 호출방법 Add AddData VC++ (MFC) ATL/C++, COM+ Custom 36757 67 ATL/C++, COM+ Dispatch 15895 65 C#, COM+ Dispatch ..

2007.10.17 게시됨

Dev/Windows

달라진 기능 (IIS 6.0)

출처 : http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ko/library/iis/7b037954-441d-4037-a111-94df7880c319.mspx?mfr=true 달라진 기능 (IIS 6.0) IIS 4.0, IIS 5.0, IIS 5.1 및 IIS 6.0의 기본 동작과 설정에는 몇 가지 중요한 차이점이 있습니다. 이 항목에서는 다음 정보를 설명합니다. • 핵심 기능 및 서비스 • 메타베이스 구성 • 관리 • 프로그래밍을 이용한 관리 • ASP(Active Server Pages) • ASP 정체 감지 • 보안 • 성능 • IIS 유틸리티 구성 요소 • 64비트 버전의 Windows Server 2003 제품군에서의 IIS 다음..

2007.09.28 게시됨

Dev/Windows

SQLOLEDB Provider 의 특이한 동작

SQLOLEDB의 경우 SQLOLEDB의 버그인지는 모르겠지만 Select 의 결과 뿐만 아니라 Print문 혹은 Update나 Delete 에 의한 영향받은 레코드의 개수가 각각 1개의 커서로 인식해 Recordset 이 생성됩니다. --************************************ ALTER Procedure Proc_Test As Print '123' -- (1) Update tbl Set a = 1 -- (2) Select 'Second' As Result -- (3) --************************************ 위의 프로시저의 경우 MSDASQL Provider로 실행된 결과는 레코드셋이 1개가 생성되고 (3)의 결과만 나타납니다. 허나 SQLOLED..

2007.09.20 게시됨

Dev/Windows

COM+ Queued Components

MSMQ를 이용해서 비동기로 컴포넌트를 호출방법 COM+ 컴포넌트 - 해당 컴포넌트는 [out] 파라미터가 없어한다 [out] 파라미터가 있으면 인터페이스 대기 속성이 disable 되어 있다 - COM+의 패키기의 대기화 속성에 "대기"가 체크되어야한다 당연히 MSMQ가 설치되어야 한다. - 수신처리하기 위해서는 "수신처리"를 체크하여 큐에 쌓인 내용을 처리함 - 해당 구성요소의 인터페이스 속성에서 대기화의 "대기"를 체크하여 인터페이스를 대기 시킨다 호출방법 - CoGetObject 함수를 이용해서 Queued Component의 인스턴스를 생성하여 사용한다. "queue:/new:QCom.Test" // C++ IUnknown *pUnknown; HRESULT hr = CoGetObject(L"qu..

2007.08.09 게시됨

Dev/Windows

DLL 파일 찾는 순서

1. The directory from which the application loaded. 2. The current directory. 3. The system directory. Use the GetSystemDirectory function to get the path of this directory. 4. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory. 5. The directories that are listed in the PATH environment variable. -- LoadLibrary혹은 DLL을 동적링크할때 특정경로에 관계없이 응용프로그램의 디렉토리에서 먼저..

2007.05.14 게시됨

Dev/Windows

DLL export

1. 첫번째 방법 __declspec(dllexport) 키워드를 사용한다. 이경우 calling convention이 "__cdecl" 이면 함수이름 그대로 export되지만 calling convention이 윈도우 표준인 "__stdcall" 이면 함수이름규칙이 변한다 [msdn] __stdcall Name-decoration convention An underscore (_) is prefixed to the name. The name is followed by the at sign (@) followed by the number of bytes (in decimal) in the argument list. Therefore, the function declared as int func( int ..

2007.05.14 게시됨

Dev/Windows

_beginthread, _beginthreadex

Create a thread. unsigned long _beginthread( void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist ); unsigned long _beginthreadex( void *security, unsigned stack_size, unsigned ( __stdcall *start_address )( void * ), void *arglist, unsigned initflag, unsigned *thrdaddr ); C-Run time 라이브러리를 지원하는 Thread 생성함수들이다. C-Run time 라이브러리를 지원한다는 뜻은 Thread내에서 C-Run time 함수를 사용했을경우 함수의..

2007.05.14 게시됨