Condividi tramite


Interfaccia SContainerDispatch

Passato a QueryService metodo per restituire un riferimento a interfaccia IDispatch.

Spazio dei nomi:  Microsoft.VisualStudio.OLE.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (in Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Sintassi

'Dichiarazione
<GuidAttribute("B722BE00-4E68-101B-A2BC-00AA00404770")> _
Public Interface SContainerDispatch
[GuidAttribute("B722BE00-4E68-101B-A2BC-00AA00404770")]
public interface SContainerDispatch

Note

interfaccia IDispatch viene implementato in qualsiasi controllo o package VS che supporta l'automazione.tuttavia, ottenere IDispatch interfaccia, è necessario eseguire una query sul controllo o il package VS per un provider di servizi e da chiedere al provider di servizi di ottenere IDispatch interfaccia da SContainerDispatch servizio.Vedere l'esempio relativo di questo tipo può eseguire.

Esempi

In questo esempio viene illustrato come ottenere interfaccia IDispatch da SContainerDispatch servizio.

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;
}

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.OLE.Interop