次の方法で共有


ウィンドウの自動化を提供する

ドキュメントとツールのウィンドウにオートメーションを提供できます。 ウィンドウでオートメーション オブジェクトを使用できるようにしたい一方で、環境で既製のオートメーション オブジェクトが提供されていない場合は、タスク リストを使用する場合と同様に、常にオートメーションを提供することをお勧めします。

ツール ウィンドウでのオートメーション

環境では、次の手順で説明するように、標準の Window オブジェクトを返すことによって、ツール ウィンドウにオートメーションが提供されます。

  1. 環境から、_VSFPROPID.VSFPROPID_ExtWindowObjectVSFPROPID パラメーターとして指定して GetProperty メソッドを呼び出し、Window オブジェクトを取得します。

  2. 呼び出し元が Object を通じてツール ウィンドウ用の VSPackage 固有のオートメーション オブジェクトを要求すると、環境では IExtensibleObjectIVsExtensibleObject、または IDispatch インターフェイスに対し QueryInterface が呼び出されます。 IExtensibleObjectIVsExtensibleObject の両方によって GetAutomationObject メソッドが提供されます。

  3. その後、環境で NULL を渡す GetAutomationObjectメソッドが呼び出されたら、VSPackage 固有のオブジェクトを渡して応答します。

  4. IExtensibleObject および IVsExtensibleObject に対する QueryInterface の呼び出しが失敗した場合、環境では IDispatch に対して QueryInterface が呼び出されます。

ドキュメント ウィンドウでのオートメーション

エディターでは、IExtensibleObject インターフェイスを実装して GetAutomationObject に応答することによって、Document オブジェクトの独自の実装を含めることができますが、標準の Document オブジェクトは環境からも使用できます。

また、エディターでは、IVsExtensibleObject または IExtensibleObject インターフェイスを実装することによって、Object メソッドを通じて取得される VSPackage 固有のオートメーション オブジェクトを提供でき ます。 VSSDK サンプルは、RTF ドキュメント固有のオートメーション オブジェクトの提供に役立っています。