static void request_complete(Protocol *protocol, INTERNET_ASYNC_RESULT *ar) { PROTOCOLDATA data; TRACE("(%p)->(%p)\n", protocol, ar); /* PROTOCOLDATA same as native */ memset(&data, 0, sizeof(data)); data.dwState = 0xf1000000; if(ar->dwResult) { protocol->flags |= FLAG_REQUEST_COMPLETE; if(!protocol->request) { TRACE("setting request handle %p\n", (HINTERNET)ar->dwResult); protocol->request = (HINTERNET)ar->dwResult; } if(protocol->flags & FLAG_FIRST_CONTINUE_COMPLETE) data.pData = UlongToPtr(BINDSTATUS_ENDDOWNLOADCOMPONENTS); else data.pData = UlongToPtr(BINDSTATUS_DOWNLOADINGDATA); }else { protocol->flags |= FLAG_ERROR; data.pData = UlongToPtr(ar->dwError); } if (protocol->bindf & BINDF_FROMURLMON) IInternetProtocolSink_Switch(protocol->protocol_sink, &data); else protocol_continue(protocol, &data); }
static HRESULT WINAPI FtpProtocol_Continue(IInternetProtocolEx *iface, PROTOCOLDATA *pProtocolData) { FtpProtocol *This = impl_from_IInternetProtocolEx(iface); TRACE("(%p)->(%p)\n", This, pProtocolData); return protocol_continue(&This->base, pProtocolData); }
static HRESULT WINAPI HttpProtocol_Continue(IInternetProtocol *iface, PROTOCOLDATA *pProtocolData) { HttpProtocol *This = PROTOCOL_THIS(iface); TRACE("(%p)->(%p)\n", This, pProtocolData); return protocol_continue(&This->base, pProtocolData); }