42 *
ppv = &
This->IEnumConnections_iface;
44 *
ppv = &
This->IEnumConnections_iface;
73 IConnectionPoint_Release(&
This->cp->IConnectionPoint_iface);
85 TRACE(
"(%p)->(%d %p %p)\n",
This, cConnections, rgcd, pcFetched);
87 while(fetched < cConnections && This->iter < This->
cp->sinks_size) {
88 if(!
This->cp->sinks[
This->iter].unk) {
93 rgcd[fetched].pUnk =
This->cp->sinks[
This->iter].unk;
94 rgcd[fetched].dwCookie = ++
This->iter;
95 IUnknown_AddRef(rgcd[fetched].
pUnk);
100 *pcFetched = fetched;
107 FIXME(
"(%p)->(%d)\n",
This, cConnections);
148 *
ppv = &
This->IConnectionPoint_iface;
150 *
ppv = &
This->IConnectionPoint_iface;
164 return IConnectionPointContainer_AddRef(&
This->container->IConnectionPointContainer_iface);
170 return IConnectionPointContainer_Release(&
This->container->IConnectionPointContainer_iface);
196 *ppCPC = &
This->container->IConnectionPointContainer_iface;
197 IConnectionPointContainer_AddRef(*ppCPC);
209 TRACE(
"(%p)->(%p %p)\n",
This, pUnkSink, pdwCookie);
211 hres = IUnknown_QueryInterface(pUnkSink,
This->iid, (
void**)&
sink);
218 for(
i=0;
i<
This->sinks_size;
i++) {
219 if(!
This->sinks[
i].unk)
223 if(
i ==
This->sinks_size)
227 This->sinks_size = 1;
235 if(!
i &&
This->data &&
This->data->on_advise)
236 This->data->on_advise(
This->container->outer,
This->data);
246 if(!dwCookie || dwCookie >
This->sinks_size || !
This->sinks[dwCookie-1].unk)
249 IUnknown_Release(
This->sinks[dwCookie-1].unk);
271 IConnectionPoint_AddRef(&
This->IConnectionPoint_iface);
274 *ppEnum = &
ret->IEnumConnections_iface;
304 for(
i=0;
i<
This->sinks_size;
i++) {
305 if(
This->sinks[
i].unk)
306 IUnknown_Release(
This->sinks[
i].unk);
351 for(
i=0;
i<
cp->sinks_size;
i++) {
352 if(
cp->sinks[
i].propnotif)
353 IPropertyNotifySink_OnChanged(
cp->sinks[
i].propnotif, dispid);
366 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
372 return IUnknown_AddRef(
This->outer);
378 return IUnknown_Release(
This->outer);
397 if(
This->forward_container)
398 return IConnectionPointContainer_FindConnectionPoint(&
This->forward_container->IConnectionPointContainer_iface,
408 *ppCP = &
cp->IConnectionPoint_iface;
409 IConnectionPoint_AddRef(*ppCP);
424 This->cp_entries = cp_entries;
437 for(
i=0;
This->cp_entries[
i].riid;
i++)
static HRESULT WINAPI ConnectionPoint_GetConnectionPointContainer(IConnectionPoint *iface, IConnectionPointContainer **ppCPC)
static ConnectionPoint * impl_from_IConnectionPoint(IConnectionPoint *iface)
static void ConnectionPoint_Destroy(ConnectionPoint *This)
static const IConnectionPointVtbl ConnectionPointVtbl
static ULONG WINAPI ConnectionPoint_AddRef(IConnectionPoint *iface)
#define CONNECT_E_CANNOTCONNECT
#define CONNECT_E_NOCONNECTION
static HRESULT WINAPI ConnectionPointContainer_QueryInterface(IConnectionPointContainer *iface, REFIID riid, void **ppv)
static HRESULT WINAPI EnumConnections_QueryInterface(IEnumConnections *iface, REFIID riid, void **ppv)
static const IEnumConnectionsVtbl EnumConnectionsVtbl
const GUID IID_IEnumConnections
void call_property_onchanged(ConnectionPointContainer *container, DISPID dispid)
static void * heap_realloc(void *mem, size_t len)
GLsizei GLenum GLboolean sink
static void * heap_alloc(size_t len)
static HRESULT WINAPI ConnectionPoint_QueryInterface(IConnectionPoint *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI ConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer *iface, IEnumConnectionPoints **ppEnum)
const char * debugstr_mshtml_guid(const GUID *iid)
static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *pUnkSink, DWORD *pdwCookie)
static void ConnectionPoint_Init(ConnectionPoint *cp, ConnectionPointContainer *container, REFIID riid, cp_static_data_t *data)
static EnumConnections * impl_from_IEnumConnections(IEnumConnections *iface)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static ConnectionPoint * get_cp(ConnectionPointContainer *container, REFIID riid, BOOL do_create)
static ConnectionPointContainer * impl_from_IConnectionPointContainer(IConnectionPointContainer *iface)
static HRESULT WINAPI EnumConnections_Reset(IEnumConnections *iface)
static const IConnectionPointContainerVtbl ConnectionPointContainerVtbl
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
#define InterlockedDecrement
void ConnectionPointContainer_Destroy(ConnectionPointContainer *This)
static HRESULT WINAPI ConnectionPoint_Unadvise(IConnectionPoint *iface, DWORD dwCookie)
static HRESULT WINAPI EnumConnections_Skip(IEnumConnections *iface, ULONG cConnections)
const GUID IID_IConnectionPoint
static VARIANTARG static DISPID
#define InterlockedIncrement
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static IEnumConnections EnumConnections
static ULONG WINAPI EnumConnections_AddRef(IEnumConnections *iface)
const GUID IID_IPropertyNotifySink
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static HRESULT WINAPI ConnectionPoint_EnumConnections(IConnectionPoint *iface, IEnumConnections **ppEnum)
static HRESULT WINAPI EnumConnections_Next(IEnumConnections *iface, ULONG cConnections, CONNECTDATA *rgcd, ULONG *pcFetched)
static ULONG WINAPI EnumConnections_Release(IEnumConnections *iface)
void ConnectionPointContainer_Init(ConnectionPointContainer *This, IUnknown *outer, const cpc_entry_t *cp_entries)
static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer *iface, REFIID riid, IConnectionPoint **ppCP)
static HRESULT WINAPI ConnectionPoint_GetConnectionInterface(IConnectionPoint *iface, IID *pIID)
static ULONG WINAPI ConnectionPointContainer_AddRef(IConnectionPointContainer *iface)
static HRESULT WINAPI EnumConnections_Clone(IEnumConnections *iface, IEnumConnections **ppEnum)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
static ULONG WINAPI ConnectionPoint_Release(IConnectionPoint *iface)
static BOOL heap_free(void *mem)
static ULONG WINAPI ConnectionPointContainer_Release(IConnectionPointContainer *iface)