Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

ISynchronize interface

Provides asynchronous communication between objects about the occurrence of an event. Objects that implement ISynchronize can receive indications that an event has occurred, and they can respond to queries about the event. In this way, clients can make sure that one request has been processed before they submit a subsequent request that depends on completion of the first one.

When to implement

You do not typically implement ISynchronize. This interface is implemented on two system-supplied synchronization objects, the standard event object (CLSID_StdEvent) and the manual reset event object (CLSID_ManualResetEvent). Objects can aggregate one of these objects to obtain an implementation of ISynchronize.

When to use

Server objects use ISynchronize to indicate that an event has occurred. Clients can then use ISynchronize to make sure that an event has occurred before they process additional requests. For example, a client making calls on the asynchronous interface of a call object would call a Begin_ method on the asynchronous interface and then call ISynchronize::Wait to determine whether the Begin_ method was finished processing. Only after determining that the Begin_ method was complete would the client call the corresponding Finish_ method.

Members

The ISynchronize interface inherits from the IUnknown interface. ISynchronize also has these types of members:

Methods

The ISynchronize interface has these methods.

MethodDescription
Reset

Sets the synchronization object to the nonsignaled state.

Signal

Sets the synchronization object to the signaled state and causes pending wait operations to return S_OK.

Wait

Waits for the synchronization object to be signaled or for a specified timeout period to elapse, whichever comes first.

 

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

ObjIdl.h

IDL

ObjIdl.idl

IID

IID_ISynchronize is defined as 00000030-0000-0000-C000-000000000046

See also

ISynchronizeContainer

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.