Exemple #1
0
STDMETHODIMP VLCControl2::GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames,
        UINT cNames, LCID lcid, DISPID* rgDispID)
{
    if( SUCCEEDED(loadTypeInfo()) )
    {
        return DispGetIDsOfNames(_p_typeinfo, rgszNames, cNames, rgDispID);
    }
    return E_NOTIMPL;
};
Exemple #2
0
/******************************************************************************
 * IDispatch_GetIDsOfNames {OLEAUT32}
 *
 * Convert a methods name and an optional set of parameter names into DISPIDs
 * for passing to IDispatch_Invoke().
 *
 * PARAMS
 *  iface     [I] IDispatch interface
 *  riid      [I] Reserved, set to IID_NULL
 *  rgszNames [I] Name to convert
 *  cNames    [I] Number of names in rgszNames
 *  lcid      [I] Locale of the type information to convert from
 *  rgDispId  [O] Destination for converted DISPIDs.
 *
 * RETURNS
 *  Success: S_OK.
 *  Failure: DISP_E_UNKNOWNNAME, if any of the names is invalid.
 *           DISP_E_UNKNOWNLCID if lcid is invalid.
 *           Otherwise, an HRESULT error code.
 *
 * NOTES
 *  This call defers to ITypeInfo_GetIDsOfNames(), using the ITypeInfo object
 *  contained within the IDispatch object.
 *  The first member of the names list must be a method name. The names following
 *  the method name are the parameters for that method.
 */
static HRESULT WINAPI StdDispatch_GetIDsOfNames(LPDISPATCH iface, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId)
{
    StdDispatch *This = impl_from_IDispatch(iface);
    TRACE("(%s, %p, %d, 0x%x, %p)\n", debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);

    if (!IsEqualGUID(riid, &IID_NULL))
    {
        FIXME(" expected riid == IID_NULL\n");
        return E_INVALIDARG;
    }
    return DispGetIDsOfNames(This->pTypeInfo, rgszNames, cNames, rgDispId);
}
STDMETHODIMP 
HippoChatControl::GetIDsOfNames (REFIID    riid,
                                 LPOLESTR *rgszNames,
                                 UINT      cNames,
                                 LCID      lcid,
                                 DISPID   *rgDispId)
 {
    if (!ifaceTypeInfo_)
         return E_OUTOFMEMORY;

    return DispGetIDsOfNames(ifaceTypeInfo_, rgszNames, cNames, rgDispId);
 }
Exemple #4
0
// MzObj's GetIDsOfNames()
static ULONG STDMETHODCALLTYPE GetIDsOfNames(IMzObj *com_obj, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid)
{
  if (!MyTypeInfo)
    {
      register HRESULT	hr;

      if ((hr = loadMyTypeInfo())) return(hr);
    }
	
  // Let OLE32.DLL's DispGetIDsOfNames() do all the real work of using our type
  // library to look up the DISPID of the requested function in our object
  return(DispGetIDsOfNames(MyTypeInfo, rgszNames, cNames, rgdispid));
}
Exemple #5
0
HRESULT __stdcall Sorter::GetIDsOfNames( REFIID riid, LPOLESTR * rgszNames,
									      UINT cNames, LCID lcid, 
									      DISPID * pdispID
									    )
{
	if( !Sorter::pITypeInfo )
	{
		HRESULT hr = Sorter::loadITypeInfo();
		if( !SUCCEEDED(hr) ) return hr;
	}

	return DispGetIDsOfNames( Sorter::pITypeInfo, rgszNames, cNames, pdispID );
}
STDMETHODIMP 
HippoMenu::GetIDsOfNames (REFIID    riid,
                            LPOLESTR *rgszNames,
                            UINT      cNames,
                            LCID      lcid,
                            DISPID   *rgDispId)
{
    HRESULT ret;
    if (!ifaceTypeInfo_) 
        return E_OUTOFMEMORY;
    
    ret = DispGetIDsOfNames(ifaceTypeInfo_, rgszNames, cNames, rgDispId);
    return ret;
}
Exemple #7
0
STDMETHODIMP CJServer::GetIDsOfNames(REFIID riid
                                     , OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgDispID)
{
  HRESULT     hr;
  ITypeInfo  *pTI;

  if (IID_NULL!=riid)
    return ResultFromScode(DISP_E_UNKNOWNINTERFACE);

  //Get the right ITypeInfo for lcid.
  hr=GetTypeInfo(0, lcid, &pTI);
  if (SUCCEEDED(hr)) {
    hr=DispGetIDsOfNames(pTI, rgszNames, cNames, rgDispID);
    pTI->Release();
  }
  return hr;
}
STDMETHODIMP CoFoldersMonitor::GetIDsOfNames(REFIID riid, 
											 LPOLESTR* rgszNames, UINT cNames,
											 LCID lcid, DISPID* rgdispid)
{
	return DispGetIDsOfNames(m_typeInfo, rgszNames, cNames, rgdispid);
}
HRESULT __stdcall CoCOMServer::GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames, UINT cNames,
		LCID lcid, DISPID* rgdispid)
{
	return DispGetIDsOfNames(m_ptinfo, rgszNames, cNames, rgdispid);
}
Exemple #10
0
HRESULT __stdcall GitWCRev::GetIDsOfNames(REFIID /*riid*/, LPOLESTR* rgszNames, UINT cNames, LCID /*lcid*/, DISPID* rgdispid)
{
	return DispGetIDsOfNames(m_ptinfo, rgszNames, cNames, rgdispid);
}