Lines Matching defs:This
85 NineUnknown_ctor( struct NineUnknown *This,
89 NineUnknown_dtor( struct NineUnknown *This );
94 NineUnknown_QueryInterface( struct NineUnknown *This,
99 NineUnknown_AddRef( struct NineUnknown *This );
102 NineUnknown_Release( struct NineUnknown *This );
105 NineUnknown_ReleaseWithDtorLock( struct NineUnknown *This );
108 NineUnknown_GetDevice( struct NineUnknown *This,
112 NineUnknown_SetPrivateData( struct NineUnknown *This,
119 NineUnknown_GetPrivateData( struct NineUnknown *This,
125 NineUnknown_FreePrivateData( struct NineUnknown *This,
131 NineUnknown_Destroy( struct NineUnknown *This )
133 assert(!(This->refs | This->bind));
134 This->dtor(This);
138 NineUnknown_Bind( struct NineUnknown *This )
140 UINT b = p_atomic_inc_return(&This->bind);
143 if (b == 1 && This->forward)
144 NineUnknown_Bind(This->container);
150 NineUnknown_Unbind( struct NineUnknown *This )
152 UINT b = p_atomic_dec_return(&This->bind);
154 if (b == 0 && This->forward)
155 NineUnknown_Unbind(This->container);
156 else if (b == 0 && This->refs == 0 && !This->container)
157 This->dtor(This);
163 NineUnknown_ConvertRefToBind( struct NineUnknown *This )
165 NineUnknown_Bind(This);
166 NineUnknown_Release(This);
171 NineUnknown_Detach( struct NineUnknown *This )
173 assert(This->container && !This->forward);
175 This->container = NULL;
176 if (!(This->refs | This->bind))
177 This->dtor(This);