本文整理汇总了C++中impl_from_IHTMLXMLHttpRequest函数的典型用法代码示例。如果您正苦于以下问题:C++ impl_from_IHTMLXMLHttpRequest函数的具体用法?C++ impl_from_IHTMLXMLHttpRequest怎么用?C++ impl_from_IHTMLXMLHttpRequest使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了impl_from_IHTMLXMLHttpRequest函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HTMLXMLHttpRequest_setRequestHeader
static HRESULT WINAPI HTMLXMLHttpRequest_setRequestHeader(IHTMLXMLHttpRequest *iface, BSTR bstrHeader, BSTR bstrValue)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
char *header_u, *value_u;
nsACString header, value;
nsresult nsres;
TRACE("(%p)->(%s %s)\n", This, debugstr_w(bstrHeader), debugstr_w(bstrValue));
header_u = heap_strdupWtoU(bstrHeader);
if(bstrHeader && !header_u)
return E_OUTOFMEMORY;
value_u = heap_strdupWtoU(bstrValue);
if(bstrValue && !value_u) {
heap_free(header_u);
return E_OUTOFMEMORY;
}
nsACString_InitDepend(&header, header_u);
nsACString_InitDepend(&value, value_u);
nsres = nsIXMLHttpRequest_SetRequestHeader(This->nsxhr, &header, &value);
nsACString_Finish(&header);
nsACString_Finish(&value);
heap_free(header_u);
heap_free(value_u);
if(NS_FAILED(nsres)) {
ERR("SetRequestHeader failed: %08x\n", nsres);
return E_FAIL;
}
return S_OK;
}
示例2: HTMLXMLHttpRequest_GetTypeInfo
static HRESULT WINAPI HTMLXMLHttpRequest_GetTypeInfo(IHTMLXMLHttpRequest *iface, UINT iTInfo,
LCID lcid, ITypeInfo **ppTInfo)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
return IDispatchEx_GetTypeInfo(&This->event_target.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
}
示例3: HTMLXMLHttpRequest_getAllResponseHeaders
static HRESULT WINAPI HTMLXMLHttpRequest_getAllResponseHeaders(IHTMLXMLHttpRequest *iface, BSTR *p)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
nsACString nscstr;
nsresult nsres;
HRESULT hres;
LONG state;
TRACE("(%p)->(%p)\n", This, p);
if(!p)
return E_POINTER;
hres = IHTMLXMLHttpRequest_get_readyState(iface, &state);
if(FAILED(hres))
return hres;
if(state < 2) {
*p = NULL;
return E_FAIL;
}
nsACString_Init(&nscstr, NULL);
nsres = nsIXMLHttpRequest_GetAllResponseHeaders(This->nsxhr, &nscstr);
return return_nscstr(nsres, &nscstr, p);
}
示例4: HTMLXMLHttpRequest_getResponseHeader
static HRESULT WINAPI HTMLXMLHttpRequest_getResponseHeader(IHTMLXMLHttpRequest *iface, BSTR bstrHeader, BSTR *p)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
nsACString header, ret;
char *cstr;
nsresult nsres;
HRESULT hres;
LONG state;
TRACE("(%p)->(%s %p)\n", This, debugstr_w(bstrHeader), p);
if(!p)
return E_POINTER;
if(!bstrHeader)
return E_INVALIDARG;
hres = IHTMLXMLHttpRequest_get_readyState(iface, &state);
if(FAILED(hres))
return hres;
if(state < 2) {
*p = NULL;
return E_FAIL;
}
cstr = heap_strdupWtoU(bstrHeader);
nsACString_InitDepend(&header, cstr);
nsACString_Init(&ret, NULL);
nsres = nsIXMLHttpRequest_GetResponseHeader(This->nsxhr, &header, &ret);
nsACString_Finish(&header);
heap_free(cstr);
return return_nscstr(nsres, &ret, p);
}
示例5: HTMLXMLHttpRequest_send
static HRESULT WINAPI HTMLXMLHttpRequest_send(IHTMLXMLHttpRequest *iface, VARIANT varBody)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
nsresult nsres;
TRACE("(%p)->(%s)\n", This, debugstr_variant(&varBody));
switch(V_VT(&varBody)) {
case VT_NULL:
case VT_EMPTY:
case VT_ERROR:
break;
default:
FIXME("varBody(%s) unsupported\n", debugstr_variant(&varBody));
return E_FAIL;
}
nsres = nsIXMLHttpRequest_Send(This->nsxhr, NULL);
if(NS_FAILED(nsres)) {
ERR("nsIXMLHttpRequest_Send failed: %08x\n", nsres);
return E_FAIL;
}
return S_OK;
}
示例6: HTMLXMLHttpRequest_put_onreadystatechange
static HRESULT WINAPI HTMLXMLHttpRequest_put_onreadystatechange(IHTMLXMLHttpRequest *iface, VARIANT v)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
return set_event_handler(&This->event_target, EVENTID_READYSTATECHANGE, &v);
}
示例7: HTMLXMLHttpRequest_get_onreadystatechange
static HRESULT WINAPI HTMLXMLHttpRequest_get_onreadystatechange(IHTMLXMLHttpRequest *iface, VARIANT *p)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
TRACE("(%p)->(%p)\n", This, p);
return get_event_handler(&This->event_target, EVENTID_READYSTATECHANGE, p);
}
示例8: HTMLXMLHttpRequest_Invoke
static HRESULT WINAPI HTMLXMLHttpRequest_Invoke(IHTMLXMLHttpRequest *iface, DISPID dispIdMember, REFIID riid, LCID lcid,
WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
return IDispatchEx_Invoke(&This->event_target.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
pDispParams, pVarResult, pExcepInfo, puArgErr);
}
示例9: HTMLXMLHttpRequest_GetIDsOfNames
static HRESULT WINAPI HTMLXMLHttpRequest_GetIDsOfNames(IHTMLXMLHttpRequest *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames,
LCID lcid, DISPID *rgDispId)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
return IDispatchEx_GetIDsOfNames(&This->event_target.dispex.IDispatchEx_iface, riid, rgszNames, cNames,
lcid, rgDispId);
}
示例10: HTMLXMLHttpRequest_AddRef
static ULONG WINAPI HTMLXMLHttpRequest_AddRef(IHTMLXMLHttpRequest *iface)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
LONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
return ref;
}
示例11: HTMLXMLHttpRequest_get_responseText
static HRESULT WINAPI HTMLXMLHttpRequest_get_responseText(IHTMLXMLHttpRequest *iface, BSTR *p)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
nsAString nsstr;
nsresult nsres;
TRACE("(%p)->(%p)\n", This, p);
if(!p)
return E_POINTER;
nsAString_Init(&nsstr, NULL);
nsres = nsIXMLHttpRequest_GetResponseText(This->nsxhr, &nsstr);
return return_nsstr(nsres, &nsstr, p);
}
示例12: HTMLXMLHttpRequest_abort
static HRESULT WINAPI HTMLXMLHttpRequest_abort(IHTMLXMLHttpRequest *iface)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
nsresult nsres;
TRACE("(%p)->()\n", This);
nsres = nsIXMLHttpRequest_SlowAbort(This->nsxhr);
if(NS_FAILED(nsres)) {
ERR("nsIXMLHttpRequest_SlowAbort failed: %08x\n", nsres);
return E_FAIL;
}
return S_OK;
}
示例13: HTMLXMLHttpRequest_Release
static ULONG WINAPI HTMLXMLHttpRequest_Release(IHTMLXMLHttpRequest *iface)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
if(This->event_listener)
detach_xhr_event_listener(This->event_listener);
release_dispex(&This->event_target.dispex);
nsIXMLHttpRequest_Release(This->nsxhr);
heap_free(This);
}
return ref;
}
示例14: HTMLXMLHttpRequest_get_readyState
static HRESULT WINAPI HTMLXMLHttpRequest_get_readyState(IHTMLXMLHttpRequest *iface, LONG *p)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
UINT16 val;
nsresult nsres;
TRACE("(%p)->(%p)\n", This, p);
if(!p)
return E_POINTER;
nsres = nsIXMLHttpRequest_GetReadyState(This->nsxhr, &val);
if(NS_FAILED(nsres)) {
ERR("nsIXMLHttpRequest_GetReadyState failed: %08x\n", nsres);
return E_FAIL;
}
*p = val;
return S_OK;
}
示例15: HTMLXMLHttpRequest_send
static HRESULT WINAPI HTMLXMLHttpRequest_send(IHTMLXMLHttpRequest *iface, VARIANT varBody)
{
HTMLXMLHttpRequest *This = impl_from_IHTMLXMLHttpRequest(iface);
nsIWritableVariant *nsbody = NULL;
nsresult nsres = NS_OK;
TRACE("(%p)->(%s)\n", This, debugstr_variant(&varBody));
switch(V_VT(&varBody)) {
case VT_NULL:
case VT_EMPTY:
case VT_ERROR:
break;
case VT_BSTR: {
nsAString nsstr;
nsbody = create_nsvariant();
if(!nsbody)
return E_OUTOFMEMORY;
nsAString_InitDepend(&nsstr, V_BSTR(&varBody));
nsres = nsIWritableVariant_SetAsAString(nsbody, &nsstr);
nsAString_Finish(&nsstr);
break;
}
default:
FIXME("unsupported body type %s\n", debugstr_variant(&varBody));
return E_NOTIMPL;
}
if(NS_SUCCEEDED(nsres))
nsres = nsIXMLHttpRequest_Send(This->nsxhr, (nsIVariant*)nsbody);
if(nsbody)
nsIWritableVariant_Release(nsbody);
if(NS_FAILED(nsres)) {
ERR("nsIXMLHttpRequest_Send failed: %08x\n", nsres);
return E_FAIL;
}
return S_OK;
}