本文整理汇总了C++中IMoniker_GetDisplayName函数的典型用法代码示例。如果您正苦于以下问题:C++ IMoniker_GetDisplayName函数的具体用法?C++ IMoniker_GetDisplayName怎么用?C++ IMoniker_GetDisplayName使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IMoniker_GetDisplayName函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ClassMoniker_IsEqual
/******************************************************************************
* ClassMoniker_IsEqual
******************************************************************************/
static HRESULT WINAPI ClassMoniker_IsEqual(IMoniker* iface,IMoniker* pmkOtherMoniker)
{
CLSID clsid;
LPOLESTR dispName1,dispName2;
IBindCtx* bind;
HRESULT res = S_FALSE;
TRACE("(%p,%p)\n",iface,pmkOtherMoniker);
if (!pmkOtherMoniker) return S_FALSE;
/* check if both are ClassMoniker */
if(FAILED (IMoniker_GetClassID(pmkOtherMoniker,&clsid))) return S_FALSE;
if(!IsEqualCLSID(&clsid,&CLSID_ClassMoniker)) return S_FALSE;
/* check if both displaynames are the same */
if(SUCCEEDED ((res = CreateBindCtx(0,&bind)))) {
if(SUCCEEDED (IMoniker_GetDisplayName(iface,bind,NULL,&dispName1))) {
if(SUCCEEDED (IMoniker_GetDisplayName(pmkOtherMoniker,bind,NULL,&dispName2))) {
if(lstrcmpW(dispName1,dispName2)==0) res = S_OK;
CoTaskMemFree(dispName2);
}
CoTaskMemFree(dispName1);
}
}
return res;
}
示例2: HlinkResolveMonikerForData
/***********************************************************************
* HlinkResolveMonikerForData ([email protected])
*/
HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER pimkReference, DWORD reserved, LPBC pibc,
ULONG cFmtetc, FORMATETC *rgFmtetc, IBindStatusCallback *pibsc, LPMONIKER pimkBase)
{
LPOLESTR name = NULL;
IBindCtx *bctx;
DWORD mksys = 0;
void *obj = NULL;
HRESULT hres;
TRACE("(%p %x %p %d %p %p %p)\n", pimkReference, reserved, pibc, cFmtetc, rgFmtetc, pibsc, pimkBase);
if(cFmtetc || rgFmtetc || pimkBase)
FIXME("Unsupported args\n");
hres = RegisterBindStatusCallback(pibc, pibsc, NULL /* FIXME */, 0);
if(FAILED(hres))
return hres;
hres = IMoniker_IsSystemMoniker(pimkReference, &mksys);
if(SUCCEEDED(hres) && mksys != MKSYS_URLMONIKER)
WARN("sysmk = %x\n", mksys);
/* FIXME: What is it for? */
CreateBindCtx(0, &bctx);
hres = IMoniker_GetDisplayName(pimkReference, bctx, NULL, &name);
IBindCtx_Release(bctx);
if(SUCCEEDED(hres)) {
TRACE("got display name %s\n", debugstr_w(name));
CoTaskMemFree(name);
}
return IMoniker_BindToStorage(pimkReference, pibc, NULL, &IID_IUnknown, &obj);
}
示例3: XMLView_Moniker_GetDisplayName
static HRESULT WINAPI XMLView_Moniker_GetDisplayName(IMoniker *iface,
IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName)
{
Moniker *This = impl_from_IMoniker(iface);
TRACE("(%p)->(%p %p %p)\n", This, pbc, pmkToLeft, ppszDisplayName);
return IMoniker_GetDisplayName(This->mon, pbc, pmkToLeft, ppszDisplayName);
}
示例4: set_current_mon
void set_current_mon(HTMLWindow *This, IMoniker *mon)
{
HRESULT hres;
if(This->mon) {
IMoniker_Release(This->mon);
This->mon = NULL;
}
if(This->url) {
CoTaskMemFree(This->url);
This->url = NULL;
}
if(!mon)
return;
IMoniker_AddRef(mon);
This->mon = mon;
hres = IMoniker_GetDisplayName(mon, NULL, NULL, &This->url);
if(FAILED(hres))
WARN("GetDisplayName failed: %08x\n", hres);
set_script_mode(This, use_gecko_script(This->url) ? SCRIPTMODE_GECKO : SCRIPTMODE_ACTIVESCRIPT);
}
示例5: URLMoniker_IsEqual
static HRESULT WINAPI URLMoniker_IsEqual(IMoniker *iface, IMoniker *pmkOtherMoniker)
{
URLMoniker *This = impl_from_IMoniker(iface);
CLSID clsid;
LPOLESTR urlPath;
IBindCtx* bind;
HRESULT res;
TRACE("(%p,%p)\n",This, pmkOtherMoniker);
if(pmkOtherMoniker==NULL)
return E_INVALIDARG;
IMoniker_GetClassID(pmkOtherMoniker,&clsid);
if(!IsEqualCLSID(&clsid,&CLSID_StdURLMoniker))
return S_FALSE;
res = CreateBindCtx(0,&bind);
if(FAILED(res))
return res;
res = S_FALSE;
if(SUCCEEDED(IMoniker_GetDisplayName(pmkOtherMoniker,bind,NULL,&urlPath))) {
int result = lstrcmpiW(urlPath, This->URLName);
CoTaskMemFree(urlPath);
if(result == 0)
res = S_OK;
}
IBindCtx_Release(bind);
return res;
}
示例6: IHlink_fnGetFriendlyName
static HRESULT WINAPI IHlink_fnGetFriendlyName (IHlink* iface,
DWORD grfHLFNAMEF, LPWSTR* ppwzFriendlyName)
{
HlinkImpl *This = impl_from_IHlink(iface);
TRACE("(%p) -> (%i %p)\n", This, grfHLFNAMEF, ppwzFriendlyName);
/* FIXME: Only using explicitly set and cached friendly names */
if (This->FriendlyName)
*ppwzFriendlyName = hlink_co_strdupW( This->FriendlyName );
else
{
IMoniker *moniker;
HRESULT hres = __GetMoniker(This, &moniker, HLINKGETREF_DEFAULT);
if (FAILED(hres))
{
*ppwzFriendlyName = NULL;
return hres;
}
if (moniker)
{
IBindCtx *bcxt;
CreateBindCtx(0, &bcxt);
IMoniker_GetDisplayName(moniker, bcxt, NULL, ppwzFriendlyName);
IBindCtx_Release(bcxt);
IMoniker_Release(moniker);
}
else
*ppwzFriendlyName = NULL;
}
return S_OK;
}
示例7: FileMonikerImpl_IsEqual
/******************************************************************************
* FileMoniker_IsEqual
*/
static HRESULT WINAPI
FileMonikerImpl_IsEqual(IMoniker* iface,IMoniker* pmkOtherMoniker)
{
FileMonikerImpl *This = impl_from_IMoniker(iface);
CLSID clsid;
LPOLESTR filePath;
IBindCtx* bind;
HRESULT res;
TRACE("(%p,%p)\n",iface,pmkOtherMoniker);
if (pmkOtherMoniker==NULL)
return S_FALSE;
IMoniker_GetClassID(pmkOtherMoniker,&clsid);
if (!IsEqualCLSID(&clsid,&CLSID_FileMoniker))
return S_FALSE;
res = CreateBindCtx(0,&bind);
if (FAILED(res)) return res;
res = S_FALSE;
if (SUCCEEDED(IMoniker_GetDisplayName(pmkOtherMoniker,bind,NULL,&filePath))) {
if (!lstrcmpiW(filePath, This->filePathName))
res = S_OK;
CoTaskMemFree(filePath);
}
IBindCtx_Release(bind);
return res;
}
示例8: set_current_mon
void set_current_mon(HTMLOuterWindow *This, IMoniker *mon, DWORD flags)
{
IUriContainer *uri_container;
IUri *uri = NULL;
HRESULT hres;
if(This->mon) {
if(This->doc_obj && !(flags & (BINDING_REPLACE|BINDING_REFRESH))) {
if(This == This->doc_obj->basedoc.window)
notify_travellog_update(This->doc_obj);
else
TRACE("Skipping travellog update for frame navigation.\n");
}
IMoniker_Release(This->mon);
This->mon = NULL;
}
This->load_flags = flags;
if(!mon)
return;
IMoniker_AddRef(mon);
This->mon = mon;
hres = IMoniker_QueryInterface(mon, &IID_IUriContainer, (void**)&uri_container);
if(SUCCEEDED(hres)) {
hres = IUriContainer_GetIUri(uri_container, &uri);
IUriContainer_Release(uri_container);
if(hres != S_OK) {
WARN("GetIUri failed: %08x\n", hres);
uri = NULL;
}
}
if(!uri) {
WCHAR *url;
hres = IMoniker_GetDisplayName(mon, NULL, NULL, &url);
if(SUCCEEDED(hres)) {
hres = create_uri(url, 0, &uri);
if(FAILED(hres)) {
WARN("CrateUri failed: %08x\n", hres);
set_current_uri(This, NULL);
This->url = SysAllocString(url);
CoTaskMemFree(url);
return;
}
CoTaskMemFree(url);
}else {
WARN("GetDisplayName failed: %08x\n", hres);
}
}
set_current_uri(This, uri);
if(uri)
IUri_Release(uri);
set_script_mode(This, use_gecko_script(This) ? SCRIPTMODE_GECKO : SCRIPTMODE_ACTIVESCRIPT);
}
示例9: EnumRunningObjectTable
static NTSTATUS EnumRunningObjectTable(
_In_ PVOID ThreadParam
)
{
IRunningObjectTable* iRunningObjectTable = NULL;
IEnumMoniker* iEnumMoniker = NULL;
IMoniker* iMoniker = NULL;
IBindCtx* iBindCtx = NULL;
IMalloc* iMalloc = NULL;
ULONG count = 0;
HWND listViewHandle = (HWND)ThreadParam;
if (!SUCCEEDED(CoGetMalloc(1, &iMalloc)))
return STATUS_INSUFFICIENT_RESOURCES;
// Query the running object table address
if (SUCCEEDED(GetRunningObjectTable(0, &iRunningObjectTable)))
{
// Enum the objects registered
if (SUCCEEDED(IRunningObjectTable_EnumRunning(iRunningObjectTable, &iEnumMoniker)))
{
while (IEnumMoniker_Next(iEnumMoniker, 1, &iMoniker, &count) == S_OK)
{
if (SUCCEEDED(CreateBindCtx(0, &iBindCtx)))
{
OLECHAR* displayName = NULL;
// Query the object name
if (SUCCEEDED(IMoniker_GetDisplayName(iMoniker, iBindCtx, NULL, &displayName)))
{
// Set the items name column
PhAddListViewItem(listViewHandle, MAXINT, displayName, NULL);
// Free the object name
IMalloc_Free(iMalloc, displayName);
}
IBindCtx_Release(iBindCtx);
}
IEnumMoniker_Release(iMoniker);
}
IEnumMoniker_Release(iEnumMoniker);
}
IRunningObjectTable_Release(iRunningObjectTable);
}
IMalloc_Release(iMalloc);
return STATUS_SUCCESS;
}
示例10: set_current_mon
void set_current_mon(HTMLOuterWindow *This, IMoniker *mon)
{
IUriContainer *uri_container;
IUri *uri = NULL;
HRESULT hres;
if(This->mon) {
if(This->doc_obj)
notify_travellog_update(This->doc_obj);
IMoniker_Release(This->mon);
This->mon = NULL;
}
if(!mon)
return;
IMoniker_AddRef(mon);
This->mon = mon;
hres = IMoniker_QueryInterface(mon, &IID_IUriContainer, (void**)&uri_container);
if(SUCCEEDED(hres)) {
hres = IUriContainer_GetIUri(uri_container, &uri);
IUriContainer_Release(uri_container);
if(hres != S_OK) {
WARN("GetIUri failed: %08x\n", hres);
uri = NULL;
}
}
if(!uri) {
WCHAR *url;
hres = IMoniker_GetDisplayName(mon, NULL, NULL, &url);
if(SUCCEEDED(hres)) {
hres = CreateUri(url, 0, 0, &uri);
if(FAILED(hres)) {
WARN("CrateUri failed: %08x\n", hres);
set_current_uri(This, NULL);
This->url = SysAllocString(url);
CoTaskMemFree(url);
return;
}
CoTaskMemFree(url);
}else {
WARN("GetDisplayName failed: %08x\n", hres);
}
}
set_current_uri(This, uri);
if(uri)
IUri_Release(uri);
set_script_mode(This, use_gecko_script(This) ? SCRIPTMODE_GECKO : SCRIPTMODE_ACTIVESCRIPT);
}
示例11: navigate_hlink
static HRESULT navigate_hlink(DocHost *This, IMoniker *mon, IBindCtx *bindctx,
IBindStatusCallback *callback)
{
IHttpNegotiate *http_negotiate;
BindStatusCallback *bsc;
PBYTE post_data = NULL;
ULONG post_data_len = 0;
LPWSTR headers = NULL, url;
BINDINFO bindinfo;
DWORD bindf = 0;
HRESULT hres;
TRACE("\n");
hres = IMoniker_GetDisplayName(mon, 0, NULL, &url);
if(FAILED(hres))
FIXME("GetDisplayName failed: %08x\n", hres);
hres = IBindStatusCallback_QueryInterface(callback, &IID_IHttpNegotiate,
(void**)&http_negotiate);
if(SUCCEEDED(hres)) {
static const WCHAR null_string[] = {0};
IHttpNegotiate_BeginningTransaction(http_negotiate, null_string, null_string, 0,
&headers);
IHttpNegotiate_Release(http_negotiate);
}
memset(&bindinfo, 0, sizeof(bindinfo));
bindinfo.cbSize = sizeof(bindinfo);
hres = IBindStatusCallback_GetBindInfo(callback, &bindf, &bindinfo);
dump_BINDINFO(&bindinfo);
if(bindinfo.dwBindVerb == BINDVERB_POST) {
post_data_len = bindinfo.cbstgmedData;
if(post_data_len)
post_data = bindinfo.stgmedData.u.hGlobal;
}
if(This->doc_navigate) {
hres = async_doc_navigate(This, url, headers, post_data, post_data_len, FALSE);
}else {
bsc = create_callback(This, url, post_data, post_data_len, headers);
hres = navigate_bsc(This, bsc, mon);
IBindStatusCallback_Release(&bsc->IBindStatusCallback_iface);
}
CoTaskMemFree(url);
CoTaskMemFree(headers);
ReleaseBindInfo(&bindinfo);
return hres;
}
示例12: bind_to_object
static HRESULT bind_to_object(DocHost *This, IMoniker *mon, LPCWSTR url, IBindCtx *bindctx,
IBindStatusCallback *callback)
{
WCHAR schema[30];
DWORD schema_len;
HRESULT hres;
static const WCHAR httpW[] = {'h','t','t','p',0};
static const WCHAR httpsW[] = {'h','t','t','p','s',0};
static const WCHAR ftpW[]= {'f','t','p',0};
if(mon) {
IMoniker_AddRef(mon);
}else {
hres = create_moniker(url, &mon);
if(FAILED(hres))
return hres;
}
CoTaskMemFree(This->url);
hres = IMoniker_GetDisplayName(mon, 0, NULL, &This->url);
if(FAILED(hres))
FIXME("GetDisplayName failed: %08x\n", hres);
IBindCtx_RegisterObjectParam(bindctx, (LPOLESTR)SZ_HTML_CLIENTSITE_OBJECTPARAM,
(IUnknown*)CLIENTSITE(This));
hres = CoInternetParseUrl(This->url, PARSE_SCHEMA, 0, schema, sizeof(schema)/sizeof(schema[0]),
&schema_len, 0);
if(SUCCEEDED(hres) &&
(!strcmpW(schema, httpW) || !strcmpW(schema, httpsW) || !strcmpW(schema, ftpW))) {
hres = http_load_hack(This, mon, callback, bindctx);
}else {
IUnknown *unk = NULL;
hres = IMoniker_BindToObject(mon, bindctx, NULL, &IID_IUnknown, (void**)&unk);
if(SUCCEEDED(hres)) {
hres = S_OK;
if(unk)
IUnknown_Release(unk);
}else if(try_application_url(url)) {
hres = S_OK;
}else {
FIXME("BindToObject failed: %08x\n", hres);
}
}
IMoniker_Release(mon);
return S_OK;
}
示例13: FileMonikerImpl_BindToStorage
/******************************************************************************
* FileMoniker_BindToStorage
*/
static HRESULT WINAPI
FileMonikerImpl_BindToStorage(IMoniker* iface, IBindCtx* pbc, IMoniker* pmkToLeft,
REFIID riid, VOID** ppvObject)
{
LPOLESTR filePath=0;
IStorage *pstg=0;
HRESULT res;
TRACE("(%p,%p,%p,%s,%p)\n",iface,pbc,pmkToLeft,debugstr_guid(riid),ppvObject);
if (pmkToLeft==NULL){
if (IsEqualIID(&IID_IStorage, riid)){
/* get the file name */
IMoniker_GetDisplayName(iface,pbc,pmkToLeft,&filePath);
/* verify if the file contains a storage object */
res=StgIsStorageFile(filePath);
if(res==S_OK){
res=StgOpenStorage(filePath,NULL,STGM_READWRITE|STGM_SHARE_DENY_WRITE,NULL,0,&pstg);
if (SUCCEEDED(res)){
*ppvObject=pstg;
IStorage_AddRef(pstg);
return res;
}
}
CoTaskMemFree(filePath);
}
else
if ( (IsEqualIID(&IID_IStream, riid)) || (IsEqualIID(&IID_ILockBytes, riid)) )
return E_FAIL;
else
return E_NOINTERFACE;
}
else {
FIXME("(%p,%p,%p,%s,%p)\n",iface,pbc,pmkToLeft,debugstr_guid(riid),ppvObject);
return E_NOTIMPL;
}
return res;
}
示例14: nsURIContentListener_OnStartURIOpen
static nsresult NSAPI nsURIContentListener_OnStartURIOpen(nsIURIContentListener *iface,
nsIURI *aURI, PRBool *_retval)
{
NSContainer *This = NSURICL_THIS(iface);
nsIWineURI *wine_uri;
nsACString spec_str;
const char *spec;
nsresult nsres;
nsACString_Init(&spec_str, NULL);
nsIURI_GetSpec(aURI, &spec_str);
nsACString_GetData(&spec_str, &spec, NULL);
TRACE("(%p)->(%p(%s) %p)\n", This, aURI, debugstr_a(spec), _retval);
nsACString_Finish(&spec_str);
nsres = nsIURI_QueryInterface(aURI, &IID_nsIWineURI, (void**)&wine_uri);
if(NS_FAILED(nsres)) {
WARN("Could not get nsIWineURI interface: %08lx\n", nsres);
return NS_ERROR_NOT_IMPLEMENTED;
}
nsIWineURI_SetNSContainer(wine_uri, This);
if(This->bscallback && This->bscallback->mon) {
LPWSTR url;
HRESULT hres;
hres = IMoniker_GetDisplayName(This->bscallback->mon, NULL, 0, &url);
if(SUCCEEDED(hres)) {
IMoniker *mon = NULL;
hres = CreateURLMoniker(NULL, url, &mon);
if(SUCCEEDED(hres)) {
nsIWineURI_SetMoniker(wine_uri, mon);
IMoniker_Release(mon);
}else {
WARN("CreateURLMoniker failed: %08lx\n", hres);
}
}else {
WARN("GetDisplayName failed: %08lx\n", hres);
}
}
nsIWineURI_Release(wine_uri);
return NS_ERROR_NOT_IMPLEMENTED;
}
示例15: IHlink_fnGetStringReference
static HRESULT WINAPI IHlink_fnGetStringReference (IHlink* iface,
DWORD dwWhichRef, LPWSTR *ppwzTarget, LPWSTR *ppwzLocation)
{
HlinkImpl *This = impl_from_IHlink(iface);
TRACE("(%p) -> (%i %p %p)\n", This, dwWhichRef, ppwzTarget, ppwzLocation);
if(dwWhichRef != -1 && dwWhichRef & ~(HLINKGETREF_DEFAULT | HLINKGETREF_ABSOLUTE | HLINKGETREF_RELATIVE))
{
if(ppwzTarget)
*ppwzTarget = NULL;
if(ppwzLocation)
*ppwzLocation = NULL;
return E_INVALIDARG;
}
if (ppwzTarget)
{
IMoniker* mon;
HRESULT hres = __GetMoniker(This, &mon, dwWhichRef);
if (FAILED(hres))
{
if (ppwzLocation)
*ppwzLocation = NULL;
return hres;
}
if (mon)
{
IBindCtx *pbc;
CreateBindCtx( 0, &pbc);
IMoniker_GetDisplayName(mon, pbc, NULL, ppwzTarget);
IBindCtx_Release(pbc);
IMoniker_Release(mon);
}
else
*ppwzTarget = NULL;
}
if (ppwzLocation)
*ppwzLocation = hlink_co_strdupW( This->Location );
TRACE("(Target: %s Location: %s)\n",
(ppwzTarget)?debugstr_w(*ppwzTarget):"<NULL>",
(ppwzLocation)?debugstr_w(*ppwzLocation):"<NULL>");
return S_OK;
}