• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 461
  • Last Modified:

Asynchronous Services

I need to provide asynchronous services inside a DLL (e.g. some functions execute in the background and post a completion event to the owner).  Requests from the application should be queued to shared memory and executed by the DLL FIFO.

I realize I can do this using memory-mapped files and a "shared memory manager" should handle the requests and forward them to the DLL service.  Due to my inexperience with such architectures, I only have a vague idea on a possible implementation.

Anyone out there who did a similar project? Books (Windows or MFC), links, and other references are welcome!

P.S. Specifically, I am doing a WOSA/XFS service provider.
1 Solution
I assume you are talking about NT since it is much easier to do what you want on NT. In that case you can refer to book "Advanced Windows" specifically chapter on device I/O. It describes usage of I/O completion ports to write services. You should write a COM object which the the application will create and then call it's methods. Inside the COM object, you can create a pool of threads and make them wait for client requests using the I/O completion ports architecture. You can pass a callback interface pointer to this object which it can use to report back completion of work. If you describe in more detail about exact scenario, I can give you more info.

ealvaAuthor Commented:
Sorry for the delay.  Anyway, thanks for the info.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now