US 7,555,757 B2
Application program interface for network software platform
Adam W. Smith, Redmond, Wash. (US); Anthony J. Moore, Seattle, Wash. (US); Brian A. LaMacchia, Bellevue, Wash. (US); Anders Hejlsberg, Seattle, Wash. (US); Brian M. Grunkemeyer, Issaquah, Wash. (US); Caleb L. Doise, Bellevue, Wash. (US); Christopher W. Brumme, Mercer Island, Wash. (US); Christopher L. Anderson, Issaquah, Wash. (US); Corina E. Feuerstein, Redmond, Wash. (US); Craig T. Sinclair, Sammamish, Wash. (US); Daniel Takacs, Bellevue, Wash. (US); David S. Ebbo, Redmond, Wash. (US); David O. Driver, Seattle, Wash. (US); David S. Mortenson, Redmond, Wash. (US); Erik B. Christensen, Seattle, Wash. (US); Erik B. Olson, Sammamish, Wash. (US); Fabio A. Yeon, Mill Creek, Wash. (US); Gopala Krishna R. Kakivaya, Sammamish, Wash. (US); George D. Fee, Seattle, Wash. (US); Hany E. Ramadan, Kirkland, Wash. (US); Henry L. Sanders, II, Kirkland, Wash. (US); Jayanth V. Rajan, Bellevue, Wash. (US); Jeffrey M. Cooperstein, Bellevue, Wash. (US); Jonathan C. Hawkins, Seattle, Wash. (US); James H. Hogg, Bellevue, Wash. (US); Joe D. Long, Woodinville, Wash. (US); John I. McConnell, Kirkland, Wash. (US); Jesus Ruiz-Scougall, Redmond, Wash. (US); James S. Miller, Bellevue, Wash. (US); Julie D. Bennett, Medina, Wash. (US); Krzysztof J. Cwalina, Redmond, Wash. (US); Lance E. Olson, Sammamish, Wash. (US); Loren M. Kohnfelder, Bellevue, Wash. (US); Michael M. Magruder, Sammamish, Wash. (US); Manish S. Prabhu, Redmond, Wash. (US); Radu Rares Palanca, Redmond, Wash. (US); Raja Krishnaswamy, Bellevue, Wash. (US); Shawn P. Burke, Kirkland, Wash. (US); Sean E. Trowbridge, Sammamish, Wash. (US); Seth M. Demsey, Kirkland, Wash. (US); Shajan Dasan, Sammamish, Wash. (US); Stefan H. Pharies, Seattle, Wash. (US); Suzanne M. Cook, Redmond, Wash. (US); Tarun Anand, Pitampura (India); Travis J. Muhlestein, Redmond, Wash. (US); Yann E. Christensen, Seattle, Wash. (US); Yung-shin Lin, Sammamish, Wash. (US); Ramasamy Krishnaswamy, Redmond, Wash. (US); Joseph Roxe, Kirkland, Wash. (US); Alan Boshier, Redmond, Wash. (US); and David Bau, Gladwyne, Pa. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Jun. 23, 2005, as Appl. No. 11/159,853.
Application 11/159853 is a continuation of application No. 09/902811, filed on Jul. 10, 2001, granted, now 7,017,162.
Prior Publication US 2005/0246716 A1, Nov. 03, 2005
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/00 (2006.01); G06F 9/44 (2006.01); G06F 9/46 (2006.01); G06F 13/00 (2006.01)
U.S. Cl. 719—328  [719/313] 9 Claims
OG exemplary drawing
 
1. A computer-implemented method having instructions executable by a processor, comprising:
receiving one or more application program interface (API) calls from one or more remote devices over a network to an application program interface (API), wherein the API includes a set of base classes and types that are used in substantially all applications executing on the one or more remote devices, wherein the set of base classes and types comprises:
an AsyncCallback delegate supplied to an application, wherein the AsyncCallback delegate references a callback method to be called when a corresponding asynchronous operation is completed; and
an IAsyncResult interface that enables a determination of a status of an asynchronous operation, wherein the IAsyncResult interface includes:
an AsyncState property that returns an object that was provided as a last parameter as part of a Begin call corresponding to the asynchronous operation;
an AsyncWaitHandle property that returns a WaitHandle that can be used to allow the application to wait for a call to be completed without needing to poll;
a CompletedSynchronously property that is set to true if the Begin call corresponding to the asynchronous operation completed synchronously; and
an IsCompleted property that is set to true after processing if the asynchronous operation is complete; and
performing a function requested in each of the one or more calls.