다음을 통해 공유


마법사 인터페이스(IDTWizard)

IDE(통합 개발 환경)는 IDTWizard 인터페이스를 사용하여 마법사와 통신합니다. 마법사를 IDE에 설치하려면 이 인터페이스를 구현해야 합니다.

Execute 메서드는 IDTWizard 인터페이스와 연결된 유일한 메서드입니다. 마법사는 이 메서드를 구현하고 IDE는 인터페이스에서 메서드를 호출합니다. 다음 예제는 메서드의 서명을 보여 줍니다.

/* IDTWizard Method */
STDMETHOD(Execute)(THIS_
   /* [in] */ IDispatch *Application,
   /* [in] */ long hwndOwner,
   /* [in] */ SAFEARRAY * *ContextParams,
   /* [in] */ SAFEARRAY * *CustomParams,
   /* [out] [in] */ wizardResult *RetVal
   );

시작 메커니즘은 새 프로젝트새 항목 추가 마법사 모두에서 유사합니다. 둘 중 하나를 시작하려면 Dteinternal.h에 정의된 IDTWizard 인터페이스를 호출합니다. 유일한 차이점은 인터페이스가 호출될 때 인터페이스에 전달되는 컨텍스트 및 사용자 지정 매개 변수 집합입니다.

다음 정보는 Visual Studio IDE에서 작동하기 위해 마법사가 구현해야 하는 IDTWizard 인터페이스에 대해 설명합니다. IDE는 마법사에서 Execute 메서드를 호출하여 다음을 전달합니다.

  • DTE 개체

    DTE 개체는 자동화 모델의 루트입니다.

  • 코드 세그먼트 hwndOwner ([in] long)에 표시된 것처럼 창 대화 상자에 대한 핸들입니다.

    마법사는 이 hwndOwner를 마법사 대화 상자의 부모 항목으로 사용합니다.

  • 코드 세그먼트 [in] SAFEARRAY (VARIANT)* ContextParams에 표시된 것처럼 SAFEARRAY의 변형으로 인터페이스에 전달된 컨텍스트 매개 변수입니다.

    컨텍스트 매개 변수에는 시작 중인 마법사의 종류 및 프로젝트의 현재 상태와 관련된 값 배열이 포함됩니다. IDE는 컨텍스트 매개 변수를 마법사에 전달합니다. 자세한 내용은 컨텍스트 매개 변수를 참조하세요.

  • 코드 세그먼트 [in] SAFEARRAY (VARIANT)* CustomParams에 표시된 대로 SAFEARRAY의 변형으로 인터페이스에 전달된 사용자 정의 매개 변수입니다.

    사용자 지정 매개 변수에는 사용자 정의 매개 변수의 배열이 포함되어 있습니다. .vsz 파일은 사용자 지정 매개 변수를 IDE에 전달합니다. 값은 Param= 문에 의해 결정됩니다. 자세한 내용은 사용자 지정 매개 변수를 참조하세요.

  • 인터페이스의 반환 값은 다음과 같습니다.

    wizardResultSuccess = -1,
    wizardResultFailure = 0
    wizardResultCancel = 1
    wizardResultBackout = 2
    

참고 항목