Udostępnij za pośrednictwem


Interfejs SContainerDispatch

Przekazany do QueryService metoda zwraca odwołanie do IDispatch Interface.

Przestrzeń nazw:  Microsoft.VisualStudio.OLE.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop.8.0 (w Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Składnia

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

Uwagi

IDispatch Interface Jest zaimplementowana dla dowolnego formantu lub VSPackage, który obsługuje automatyzację.Jednakże do uzyskania IDispatch interfejsu, należy wykonać kwerendę kontroli lub VSPackage usługodawca i poproś usługodawca, że uzyskanie IDispatch interfejsu z SContainerDispatch usługi.Zobacz przykład w jaki sposób można to zrobić.

Przykłady

Ten przykład pokazuje sposób uzyskiwania IDispatch Interface z SContainerDispatch usługi.

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

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.OLE.Interop