INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "Visual Eiffel Library.", "Win32 API: Functions used in synchronization."
project: "Visual Eiffel Win32 Library"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: winlib
class WAPI_SYNCHRONIZATION_FUNCTIONS
inherit

WAPI_ERROR_SERVER
end
feature -- Access

frozen CreateEvent (lpeventattributes: POINTER; bmanualreset: INTEGER; binitialstate: INTEGER; lpname: POINTER): INTEGER
-- The `CreateEvent' function creates a named or unnamed event object
ensure
valid_result: Result /= null_

frozen CreateMutex (lpmutexattributes: POINTER; binitialowner: INTEGER; lpname: POINTER): INTEGER
-- The `CreateMutex' function creates a named or unnamed mutex object

frozen CreateSemaphore (lpsemaphoreattributes: POINTER; linitialcount: INTEGER; lmaximumcount: INTEGER; lpname: POINTER): INTEGER
-- The `CreateSemaphore' function creates a named or unnamed semaphore object
require
valid_initial_count: linitialcount >= 0 and then linitialcount <= lmaximumcount
valid_maximum_count: lmaximumcount > 0

frozen DeleteCriticalSection (lpcriticalsection: POINTER)
-- The `DeleteCriticalSection' function releases all resources used
-- by an unowned critical section object
require
correct_lpcriticalsection: lpcriticalsection /= default_pointer

frozen EnterCriticalSection (lpcriticalsection: POINTER)
-- The `EnterCriticalSection' function waits for ownership of the
-- specified critical section object. The function returns when the
-- calling thread is granted ownership.
require
correct_lpcriticalsection: lpcriticalsection /= default_pointer

frozen InitializeCriticalSection (lpcriticalsection: POINTER)
-- The `InitializeCriticalSection' function initializes a
-- critical section object
require
correct_lpcriticalsection: lpcriticalsection /= default_pointer

frozen LeaveCriticalSection (lpcriticalsection: POINTER)
-- The `LeaveCriticalSection' function releases ownership of the
-- specified critical section object
require
correct_lpcriticalsection: lpcriticalsection /= default_pointer

frozen OpenEvent (dwdesiredaccess: BIT 32; binherithandle: INTEGER; lpname: POINTER): INTEGER
-- The `OpenEvent' function returns a handle of an existing named
-- event object
require
valid_name: lpname /= default_pointer

frozen OpenMutex (dwdesiredaccess: BIT 32; binherithandle: INTEGER; lpname: POINTER): INTEGER
-- The `OpenMutex' function returns a handle of an existing named
-- mutex object
require
valid_name: lpname /= default_pointer

frozen OpenSemaphore (dwdesiredaccess: BIT 32; binherithandle: INTEGER; lpname: POINTER): INTEGER
-- The `OpenSemaphore' function returns a handle of an existing
-- named semaphore object
require
valid_name: lpname /= default_pointer

frozen PulseEvent (hevent: INTEGER): INTEGER
-- The `PulseEvent' function provides a single operation that sets
-- (to signaled) the state of the specified event object and then
-- resets it (to nonsignaled) after releasing the appropriate number
-- of waiting threads
require
valid_handle: hevent /= null_

frozen ResetEvent (hevent: INTEGER): INTEGER
-- The `ResetEvent' function sets the state of the specified event
-- object to nonsignaled
require
valid_handle: hevent /= null_

frozen ReleaseMutex (hmutex: INTEGER): INTEGER
-- The `ReleaseMutex' function releases ownership of the specified
-- mutex object
require
valid_handle: hmutex /= null_

frozen ReleaseSemaphore (hsemaphore: INTEGER; lreleasecount: INTEGER; lppreviouscount: POINTER): INTEGER
-- The `ReleaseSemaphore' function increases the count of the
-- specified semaphore object by a specified amount
require
valid_handle: hsemaphore /= null_
valid_release_count: lreleasecount > 0

frozen SetEvent (hevent: INTEGER): INTEGER
-- The `SetEvent' function sets the state of the specified event
-- object to signaled
require
valid_handle: hevent /= null_

frozen WaitForMultipleObjects (ncount: INTEGER; lphandles: POINTER; bwaitall: INTEGER; dwmilliseconds: INTEGER): INTEGER
-- The `WaitForMultipleObjects' function returns when one of the
-- following occurs:
-- * Either any one or all of the specified objects are
-- in the signaled state.
-- * The time-out interval elapses.
require
valid_lphandles: lphandles /= default_pointer

frozen WaitForSingleObject (hhandle: INTEGER; dwmilliseconds: INTEGER): INTEGER
-- The `WaitForSingleObject' function returns when one of the
-- following occurs:
-- * The specified object is in the signaled state.
-- * The time-out interval elapses.
require
valid_hhandle: hhandle /= null_
end -- class WAPI_SYNCHRONIZATION_FUNCTIONS

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES