示例#1
0
文件: atl_ax.c 项目: Fredz66/wine
static HRESULT IOCS_QueryInterface(IOCS *This, REFIID riid, void **ppv)
{
    *ppv = NULL;

    if ( IsEqualIID( &IID_IUnknown, riid )
      || IsEqualIID( &IID_IOleClientSite, riid ) )
    {
        *ppv = &This->IOleClientSite_iface;
    } else if ( IsEqualIID( &IID_IOleContainer, riid ) )
    {
        *ppv = &This->IOleContainer_iface;
    } else if ( IsEqualIID( &IID_IOleInPlaceSite, riid ) || IsEqualIID( &IID_IOleInPlaceSiteEx, riid ) || IsEqualIID( &IID_IOleInPlaceSiteWindowless, riid ) )
    {
        *ppv = &This->IOleInPlaceSiteWindowless_iface;
    } else if ( IsEqualIID( &IID_IOleInPlaceFrame, riid ) )
    {
        *ppv = &This->IOleInPlaceFrame_iface;
    } else if ( IsEqualIID( &IID_IOleControlSite, riid ) )
    {
        *ppv = &This->IOleControlSite_iface;
    }

    if (*ppv)
    {
        IOCS_AddRef( This );
        return S_OK;
    }

    WARN("unsupported interface %s\n", debugstr_guid( riid ) );
    *ppv = NULL;
    return E_NOINTERFACE;
}
示例#2
0
文件: atl_ax.c 项目: devyn/wine
static HRESULT IOCS_QueryInterface(IOCS *This, REFIID riid, void **ppv)
{
    *ppv = NULL;

    if ( IsEqualIID( &IID_IUnknown, riid )
      || IsEqualIID( &IID_IOleClientSite, riid ) )
    {
        *ppv = THIS2IOLECLIENTSITE(This);
    } else if ( IsEqualIID( &IID_IOleContainer, riid ) )
    {
        *ppv = THIS2IOLECONTAINER(This);
    } else if ( IsEqualIID( &IID_IOleInPlaceSite, riid ) || IsEqualIID( &IID_IOleInPlaceSiteEx, riid ) || IsEqualIID( &IID_IOleInPlaceSiteWindowless, riid ) )
    {
        *ppv = THIS2IOLEINPLACESITEWINDOWLESS(This);
    } else if ( IsEqualIID( &IID_IOleInPlaceFrame, riid ) )
    {
        *ppv = THIS2IOLEINPLACEFRAME(This);
    } else if ( IsEqualIID( &IID_IOleControlSite, riid ) )
    {
        *ppv = THIS2IOLECONTROLSITE(This);
    }

    if (*ppv)
    {
        IOCS_AddRef( This );
        return S_OK;
    }

    WARN("unsupported interface %s\n", debugstr_guid( riid ) );
    *ppv = NULL;
    return E_NOINTERFACE;
}
示例#3
0
文件: atl_ax.c 项目: Fredz66/wine
static ULONG WINAPI OleControlSite_AddRef(IOleControlSite *iface)
{
    IOCS *This = impl_from_IOleControlSite(iface);
    return IOCS_AddRef(This);
}
示例#4
0
文件: atl_ax.c 项目: Fredz66/wine
static ULONG WINAPI OleInPlaceFrame_AddRef(IOleInPlaceFrame *iface)
{
    IOCS *This = impl_from_IOleInPlaceFrame(iface);
    return IOCS_AddRef(This);
}
示例#5
0
文件: atl_ax.c 项目: Fredz66/wine
static ULONG WINAPI OleInPlaceSiteWindowless_AddRef(IOleInPlaceSiteWindowless *iface)
{
    IOCS *This = impl_from_IOleInPlaceSiteWindowless(iface);
    return IOCS_AddRef(This);
}
示例#6
0
文件: atl_ax.c 项目: Fredz66/wine
static ULONG WINAPI OleContainer_AddRef(IOleContainer* iface)
{
    IOCS *This = impl_from_IOleContainer(iface);
    return IOCS_AddRef(This);
}
示例#7
0
文件: atl_ax.c 项目: devyn/wine
static ULONG WINAPI OleControlSite_AddRef(IOleControlSite *iface)
{
    IOCS *This = IFACE2THIS(iface);
    return IOCS_AddRef(This);
}
示例#8
0
文件: atl_ax.c 项目: devyn/wine
static ULONG WINAPI OleInPlaceFrame_AddRef(IOleInPlaceFrame *iface)
{
    IOCS *This = IFACE2THIS(iface);
    return IOCS_AddRef(This);
}
示例#9
0
文件: atl_ax.c 项目: devyn/wine
static ULONG WINAPI OleInPlaceSiteWindowless_AddRef(IOleInPlaceSiteWindowless *iface)
{
    IOCS *This = IFACE2THIS(iface);
    return IOCS_AddRef(This);
}
示例#10
0
文件: atl_ax.c 项目: devyn/wine
static ULONG WINAPI OleContainer_AddRef(IOleContainer* iface)
{
    IOCS *This = IFACE2THIS(iface);
    return IOCS_AddRef(This);
}