SQL Server 2000 데스크톱 엔진 콜백 함수 및 예제 구현하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 315463 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 SQL Server 2000 데스크톱 엔진 (MSDE 2000) 설치 중에 콜백 함수를 구현하는 방법을 설명하고 또한 콜백 함수를 제대로 실행되는 확인하십시오 위해 충족되어야 하는 모든 조건을 설명합니다.

SQL Server 2000 데스크톱 엔진 (MSDE 2000) Microsoft SQL Server 2000 관계형 데이터베이스 엔진의 재배포 가능한 버전입니다. SQL Server 관계형 데이터베이스 엔진은 응용 프로그램 설치 프로세스의 일부로 엔진을 설치하는 데 사용하는 응용 프로그램이 있습니다.

MSDE 2000 설치 패키지를 진행 또는 설치 중에 사용자 지정 작업을 수행할 콜백 함수를 사용할 수 있습니다.

콜백 함수 사용 조건

콜백 함수가 정상적으로 실행하려면 다음 조건은 만족해야 합니다.
  • Windows Installer 사용자 지정 동작 유형 1 동적 연결 라이브러리 (DLL로) 콜백 함수를 구현해야 합니다. 예를 들어, Microsoft Visual C++ 확장 저장 프로시저 마법사 콜백 DLL을 만들 수 있습니다.

    Windows Installer 라이브러리 형식에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
    http://msdn.microsoft.com/library/en-us/msi/cact_6a05.asp?frame=true
  • 콜백 함수는 다음 폴더 중 하나가 있어야 합니다.
    • 반환되는 폴더 GetTempPath Win32 호출.
    • 반환되는 폴더에서 있는지 {Product code} 폴더 GetTempPath Win32 호출.

      참고 {Product code} 컴퓨터에 설치된 MSDE 2000 인스턴스의 제품 코드 자리 표시자입니다.
    반환되는 폴더를 일반적으로 %TMP 환경 변수에 의해 GetTempPath Win32 호출입니다. %TMP 환경 변수를 사용할 수 없는 경우, % TEMP % 환경 변수가 있습니다.

    GetTempPath Win32 함수에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
    http://msdn.microsoft.com/library/en-us/fileio/base/gettemppath.asp

  • 데스크톱 엔진의 콜백 함수를 사용하여 데스크톱 엔진을 종료 코드를 포함하는 추가 UINT 매개 변수를 취할 또는 반환 코드 합니다. 콜백 함수의 정의를 위해
    UINT __stdcall MyCallbackFunction(MSIHANDLE hinstall, UINT uExitCode)
    						
    uExitCode 데스크톱 엔진을 설치하는 들어 있는 종료 코드, 또는 코드를 반환합니다.

샘플 단계 및 코드 콜백 함수 구현

다음 단계에서는 Visual Studio 6.0 사용하여 예제 콜백 함수 구현을 설명합니다.

  1. Microsoft Visual C++ 6.0 IDE에서, 파일 을 클릭한 다음 새로 만들기 를 클릭하십시오. 프로젝트 탭에서 확장 저장 프로시저 마법사를 클릭하십시오.
  2. 프로젝트 이름을 지정하십시오. 예를 들어, MyCallback. 프로젝트를 만들 위치를 지정할 수도 있습니다. 확인 을 클릭하십시오.
  3. 콜백 함수 이름을 지정하십시오. 예를 들어, MyCallbackFunction. 참고 예제에서는 콜백 DLL을 만들려면 확장 저장 프로시저 마법사를 사용합니다. 마법사가 "XP_" 로 시작하는 이름을 지정하는 것이 좋습니다. 그러나 권장 사항을 무시할 수 있고 선택한 콜백 함수 이름을 지정할 수 있습니다. 마침 을 클릭하십시오.
  4. 이 클래스와 필요한 cpp 파일을 만듭니다. 작업 영역 창에서 이 프로젝트 작업 영역을 볼 수 있습니다. 클래스 선택하고 MyCallback 클래스 트리에서 Globals 폴더를 확장하십시오. 문제가 MyCallbackFunction 함수의 정의를 볼 수 있습니다.

    콜백 함수에 대한 샘플 코드가 다음 예제 코드 를 제목 됩니다. MyCallbackFunction 함수에 다음 코드를 복사하여 프로젝트를 테스트할 수 있습니다.

    예제 코드

    #include <stdafx.h>
    
    #define XP_NOERROR 0
    #define XP_ERROR 1
    #define MAXCOLNAME 25
    #define MAXNAME 25
    #define MAXTEXT 255
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    UINT __declspec(dllexport) MyCallbackFunction(HANDLE hinstall, UINT uExitCode);
    
    #ifdef __cplusplus
    }
    #endif
    
    UINT __declspec(dllexport) MyCallbackFunction(HANDLE hinstall, UINT uExitCode)
    {
    
         TCHAR buffer[1024];
    
         wsprintf(buffer, TEXT("**Callback** Return code is %d"), uExitCode);
    
         MessageBox(NULL, buffer, TEXT("MyCallbackFunction Dialog"), MB_OK);
    
         return 0;
    }
    					
    이 콜백 함수는 샘플 모든 호출에서 이 텍스트 메시지 상자에 표시합니다:
    **Callback** Return code is 0
    					
  5. 빌드 메뉴에서 사용하여 MyCallback.dll 파일을 빌드하십시오. DLL은 빌드하고 디버그, 2단계에서 지정한 같은 위치가 라는 하위 폴더에 저장됩니다.
  6. DLL을 빌드한 후에 DLL을 컴퓨터에 설치된 MSDE 2000 버전에 따라 위치에 복사해야 합니다.
    • Microsoft SQL Server 2000 데스크톱 엔진 SP2 사용하는 경우 DLL 다음 환경 변수 중 하나가 정의된 위치에 복사해야 합니다.
      • TMP %
      • %.
      환경 변수 값을 현재 로그온되어 있는 사용자의 특정 컴퓨터의 얻으려면 명령 프롬프트에 다음 명령을 입력하십시오.
      SET
      이 명령은 TEMPTMP 포함하여 모든 환경 변수가 표시됩니다.
    • Microsoft SQL Server 2000 데스크톱 엔진 SP3a를 사용하는 경우 DLL을 다음 위치 중 하나를 복사해야 합니다.
      • %TMP%\ {Product code}
      • %TEMP%\ {Product code}
      참고{Product code} 컴퓨터에 설치된 MSDE 2000 인스턴스의 제품 코드 자리 표시자입니다.

      예를 들어, E09B48B5-E141-427A-AB0C-D3605127224A 제품 코드의 MSDE 2000 인스턴스가 있는 경우 DLL에 복사해야 합니다, TMP%\{E09B48B5-E141-427A-AB0C-D3605127224A %} 또는 TEMP%\{E09B48B5-E141-427A-AB0C-D3605127224A %} 폴더.
  7. 데스크톱 엔진 Windows Installer 콜백 옵션을 사용하여 설치 중에 콜백 함수를 호출합니다. 예를 들어,:
    CALLBACK=Dllname!CallbackFunctionName
    구문은 이 예:
    setup.exe /L*v c:\msde_setup.log CALLBACK=MyCallback!MyCallbackFunction
    					

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
299795Microsoft Visual Studio Installer 1.1 MSDE 2000 설치 패키지를 작성하는 방법


Windows Installer SDK 중 해당 Microsoft 플랫폼 소프트웨어 개발 키트 (SDK) 부분입니다. Platform SDK에 [NULL]에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
SQL Server 2000 온라인, 항목: "SQL Server 응용 프로그램 빌드", "SQL Server 응용 배포", "배포 SQL Server 함께 응용"; "데스크톱 엔진 Windows Installer 반환 코드", "데스크톱 엔진 Windows Installer 콜백 함수"

속성

기술 자료: 315463 - 마지막 검토: 2014년 2월 3일 월요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
키워드:?
kbnosurvey kbarchive kbmt kbhowtomaster KB315463 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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