방법: windows에 대 한 자동화 제공How to: Provide automation for windows

문서 및 도구 창에 대 한 자동화를 제공할 수 있습니다.You can provide automation for document and tool windows. 자동화를 제공 하는 것은 창에서 자동화 개체를 사용할 수 있도록 하 고 환경에서 작업 목록과 같이 미리 만들어진 자동화 개체를 아직 제공 하지 않을 때마다 사용 하는 것이 좋습니다.Providing automation is advisable whenever you want to make automation objects available on a window, and the environment does not already provide a ready-made automation object, as it does with a task list.

도구 창에 대 한 자동화Automation for tool windows

환경에서는 Window 다음 절차에 설명 된 대로 표준 개체를 반환 하 여 도구 창에 대 한 자동화를 제공 합니다.The environment provides automation on a tool window by returning a standard Window object as explained in the following procedure:

  1. GetProperty__VSFPROPID를 사용 하 여 환경을 통해 메서드를 호출 합니다. 개체를 VSFPROPID 가져오는 매개 변수로 VSFPROPID_ExtWindowObject Window .Call the GetProperty method via the environment with __VSFPROPID.VSFPROPID_ExtWindowObject as VSFPROPID parameter to get the Window object.

  2. 호출자가를 통해 도구 창에 대 한 VSPackage automation 개체를 요청 하면 Object 환경에서 QueryInterface IExtensibleObject , IVsExtensibleObject 또는 인터페이스를 호출 합니다 IDispatch .When a caller requests a VSPackage-specific automation object for your tool window through Object, the environment calls QueryInterface for IExtensibleObject, IVsExtensibleObject, or the IDispatch interfaces. IExtensibleObjectIVsExtensibleObject 는 모두 메서드를 제공 GetAutomationObject 합니다.Both IExtensibleObject and IVsExtensibleObject provide a GetAutomationObject method.

  3. 그러면 환경에서 전달 하는 메서드를 호출할 때 GetAutomationObject NULL VSPackage 관련 개체를 다시 전달 하 여 응답 합니다.When the environment then calls the GetAutomationObject method passing NULL, respond by passing back your VSPackage-specific object.

  4. QueryInterface및에 대 한 호출이 IExtensibleObject IVsExtensibleObject 실패 하면 환경에서 QueryInterface 를 호출 IDispatch 합니다.If calling QueryInterface for IExtensibleObject and IVsExtensibleObject fails, then the environment calls QueryInterface for IDispatch.

문서 창에 대 한 자동화Automation for document windows

Document편집기는 Document 인터페이스를 구현 하 IExtensibleObject 고에 응답 하 여 개체의 고유한 구현을 가질 수 있지만 환경 에서도 표준 개체를 사용할 수 있습니다 GetAutomationObject .A standard Document object is also available from the environment, although an editor can have its own implementation of the Document object by implementing IExtensibleObject interface and responding to GetAutomationObject.

또한 편집기는 Object 또는 인터페이스를 구현 하 여 메서드를 통해 검색 되는 VSPackage 특정 자동화 개체를 제공할 수 IVsExtensibleObject 있습니다 IExtensibleObject .In addition, an editor can provide a VSPackage-specific automation object, retrieved through the Object method, by implementing the IVsExtensibleObject or IExtensibleObject interfaces. 고가 중 진한 샘플 은 RTF 문서 관련 자동화 개체를 제공 합니다.The VSSDK samples contributes an RTF document-specific automation object.

참고 항목See also