SContainerDispatch, interface
Passé à la méthode d'QueryService retourner une référence à IDispatch Interface.
Espace de noms : Microsoft.VisualStudio.OLE.Interop
Assembly : Microsoft.VisualStudio.Shell.Interop.8.0 (dans Microsoft.VisualStudio.Shell.Interop.8.0.dll)
Syntaxe
'Déclaration
<GuidAttribute("B722BE00-4E68-101B-A2BC-00AA00404770")> _
Public Interface SContainerDispatch
[GuidAttribute("B722BE00-4E68-101B-A2BC-00AA00404770")]
public interface SContainerDispatch
Remarques
IDispatch Interface est implémenté sur tout contrôle ou VSPackage qui prend en charge l'automation.Toutefois, pour obtenir l'interface d'IDispatch, il est nécessaire d'interroger le contrôle ou le VSPackage pour un fournisseur de services et de demander à que fournisseur de services pour obtenir l'interface d'IDispatch du service d'SContainerDispatch.Voyez l'exemple de la façon dont cette opération peut être effectuée.
Exemples
Cet exemple montre comment obtenir IDispatch Interface du service d'SContainerDispatch.
IDispatch GetDispatchInterface(object pUnknown)
{
IDispatch pDispatchInterface = null;
if (null != pUnknown)
{
Microsoft.VisualStudio.OLE.Interop.IServiceProvider pServiceProvider;
pServiceProvider = pUnknown as Microsoft.VisualStudio.OLE.Interop.IServiceProvider;
if (null != pServiceProvider)
{
Guid serviceGuid = typeof(SContainerDispatch).GUID;
Guid interfaceGuid = typeof(IDispatch).GUID;
IntPtr pInterface = IntPtr.Zero;
int hr = pServiceProvider.QueryService(ref serviceGuid,
ref interfaceGuid,
out pInterface);
if (Microsoft.VisualStudio.ErrorHandler.Succeeded(hr))
{
pDispatchInterface = Marshal.GetObjectForIUnknown(pInterface)
as IDispatch;
}
}
}
return pDispatchInterface;
}