3c6daee652
Former-commit-id: f069081cc0821095435a845c961ae61cbbc95121
1588 lines
50 KiB
HTML
1588 lines
50 KiB
HTML
<?xml version="1.0" encoding="utf-8"?><span>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>mono-api-wapi.html</title>
|
|
<style type="text/css">
|
|
|
|
|
|
h3 {
|
|
font-size: 18px;
|
|
padding-bottom: 4pt;
|
|
border-bottom: 2px solid #dddddd;
|
|
}
|
|
|
|
.api {
|
|
border: 1px solid;
|
|
padding: 10pt;
|
|
margin: 10pt;
|
|
}
|
|
|
|
.api-entry {
|
|
border-bottom: none;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.prototype {
|
|
border: 1px solid;
|
|
background-color: #f2f2f2;
|
|
padding: 5pt;
|
|
margin-top: 5pt;
|
|
margin-bottom: 5pt;
|
|
}
|
|
|
|
.header {
|
|
border: 1px solid;
|
|
padding: 0 0 5pt 5pt;
|
|
margin: 10pt;
|
|
white-space: pre;
|
|
font-family: monospace;
|
|
}
|
|
|
|
.code {
|
|
border: 1px solid;
|
|
padding: 0 0 5pt 5pt;
|
|
margin: 10pt;
|
|
white-space: pre;
|
|
font-family: monospace;
|
|
}
|
|
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h2>Windows Compatibility API</h2>
|
|
|
|
<p />Mono implements a small subset of the Win32 API for some
|
|
file system interaction, I/O, thread and process operations.
|
|
|
|
<p />On Windows, Mono uses directly the services provided by the
|
|
operating system. On other operating system it uses its own
|
|
implementation (referred to as the "io-layer" or "wapi").
|
|
|
|
<h3>Windows Compatibility API</h3>
|
|
|
|
<a name="api:BindIoCompletionCallback"></a>
|
|
<div class="api">
|
|
<div class="api-entry">BindIoCompletionCallback</div>
|
|
|
|
<div class="prototype">Prototype: BindIoCompletionCallback</div>
|
|
<p />
|
|
|
|
</div> <a name="api:CloseHandle"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CloseHandle</div>
|
|
|
|
<div class="prototype">gboolean CloseHandle(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The handle to release</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Closes and invalidates <i>handle</i>, releasing any resources it
|
|
consumes. When the last handle to a temporary or non-persistent
|
|
object is closed, that object can be deleted. Closing the same
|
|
handle twice is an error.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:closesocket"></a>
|
|
<div class="api">
|
|
<div class="api-entry">closesocket</div>
|
|
|
|
<div class="prototype">Prototype: closesocket</div>
|
|
<p />
|
|
|
|
</div> <a name="api:CopyFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CopyFile</div>
|
|
|
|
<div class="prototype">gboolean CopyFile (const gunichar2 *name, const gunichar2 *dest_name,
|
|
gboolean fail_if_exists)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode string, that names</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> the file to be copied.
|
|
<i>dest_name</i>: a pointer to a NULL-terminated unicode string, that is the
|
|
new name for the file.
|
|
<i>fail_if_exists</i>: if TRUE and dest_name exists, the copy will fail.
|
|
|
|
Copies file <i>name</i> to <i>dest_name</i>
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:CreateDirectory"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateDirectory</div>
|
|
|
|
<div class="prototype">gboolean CreateDirectory (const gunichar2 *name,
|
|
WapiSecurityAttributes *security)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode string, that names</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> the directory to be created.
|
|
<i>security</i>: ignored for now
|
|
|
|
Creates directory <i>name</i>
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:CreateEvent"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateEvent</div>
|
|
|
|
<div class="prototype">gpointer CreateEvent(WapiSecurityAttributes *security G_GNUC_UNUSED,
|
|
gboolean manual, gboolean initial,
|
|
const gunichar2 *name G_GNUC_UNUSED)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>security:</i></dt><dd> Ignored for now.</dd><dt><i>manual:</i></dt><dd> Specifies whether the new event handle has manual or auto</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> reset behaviour.
|
|
<i>initial</i>: Specifies whether the new event handle is initially
|
|
signalled or not.
|
|
<i>name</i>:Pointer to a string specifying the name of this name, or
|
|
%NULL. Currently ignored.
|
|
|
|
Creates a new event handle.
|
|
|
|
An event handle is signalled with SetEvent(). If the new handle is
|
|
a manual reset event handle, it remains signalled until it is reset
|
|
with ResetEvent(). An auto reset event remains signalled until a
|
|
single thread has waited for it, at which time the event handle is
|
|
automatically reset to unsignalled.
|
|
|
|
Return value: A new handle, or %NULL on error.
|
|
|
|
</div> <a name="api:CreateFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateFile</div>
|
|
|
|
<div class="prototype">gpointer CreateFile(const gunichar2 *name, guint32 fileaccess,
|
|
guint32 sharemode, WapiSecurityAttributes *security,
|
|
guint32 createmode, guint32 attrs,
|
|
gpointer template G_GNUC_UNUSED)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode string, that names</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> the file or other object to create.
|
|
<i>fileaccess</i>: specifies the file access mode
|
|
<i>sharemode</i>: whether the file should be shared. This parameter is
|
|
currently ignored.
|
|
<i>security</i>: Ignored for now.
|
|
<i>createmode</i>: specifies whether to create a new file, whether to
|
|
overwrite an existing file, whether to truncate the file, etc.
|
|
<i>attrs</i>: specifies file attributes and flags. On win32 attributes
|
|
are characteristics of the file, not the handle, and are ignored
|
|
when an existing file is opened. Flags give the library hints on
|
|
how to process a file to optimise performance.
|
|
<i>template</i>: the handle of an open %GENERIC_READ file that specifies
|
|
attributes to apply to a newly created file, ignoring <i>attrs</i>.
|
|
Normally this parameter is NULL. This parameter is ignored when an
|
|
existing file is opened.
|
|
|
|
Creates a new file handle. This only applies to normal files:
|
|
pipes are handled by CreatePipe(), and console handles are created
|
|
with GetStdHandle().
|
|
|
|
Return value: the new handle, or %INVALID_HANDLE_VALUE on error.
|
|
|
|
</div> <a name="api:CreateMutex"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateMutex</div>
|
|
|
|
<div class="prototype">gpointer CreateMutex(WapiSecurityAttributes *security G_GNUC_UNUSED, gboolean owned,
|
|
const gunichar2 *name)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>security:</i></dt><dd> Ignored for now.</dd><dt><i>owned:</i></dt><dd> If %TRUE, the mutex is created with the calling thread</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> already owning the mutex.
|
|
<i>name</i>:Pointer to a string specifying the name of this mutex, or
|
|
%NULL.
|
|
|
|
Creates a new mutex handle. A mutex is signalled when no thread
|
|
owns it. A thread acquires ownership of the mutex by waiting for
|
|
it with WaitForSingleObject() or WaitForMultipleObjects(). A
|
|
thread relinquishes ownership with ReleaseMutex().
|
|
|
|
A thread that owns a mutex can specify the same mutex in repeated
|
|
wait function calls without blocking. The thread must call
|
|
ReleaseMutex() an equal number of times to release the mutex.
|
|
|
|
Return value: A new handle, or %NULL on error.
|
|
|
|
</div> <a name="api:CreatePipe"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreatePipe</div>
|
|
|
|
<div class="prototype">Prototype: CreatePipe</div>
|
|
<p />
|
|
|
|
</div> <a name="api:CreateProcess"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateProcess</div>
|
|
|
|
<div class="prototype">Prototype: CreateProcess</div>
|
|
<p />
|
|
|
|
</div> <a name="api:CreateProcessWithLogonW"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateProcessWithLogonW</div>
|
|
|
|
<div class="prototype">Prototype: CreateProcessWithLogonW</div>
|
|
<p />
|
|
|
|
</div> <a name="api:CreateSemaphore"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateSemaphore</div>
|
|
|
|
<div class="prototype">gpointer CreateSemaphore(WapiSecurityAttributes *security G_GNUC_UNUSED, gint32 initial, gint32 max, const gunichar2 *name)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>security:</i></dt><dd> Ignored for now.</dd><dt><i>initial:</i></dt><dd> The initial count for the semaphore. The value must be</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> greater than or equal to zero, and less than or equal to <i>max</i>.
|
|
<i>max</i>: The maximum count for this semaphore. The value must be
|
|
greater than zero.
|
|
<i>name</i>: Pointer to a string specifying the name of this semaphore,
|
|
or %NULL. Currently ignored.
|
|
|
|
Creates a new semaphore handle. A semaphore is signalled when its
|
|
count is greater than zero, and unsignalled otherwise. The count
|
|
is decreased by one whenever a wait function releases a thread that
|
|
was waiting for the semaphore. The count is increased by calling
|
|
ReleaseSemaphore().
|
|
|
|
Return value: a new handle, or NULL
|
|
|
|
</div> <a name="api:CreateThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">CreateThread</div>
|
|
|
|
<div class="prototype">Prototype: CreateThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:DeleteCriticalSection"></a>
|
|
<div class="api">
|
|
<div class="api-entry">DeleteCriticalSection</div>
|
|
|
|
<div class="prototype">Prototype: DeleteCriticalSection</div>
|
|
<p />
|
|
|
|
</div> <a name="api:DeleteFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">DeleteFile</div>
|
|
|
|
<div class="prototype">gboolean DeleteFile(const gunichar2 *name)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode string, that names</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> the file to be deleted.
|
|
|
|
Deletes file <i>name</i>.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:DuplicateHandle"></a>
|
|
<div class="api">
|
|
<div class="api-entry">DuplicateHandle</div>
|
|
|
|
<div class="prototype">Prototype: DuplicateHandle</div>
|
|
<p />
|
|
|
|
</div> <a name="api:EnterCriticalSection"></a>
|
|
<div class="api">
|
|
<div class="api-entry">EnterCriticalSection</div>
|
|
|
|
<div class="prototype">Prototype: EnterCriticalSection</div>
|
|
<p />
|
|
|
|
</div> <a name="api:EnumProcesses"></a>
|
|
<div class="api">
|
|
<div class="api-entry">EnumProcesses</div>
|
|
|
|
<div class="prototype">Prototype: EnumProcesses</div>
|
|
<p />
|
|
|
|
</div> <a name="api:EnumProcessModules"></a>
|
|
<div class="api">
|
|
<div class="api-entry">EnumProcessModules</div>
|
|
|
|
<div class="prototype">Prototype: EnumProcessModules</div>
|
|
<p />
|
|
|
|
</div> <a name="api:errno_to_WSA"></a>
|
|
<div class="api">
|
|
<div class="api-entry">errno_to_WSA</div>
|
|
|
|
<div class="prototype">Prototype: errno_to_WSA</div>
|
|
<p />
|
|
|
|
</div> <a name="api:ExitThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ExitThread</div>
|
|
|
|
<div class="prototype">Prototype: ExitThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:FileTimeToSystemTime"></a>
|
|
<div class="api">
|
|
<div class="api-entry">FileTimeToSystemTime</div>
|
|
|
|
<div class="prototype">gboolean FileTimeToSystemTime(const WapiFileTime *file_time,
|
|
WapiSystemTime *system_time)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>file_time:</i></dt><dd> Points to a %WapiFileTime structure that contains the</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> number of ticks to convert.
|
|
<i>system_time</i>: Points to a %WapiSystemTime structure to receive the
|
|
broken-out time.
|
|
|
|
Converts a tick count into broken-out time values.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:FindClose"></a>
|
|
<div class="api">
|
|
<div class="api-entry">FindClose</div>
|
|
|
|
<div class="prototype">gboolean FindClose (gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>wapi_handle:</i></dt><dd> the find handle to close.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Closes find handle <i>wapi_handle</i>
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:FindFirstFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">FindFirstFile</div>
|
|
|
|
<div class="prototype">Prototype: FindFirstFile</div>
|
|
<p />
|
|
|
|
</div> <a name="api:FindNextFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">FindNextFile</div>
|
|
|
|
<div class="prototype">Prototype: FindNextFile</div>
|
|
<p />
|
|
|
|
</div> <a name="api:FlushFileBuffers"></a>
|
|
<div class="api">
|
|
<div class="api-entry">FlushFileBuffers</div>
|
|
|
|
<div class="prototype">gboolean FlushFileBuffers(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> Handle to open file. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_WRITE access.
|
|
|
|
Flushes buffers of the file and causes all unwritten data to
|
|
be written.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:FormatMessage"></a>
|
|
<div class="api">
|
|
<div class="api-entry">FormatMessage</div>
|
|
|
|
<div class="prototype">Prototype: FormatMessage</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetCurrentDirectory"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetCurrentDirectory</div>
|
|
|
|
<div class="prototype">extern guint32 GetCurrentDirectory (guint32 length, gunichar2 *buffer)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>length:</i></dt><dd> size of the buffer</dd><dt><i>buffer:</i></dt><dd> pointer to buffer that recieves path</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Retrieves the current directory for the current process.
|
|
|
|
Return value: number of characters in buffer on success, zero on failure
|
|
|
|
</div> <a name="api:GetCurrentProcess"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetCurrentProcess</div>
|
|
|
|
<div class="prototype">Prototype: GetCurrentProcess</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetCurrentProcessId"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetCurrentProcessId</div>
|
|
|
|
<div class="prototype">Prototype: GetCurrentProcessId</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetCurrentThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetCurrentThread</div>
|
|
|
|
<div class="prototype">Prototype: GetCurrentThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetCurrentThreadId"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetCurrentThreadId</div>
|
|
|
|
<div class="prototype">gsize
|
|
GetCurrentThreadId (void)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Remarks</b>
|
|
<p />
|
|
Looks up the thread ID of the current thread. This ID can be
|
|
passed to OpenThread() to create a new handle on this thread.
|
|
|
|
Return value: the thread ID. NB this is defined as DWORD (ie 32
|
|
bit) in the MS API, but we need to cope with 64 bit IDs for s390x
|
|
and amd64. This doesn't really break the API, it just embraces and
|
|
extends it on 64bit platforms :)
|
|
|
|
</div> <a name="api:GetDiskFreeSpaceEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetDiskFreeSpaceEx</div>
|
|
|
|
<div class="prototype">Prototype: GetDiskFreeSpaceEx</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetDriveType"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetDriveType</div>
|
|
|
|
<div class="prototype">Prototype: GetDriveType</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetExitCodeProcess"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetExitCodeProcess</div>
|
|
|
|
<div class="prototype">Prototype: GetExitCodeProcess</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetExitCodeThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetExitCodeThread</div>
|
|
|
|
<div class="prototype">Prototype: GetExitCodeThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetFileAttributesEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileAttributesEx</div>
|
|
|
|
<div class="prototype">gboolean GetFileAttributesEx (const gunichar2 *name, WapiGetFileExInfoLevels level, gpointer info)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode filename.</dd><dt><i>level:</i></dt><dd> must be GetFileExInfoStandard</dd><dt><i>info:</i></dt><dd> pointer to a WapiFileAttributesData structure</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Gets attributes, size and filetimes for <i>name</i>;
|
|
|
|
Return value: %TRUE on success, %FALSE on failure
|
|
|
|
</div> <a name="api:GetFileAttributes"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileAttributes</div>
|
|
|
|
<div class="prototype">guint32 GetFileAttributes (const gunichar2 *name)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode filename.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Gets the attributes for <i>name</i>;
|
|
|
|
Return value: %INVALID_FILE_ATTRIBUTES on failure
|
|
|
|
</div> <a name="api:GetFileSize"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileSize</div>
|
|
|
|
<div class="prototype">guint32 GetFileSize(gpointer handle, guint32 *highsize)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to query. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_READ or %GENERIC_WRITE access.
|
|
<i>highsize</i>: If non-%NULL, the high 32 bits of the file size are
|
|
stored here.
|
|
|
|
Retrieves the size of the file <i>handle</i>.
|
|
|
|
If the library is compiled without large file support, <i>highsize</i>
|
|
has its value set to zero on a successful return.
|
|
|
|
Return value: On success, the low 32 bits of the file size. If
|
|
<i>highsize</i> is non-%NULL then the high 32 bits of the file size are
|
|
stored here. On failure %INVALID_FILE_SIZE is returned.
|
|
|
|
</div> <a name="api:GetFileTime"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileTime</div>
|
|
|
|
<div class="prototype">gboolean GetFileTime(gpointer handle, WapiFileTime *create_time,
|
|
WapiFileTime *last_access, WapiFileTime *last_write)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to query. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_READ access.
|
|
<i>create_time</i>: Points to a %WapiFileTime structure to receive the
|
|
number of ticks since the epoch that file was created. May be
|
|
%NULL.
|
|
<i>last_access</i>: Points to a %WapiFileTime structure to receive the
|
|
number of ticks since the epoch when file was last accessed. May be
|
|
%NULL.
|
|
<i>last_write</i>: Points to a %WapiFileTime structure to receive the
|
|
number of ticks since the epoch when file was last written to. May
|
|
be %NULL.
|
|
|
|
Finds the number of ticks since the epoch that the file referenced
|
|
by <i>handle</i> was created, last accessed and last modified. A tick is
|
|
a 100 nanosecond interval. The epoch is Midnight, January 1 1601
|
|
GMT.
|
|
|
|
Create time isn't recorded on POSIX file systems or reported by
|
|
stat(2), so that time is guessed by returning the oldest of the
|
|
other times.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:GetFileType"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileType</div>
|
|
|
|
<div class="prototype">WapiFileType GetFileType(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to test.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Finds the type of file <i>handle</i>.
|
|
|
|
Return value: %FILE_TYPE_UNKNOWN - the type of the file <i>handle</i> is
|
|
unknown. %FILE_TYPE_DISK - <i>handle</i> is a disk file.
|
|
%FILE_TYPE_CHAR - <i>handle</i> is a character device, such as a console.
|
|
%FILE_TYPE_PIPE - <i>handle</i> is a named or anonymous pipe.
|
|
|
|
</div> <a name="api:GetFileVersionInfo"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileVersionInfo</div>
|
|
|
|
<div class="prototype">Prototype: GetFileVersionInfo</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetFileVersionInfoSize"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetFileVersionInfoSize</div>
|
|
|
|
<div class="prototype">Prototype: GetFileVersionInfoSize</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetLastError"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetLastError</div>
|
|
|
|
<div class="prototype">guint32 GetLastError(void)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Remarks</b>
|
|
<p />
|
|
Retrieves the last error that occurred in the calling thread.
|
|
|
|
Return value: The error code for the last error that happened on
|
|
the calling thread.
|
|
|
|
</div> <a name="api:GetLogicalDriveStrings"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetLogicalDriveStrings</div>
|
|
|
|
<div class="prototype">Prototype: GetLogicalDriveStrings</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetModuleBaseName"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetModuleBaseName</div>
|
|
|
|
<div class="prototype">Prototype: GetModuleBaseName</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetModuleFileNameEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetModuleFileNameEx</div>
|
|
|
|
<div class="prototype">Prototype: GetModuleFileNameEx</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetModuleInformation"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetModuleInformation</div>
|
|
|
|
<div class="prototype">Prototype: GetModuleInformation</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetPriorityClass"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetPriorityClass</div>
|
|
|
|
<div class="prototype">Prototype: GetPriorityClass</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetProcessId"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetProcessId</div>
|
|
|
|
<div class="prototype">Prototype: GetProcessId</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetProcessTimes"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetProcessTimes</div>
|
|
|
|
<div class="prototype">Prototype: GetProcessTimes</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetProcessWorkingSetSize"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetProcessWorkingSetSize</div>
|
|
|
|
<div class="prototype">Prototype: GetProcessWorkingSetSize</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetStdHandle"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetStdHandle</div>
|
|
|
|
<div class="prototype">
|
|
static mono_mutex_t stdhandle_mutex;
|
|
|
|
gpointer GetStdHandle(WapiStdHandle stdhandle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>stdhandle:</i></dt><dd> specifies the file descriptor</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Returns a handle for stdin, stdout, or stderr. Always returns the
|
|
same handle for the same <i>stdhandle</i>.
|
|
|
|
Return value: the handle, or %INVALID_HANDLE_VALUE on error
|
|
|
|
</div> <a name="api:GetSystemInfo"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetSystemInfo</div>
|
|
|
|
<div class="prototype">Prototype: GetSystemInfo</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetTempPath"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetTempPath</div>
|
|
|
|
<div class="prototype">Prototype: GetTempPath</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetThreadContext"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetThreadContext</div>
|
|
|
|
<div class="prototype">Prototype: GetThreadContext</div>
|
|
<p />
|
|
|
|
</div> <a name="api:GetTickCount"></a>
|
|
<div class="api">
|
|
<div class="api-entry">GetTickCount</div>
|
|
|
|
<div class="prototype">Prototype: GetTickCount</div>
|
|
<p />
|
|
|
|
</div> <a name="api:ImpersonateLoggedOnUser"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ImpersonateLoggedOnUser</div>
|
|
|
|
<div class="prototype">Prototype: ImpersonateLoggedOnUser</div>
|
|
<p />
|
|
|
|
</div> <a name="api:InitializeCriticalSectionAndSpinCount"></a>
|
|
<div class="api">
|
|
<div class="api-entry">InitializeCriticalSectionAndSpinCount</div>
|
|
|
|
<div class="prototype">Prototype: InitializeCriticalSectionAndSpinCount</div>
|
|
<p />
|
|
|
|
</div> <a name="api:InitializeCriticalSection"></a>
|
|
<div class="api">
|
|
<div class="api-entry">InitializeCriticalSection</div>
|
|
|
|
<div class="prototype">Prototype: InitializeCriticalSection</div>
|
|
<p />
|
|
|
|
</div> <a name="api:ioctlsocket"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ioctlsocket</div>
|
|
|
|
<div class="prototype">Prototype: ioctlsocket</div>
|
|
<p />
|
|
|
|
</div> <a name="api:LeaveCriticalSection"></a>
|
|
<div class="api">
|
|
<div class="api-entry">LeaveCriticalSection</div>
|
|
|
|
<div class="prototype">Prototype: LeaveCriticalSection</div>
|
|
<p />
|
|
|
|
</div> <a name="api:LockFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">LockFile</div>
|
|
|
|
<div class="prototype">Prototype: LockFile</div>
|
|
<p />
|
|
|
|
</div> <a name="api:MoveFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">MoveFile</div>
|
|
|
|
<div class="prototype">gboolean MoveFile (const gunichar2 *name, const gunichar2 *dest_name)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode string, that names</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> the file to be moved.
|
|
<i>dest_name</i>: a pointer to a NULL-terminated unicode string, that is the
|
|
new name for the file.
|
|
|
|
Renames file <i>name</i> to <i>dest_name</i>.
|
|
MoveFile sets ERROR_ALREADY_EXISTS if the destination exists, except
|
|
when it is the same file as the source. In that case it silently succeeds.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:OpenEvent"></a>
|
|
<div class="api">
|
|
<div class="api-entry">OpenEvent</div>
|
|
|
|
<div class="prototype">Prototype: OpenEvent</div>
|
|
<p />
|
|
|
|
</div> <a name="api:OpenMutex"></a>
|
|
<div class="api">
|
|
<div class="api-entry">OpenMutex</div>
|
|
|
|
<div class="prototype">Prototype: OpenMutex</div>
|
|
<p />
|
|
|
|
</div> <a name="api:OpenProcess"></a>
|
|
<div class="api">
|
|
<div class="api-entry">OpenProcess</div>
|
|
|
|
<div class="prototype">Prototype: OpenProcess</div>
|
|
<p />
|
|
|
|
</div> <a name="api:OpenSemaphore"></a>
|
|
<div class="api">
|
|
<div class="api-entry">OpenSemaphore</div>
|
|
|
|
<div class="prototype">Prototype: OpenSemaphore</div>
|
|
<p />
|
|
|
|
</div> <a name="api:OpenThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">OpenThread</div>
|
|
|
|
<div class="prototype">Prototype: OpenThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:PulseEvent"></a>
|
|
<div class="api">
|
|
<div class="api-entry">PulseEvent</div>
|
|
|
|
<div class="prototype">gboolean PulseEvent(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The event handle.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Sets the event handle <i>handle</i> to the signalled state, and then
|
|
resets it to unsignalled after informing any waiting threads.
|
|
|
|
If <i>handle</i> is a manual reset event, all waiting threads that can be
|
|
released immediately are released. <i>handle</i> is then reset. If
|
|
<i>handle</i> is an auto reset event, one waiting thread is released even
|
|
if multiple threads are waiting.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise. (Currently only
|
|
ever returns %TRUE).
|
|
|
|
</div> <a name="api:QueryPerformanceCounter"></a>
|
|
<div class="api">
|
|
<div class="api-entry">QueryPerformanceCounter</div>
|
|
|
|
<div class="prototype">Prototype: QueryPerformanceCounter</div>
|
|
<p />
|
|
|
|
</div> <a name="api:QueryPerformanceFrequency"></a>
|
|
<div class="api">
|
|
<div class="api-entry">QueryPerformanceFrequency</div>
|
|
|
|
<div class="prototype">Prototype: QueryPerformanceFrequency</div>
|
|
<p />
|
|
|
|
</div> <a name="api:QueueUserAPC"></a>
|
|
<div class="api">
|
|
<div class="api-entry">QueueUserAPC</div>
|
|
|
|
<div class="prototype">Prototype: QueueUserAPC</div>
|
|
<p />
|
|
|
|
</div> <a name="api:ReadFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ReadFile</div>
|
|
|
|
<div class="prototype">gboolean ReadFile(gpointer handle, gpointer buffer, guint32 numbytes,
|
|
guint32 *bytesread, WapiOverlapped *overlapped)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to read from. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_READ access.
|
|
<i>buffer</i>: The buffer to store read data in
|
|
<i>numbytes</i>: The maximum number of bytes to read
|
|
<i>bytesread</i>: The actual number of bytes read is stored here. This
|
|
value can be zero if the handle is positioned at the end of the
|
|
file.
|
|
<i>overlapped</i>: points to a required %WapiOverlapped structure if
|
|
<i>handle</i> has the %FILE_FLAG_OVERLAPPED option set, should be NULL
|
|
otherwise.
|
|
|
|
If <i>handle</i> does not have the %FILE_FLAG_OVERLAPPED option set, this
|
|
function reads up to <i>numbytes</i> bytes from the file from the current
|
|
file position, and stores them in <i>buffer</i>. If there are not enough
|
|
bytes left in the file, just the amount available will be read.
|
|
The actual number of bytes read is stored in <i>bytesread</i>.
|
|
|
|
If <i>handle</i> has the %FILE_FLAG_OVERLAPPED option set, the current
|
|
file position is ignored and the read position is taken from data
|
|
in the <i>overlapped</i> structure.
|
|
|
|
Return value: %TRUE if the read succeeds (even if no bytes were
|
|
read due to an attempt to read past the end of the file), %FALSE on
|
|
error.
|
|
|
|
</div> <a name="api:ReleaseMutex"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ReleaseMutex</div>
|
|
|
|
<div class="prototype">gboolean ReleaseMutex(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The mutex handle.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Releases ownership if the mutex handle <i>handle</i>.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise. This function
|
|
fails if the calling thread does not own the mutex <i>handle</i>.
|
|
|
|
</div> <a name="api:ReleaseSemaphore"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ReleaseSemaphore</div>
|
|
|
|
<div class="prototype">gboolean ReleaseSemaphore(gpointer handle, gint32 count, gint32 *prevcount)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The semaphore handle to release.</dd><dt><i>count:</i></dt><dd> The amount by which the semaphore's count should be</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> increased.
|
|
<i>prevcount</i>: Pointer to a location to store the previous count of
|
|
the semaphore, or %NULL.
|
|
|
|
Increases the count of semaphore <i>handle</i> by <i>count</i>.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:RemoveDirectory"></a>
|
|
<div class="api">
|
|
<div class="api-entry">RemoveDirectory</div>
|
|
|
|
<div class="prototype">gboolean RemoveDirectory (const gunichar2 *name)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> a pointer to a NULL-terminated unicode string, that names</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> the directory to be removed.
|
|
|
|
Removes directory <i>name</i>
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:ReplaceFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ReplaceFile</div>
|
|
|
|
<div class="prototype">Prototype: ReplaceFile</div>
|
|
<p />
|
|
|
|
</div> <a name="api:ResetEvent"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ResetEvent</div>
|
|
|
|
<div class="prototype">gboolean ResetEvent(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The event handle.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Resets the event handle <i>handle</i> to the unsignalled state.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise. (Currently only
|
|
ever returns %TRUE).
|
|
|
|
</div> <a name="api:ResumeThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ResumeThread</div>
|
|
|
|
<div class="prototype">Prototype: ResumeThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:RevertToSelf"></a>
|
|
<div class="api">
|
|
<div class="api-entry">RevertToSelf</div>
|
|
|
|
<div class="prototype">Prototype: RevertToSelf</div>
|
|
<p />
|
|
|
|
</div> <a name="api:SetCriticalSectionSpinCount"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetCriticalSectionSpinCount</div>
|
|
|
|
<div class="prototype">Prototype: SetCriticalSectionSpinCount</div>
|
|
<p />
|
|
|
|
</div> <a name="api:SetCurrentDirectory"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetCurrentDirectory</div>
|
|
|
|
<div class="prototype">extern gboolean SetCurrentDirectory (const gunichar2 *path)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>path:</i></dt><dd> path to new directory</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Changes the directory path for the current process.
|
|
|
|
Return value: %TRUE on success, %FALSE on failure.
|
|
|
|
</div> <a name="api:SetEndOfFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetEndOfFile</div>
|
|
|
|
<div class="prototype">gboolean SetEndOfFile(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to set. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_WRITE access.
|
|
|
|
Moves the end-of-file position to the current position of the file
|
|
pointer. This function is used to truncate or extend a file.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:SetEvent"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetEvent</div>
|
|
|
|
<div class="prototype">gboolean SetEvent(gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The event handle</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Sets the event handle <i>handle</i> to the signalled state.
|
|
|
|
If <i>handle</i> is a manual reset event, it remains signalled until it
|
|
is reset with ResetEvent(). An auto reset event remains signalled
|
|
until a single thread has waited for it, at which time <i>handle</i> is
|
|
automatically reset to unsignalled.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise. (Currently only
|
|
ever returns %TRUE).
|
|
|
|
</div> <a name="api:SetFileAttributes"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetFileAttributes</div>
|
|
|
|
<div class="prototype">extern gboolean SetFileAttributes (const gunichar2 *name, guint32 attrs)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>name:</i></dt><dd> name of file</dd><dt><i>attrs:</i></dt><dd> attributes to set</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Changes the attributes on a named file.
|
|
|
|
Return value: %TRUE on success, %FALSE on failure.
|
|
|
|
</div> <a name="api:SetFilePointer"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetFilePointer</div>
|
|
|
|
<div class="prototype">guint32 SetFilePointer(gpointer handle, gint32 movedistance,
|
|
gint32 *highmovedistance, WapiSeekMethod method)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to set. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_READ or %GENERIC_WRITE access.
|
|
<i>movedistance</i>: Low 32 bits of a signed value that specifies the
|
|
number of bytes to move the file pointer.
|
|
<i>highmovedistance</i>: Pointer to the high 32 bits of a signed value
|
|
that specifies the number of bytes to move the file pointer, or
|
|
%NULL.
|
|
<i>method</i>: The starting point for the file pointer move.
|
|
|
|
Sets the file pointer of an open file.
|
|
|
|
The distance to move the file pointer is calculated from
|
|
<i>movedistance</i> and <i>highmovedistance</i>: If <i>highmovedistance</i> is %NULL,
|
|
<i>movedistance</i> is the 32-bit signed value; otherwise, <i>movedistance</i>
|
|
is the low 32 bits and <i>highmovedistance</i> a pointer to the high 32
|
|
bits of a 64 bit signed value. A positive distance moves the file
|
|
pointer forward from the position specified by <i>method</i>; a negative
|
|
distance moves the file pointer backward.
|
|
|
|
If the library is compiled without large file support,
|
|
<i>highmovedistance</i> is ignored and its value is set to zero on a
|
|
successful return.
|
|
|
|
Return value: On success, the low 32 bits of the new file pointer.
|
|
If <i>highmovedistance</i> is not %NULL, the high 32 bits of the new file
|
|
pointer are stored there. On failure, %INVALID_SET_FILE_POINTER.
|
|
|
|
</div> <a name="api:SetFileTime"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetFileTime</div>
|
|
|
|
<div class="prototype">gboolean SetFileTime(gpointer handle, const WapiFileTime *create_time,
|
|
const WapiFileTime *last_access,
|
|
const WapiFileTime *last_write)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to set. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_WRITE access.
|
|
<i>create_time</i>: Points to a %WapiFileTime structure that contains the
|
|
number of ticks since the epoch that the file was created. May be
|
|
%NULL.
|
|
<i>last_access</i>: Points to a %WapiFileTime structure that contains the
|
|
number of ticks since the epoch when the file was last accessed.
|
|
May be %NULL.
|
|
<i>last_write</i>: Points to a %WapiFileTime structure that contains the
|
|
number of ticks since the epoch when the file was last written to.
|
|
May be %NULL.
|
|
|
|
Sets the number of ticks since the epoch that the file referenced
|
|
by <i>handle</i> was created, last accessed or last modified. A tick is
|
|
a 100 nanosecond interval. The epoch is Midnight, January 1 1601
|
|
GMT.
|
|
|
|
Create time isn't recorded on POSIX file systems, and is ignored.
|
|
|
|
Return value: %TRUE on success, %FALSE otherwise.
|
|
|
|
</div> <a name="api:SetLastError"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetLastError</div>
|
|
|
|
<div class="prototype">void SetLastError(guint32 code)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>code:</i></dt><dd> The error code.</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Sets the error code in the calling thread.
|
|
|
|
</div> <a name="api:SetPriorityClass"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetPriorityClass</div>
|
|
|
|
<div class="prototype">Prototype: SetPriorityClass</div>
|
|
<p />
|
|
|
|
</div> <a name="api:SetProcessWorkingSetSize"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SetProcessWorkingSetSize</div>
|
|
|
|
<div class="prototype">Prototype: SetProcessWorkingSetSize</div>
|
|
<p />
|
|
|
|
</div> <a name="api:ShellExecuteEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">ShellExecuteEx</div>
|
|
|
|
<div class="prototype">Prototype: ShellExecuteEx</div>
|
|
<p />
|
|
|
|
</div> <a name="api:SignalObjectAndWait"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SignalObjectAndWait</div>
|
|
|
|
<div class="prototype">guint32 SignalObjectAndWait(gpointer signal_handle, gpointer wait,
|
|
guint32 timeout, gboolean alertable)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>signal_handle:</i></dt><dd> An object to signal</dd><dt><i>wait:</i></dt><dd> An object to wait for</dd><dt><i>timeout:</i></dt><dd> The maximum time in milliseconds to wait for</dd><dt><i>alertable:</i></dt><dd> Specifies whether the function returnes when the system</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> queues an I/O completion routine or an APC for the calling thread.
|
|
|
|
Atomically signals <i>signal</i> and waits for <i>wait</i> to become signalled,
|
|
or <i>timeout</i> ms elapses. If <i>timeout</i> is zero, the object's state is
|
|
tested and the function returns immediately. If <i>timeout</i> is
|
|
%INFINITE, the function waits forever.
|
|
|
|
<i>signal</i> can be a semaphore, mutex or event object.
|
|
|
|
If <i>alertable</i> is %TRUE and the system queues an I/O completion
|
|
routine or an APC for the calling thread, the function returns and
|
|
the thread calls the completion routine or APC function. If
|
|
%FALSE, the function does not return, and the thread does not call
|
|
the completion routine or APC function. A completion routine is
|
|
queued when the ReadFileEx() or WriteFileEx() function in which it
|
|
was specified has completed. The calling thread is the thread that
|
|
initiated the read or write operation. An APC is queued when
|
|
QueueUserAPC() is called. Currently completion routines and APC
|
|
functions are not supported.
|
|
|
|
Return value: %WAIT_ABANDONED - <i>wait</i> is a mutex that was not
|
|
released by the owning thread when it exited. Ownershop of the
|
|
mutex object is granted to the calling thread and the mutex is set
|
|
to nonsignalled. %WAIT_IO_COMPLETION - the wait was ended by one
|
|
or more user-mode asynchronous procedure calls queued to the
|
|
thread. %WAIT_OBJECT_0 - The state of <i>wait</i> is signalled.
|
|
%WAIT_TIMEOUT - The <i>timeout</i> interval elapsed and <i>wait</i>'s state is
|
|
still not signalled. %WAIT_FAILED - an error occurred.
|
|
|
|
</div> <a name="api:SleepEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SleepEx</div>
|
|
|
|
<div class="prototype">guint32
|
|
SleepEx (guint32 ms, gboolean alertable)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>ms:</i></dt><dd> The time in milliseconds to suspend for</dd><dt><i>alertable:</i></dt><dd> if TRUE, the wait can be interrupted by an APC call</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Suspends execution of the current thread for <i>ms</i> milliseconds. A
|
|
value of zero causes the thread to relinquish its time slice. A
|
|
value of %INFINITE causes an infinite delay.
|
|
|
|
</div> <a name="api:Sleep"></a>
|
|
<div class="api">
|
|
<div class="api-entry">Sleep</div>
|
|
|
|
<div class="prototype">Prototype: Sleep</div>
|
|
<p />
|
|
|
|
</div> <a name="api:SuspendThread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">SuspendThread</div>
|
|
|
|
<div class="prototype">Prototype: SuspendThread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TerminateProcess"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TerminateProcess</div>
|
|
|
|
<div class="prototype">Prototype: TerminateProcess</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TlsAlloc"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TlsAlloc</div>
|
|
|
|
<div class="prototype">Prototype: TlsAlloc</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TlsFree"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TlsFree</div>
|
|
|
|
<div class="prototype">Prototype: TlsFree</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TlsGetValue"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TlsGetValue</div>
|
|
|
|
<div class="prototype">Prototype: TlsGetValue</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TlsSetValue"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TlsSetValue</div>
|
|
|
|
<div class="prototype">Prototype: TlsSetValue</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TransmitFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TransmitFile</div>
|
|
|
|
<div class="prototype">Prototype: TransmitFile</div>
|
|
<p />
|
|
|
|
</div> <a name="api:TryEnterCriticalSection"></a>
|
|
<div class="api">
|
|
<div class="api-entry">TryEnterCriticalSection</div>
|
|
|
|
<div class="prototype">Prototype: TryEnterCriticalSection</div>
|
|
<p />
|
|
|
|
</div> <a name="api:UnlockFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">UnlockFile</div>
|
|
|
|
<div class="prototype">Prototype: UnlockFile</div>
|
|
<p />
|
|
|
|
</div> <a name="api:VerLanguageName"></a>
|
|
<div class="api">
|
|
<div class="api-entry">VerLanguageName</div>
|
|
|
|
<div class="prototype">Prototype: VerLanguageName</div>
|
|
<p />
|
|
|
|
</div> <a name="api:VerQueryValue"></a>
|
|
<div class="api">
|
|
<div class="api-entry">VerQueryValue</div>
|
|
|
|
<div class="prototype">Prototype: VerQueryValue</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WaitForInputIdle"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WaitForInputIdle</div>
|
|
|
|
<div class="prototype">guint32 WaitForInputIdle(gpointer handle, guint32 timeout)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> a handle to the process to wait for</dd><dt><i>timeout:</i></dt><dd> the maximum time in milliseconds to wait for</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
This function returns when either <i>handle</i> process is waiting
|
|
for input, or <i>timeout</i> ms elapses. If <i>timeout</i> is zero, the
|
|
process state is tested and the function returns immediately.
|
|
If <i>timeout</i> is %INFINITE, the function waits forever.
|
|
|
|
Return value: 0 - <i>handle</i> process is waiting for input.
|
|
%WAIT_TIMEOUT - The <i>timeout</i> interval elapsed and
|
|
<i>handle</i> process is not waiting for input. %WAIT_FAILED - an error
|
|
occurred.
|
|
|
|
</div> <a name="api:WaitForMultipleObjectsEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WaitForMultipleObjectsEx</div>
|
|
|
|
<div class="prototype">guint32 WaitForMultipleObjectsEx(guint32 numobjects, gpointer *handles,
|
|
gboolean waitall, guint32 timeout,
|
|
gboolean alertable)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>numobjects:</i></dt><dd> The number of objects in <i>handles</i>. The maximum allowed</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> is %MAXIMUM_WAIT_OBJECTS.
|
|
<i>handles</i>: An array of object handles. Duplicates are not allowed.
|
|
<i>waitall</i>: If %TRUE, this function waits until all of the handles
|
|
are signalled. If %FALSE, this function returns when any object is
|
|
signalled.
|
|
<i>timeout</i>: The maximum time in milliseconds to wait for.
|
|
<i>alertable</i>: if TRUE, the wait can be interrupted by an APC call
|
|
|
|
<p />
|
|
This function returns when either one or more of <i>handles</i> is
|
|
signalled, or <i>timeout</i> ms elapses. If <i>timeout</i> is zero, the state
|
|
of each item of <i>handles</i> is tested and the function returns
|
|
immediately. If <i>timeout</i> is %INFINITE, the function waits forever.
|
|
|
|
Return value: %WAIT_OBJECT_0 to %WAIT_OBJECT_0 + <i>numobjects</i> - 1 -
|
|
if <i>waitall</i> is %TRUE, indicates that all objects are signalled. If
|
|
<i>waitall</i> is %FALSE, the return value minus %WAIT_OBJECT_0 indicates
|
|
the first index into <i>handles</i> of the objects that are signalled.
|
|
%WAIT_ABANDONED_0 to %WAIT_ABANDONED_0 + <i>numobjects</i> - 1 - if
|
|
<i>waitall</i> is %TRUE, indicates that all objects are signalled, and at
|
|
least one object is an abandoned mutex object (See
|
|
WaitForSingleObject() for a description of abandoned mutexes.) If
|
|
<i>waitall</i> is %FALSE, the return value minus %WAIT_ABANDONED_0
|
|
indicates the first index into <i>handles</i> of an abandoned mutex.
|
|
%WAIT_TIMEOUT - The <i>timeout</i> interval elapsed and no objects in
|
|
<i>handles</i> are signalled. %WAIT_FAILED - an error occurred.
|
|
%WAIT_IO_COMPLETION - the wait was ended by an APC.
|
|
|
|
</div> <a name="api:WaitForMultipleObjects"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WaitForMultipleObjects</div>
|
|
|
|
<div class="prototype">Prototype: WaitForMultipleObjects</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WaitForSingleObjectEx"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WaitForSingleObjectEx</div>
|
|
|
|
<div class="prototype">guint32 WaitForSingleObjectEx(gpointer handle, guint32 timeout,
|
|
gboolean alertable)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> an object to wait for</dd><dt><i>timeout:</i></dt><dd> the maximum time in milliseconds to wait for</dd><dt><i>alertable:</i></dt><dd> if TRUE, the wait can be interrupted by an APC call</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
This function returns when either <i>handle</i> is signalled, or <i>timeout</i>
|
|
ms elapses. If <i>timeout</i> is zero, the object's state is tested and
|
|
the function returns immediately. If <i>timeout</i> is %INFINITE, the
|
|
function waits forever.
|
|
|
|
Return value: %WAIT_ABANDONED - <i>handle</i> is a mutex that was not
|
|
released by the owning thread when it exited. Ownership of the
|
|
mutex object is granted to the calling thread and the mutex is set
|
|
to nonsignalled. %WAIT_OBJECT_0 - The state of <i>handle</i> is
|
|
signalled. %WAIT_TIMEOUT - The <i>timeout</i> interval elapsed and
|
|
<i>handle</i>'s state is still not signalled. %WAIT_FAILED - an error
|
|
occurred. %WAIT_IO_COMPLETION - the wait was ended by an APC.
|
|
|
|
</div> <a name="api:WaitForSingleObject"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WaitForSingleObject</div>
|
|
|
|
<div class="prototype">Prototype: WaitForSingleObject</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WriteFile"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WriteFile</div>
|
|
|
|
<div class="prototype">gboolean WriteFile(gpointer handle, gconstpointer buffer, guint32 numbytes,
|
|
guint32 *byteswritten, WapiOverlapped *overlapped)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>handle:</i></dt><dd> The file handle to write to. The handle must have</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p /> %GENERIC_WRITE access.
|
|
<i>buffer</i>: The buffer to read data from.
|
|
<i>numbytes</i>: The maximum number of bytes to write.
|
|
<i>byteswritten</i>: The actual number of bytes written is stored here.
|
|
If the handle is positioned at the file end, the length of the file
|
|
is extended. This parameter may be %NULL.
|
|
<i>overlapped</i>: points to a required %WapiOverlapped structure if
|
|
<i>handle</i> has the %FILE_FLAG_OVERLAPPED option set, should be NULL
|
|
otherwise.
|
|
|
|
If <i>handle</i> does not have the %FILE_FLAG_OVERLAPPED option set, this
|
|
function writes up to <i>numbytes</i> bytes from <i>buffer</i> to the file at
|
|
the current file position. If <i>handle</i> is positioned at the end of
|
|
the file, the file is extended. The actual number of bytes written
|
|
is stored in <i>byteswritten</i>.
|
|
|
|
If <i>handle</i> has the %FILE_FLAG_OVERLAPPED option set, the current
|
|
file position is ignored and the write position is taken from data
|
|
in the <i>overlapped</i> structure.
|
|
|
|
Return value: %TRUE if the write succeeds, %FALSE on error.
|
|
|
|
</div> <a name="api:WSACleanup"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSACleanup</div>
|
|
|
|
<div class="prototype">Prototype: WSACleanup</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WSAGetLastError"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSAGetLastError</div>
|
|
|
|
<div class="prototype">Prototype: WSAGetLastError</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WSAIoctl"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSAIoctl</div>
|
|
|
|
<div class="prototype">Prototype: WSAIoctl</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WSARecv"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSARecv</div>
|
|
|
|
<div class="prototype">Prototype: WSARecv</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WSASend"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSASend</div>
|
|
|
|
<div class="prototype">Prototype: WSASend</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WSASetLastError"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSASetLastError</div>
|
|
|
|
<div class="prototype">Prototype: WSASetLastError</div>
|
|
<p />
|
|
|
|
</div> <a name="api:WSAStartup"></a>
|
|
<div class="api">
|
|
<div class="api-entry">WSAStartup</div>
|
|
|
|
<div class="prototype">Prototype: WSAStartup</div>
|
|
<p />
|
|
|
|
|
|
</div><h3>Extended APIs</h3>
|
|
|
|
<p />The extended APIs provide access to a few internals of the
|
|
WAPI stack that are not exposed through the standard Win32
|
|
APIs.
|
|
|
|
<a name="api:mono_once"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_once</div>
|
|
|
|
<div class="prototype">Prototype: mono_once</div>
|
|
<p />
|
|
|
|
</div> <a name="api:wapi_clear_interruption"></a>
|
|
<div class="api">
|
|
<div class="api-entry">wapi_clear_interruption</div>
|
|
|
|
<div class="prototype">Prototype: wapi_clear_interruption</div>
|
|
<p />
|
|
|
|
</div> <a name="api:wapi_current_thread_desc"></a>
|
|
<div class="api">
|
|
<div class="api-entry">wapi_current_thread_desc</div>
|
|
|
|
<div class="prototype">Prototype: wapi_current_thread_desc</div>
|
|
<p />
|
|
|
|
</div> <a name="api:wapi_interrupt_thread"></a>
|
|
<div class="api">
|
|
<div class="api-entry">wapi_interrupt_thread</div>
|
|
|
|
<div class="prototype">Prototype: wapi_interrupt_thread</div>
|
|
<p />
|
|
|
|
</div> <a name="api:wapi_self_interrupt"></a>
|
|
<div class="api">
|
|
<div class="api-entry">wapi_self_interrupt</div>
|
|
|
|
<div class="prototype">Prototype: wapi_self_interrupt</div>
|
|
<p />
|
|
|
|
</div> <a name="api:wapi_thread_clear_wait_handle"></a>
|
|
<div class="api">
|
|
<div class="api-entry">wapi_thread_clear_wait_handle</div>
|
|
|
|
<div class="prototype">void
|
|
wapi_thread_clear_wait_handle (gpointer handle)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Remarks</b>
|
|
<p />
|
|
Clear the wait handle of the current thread.
|
|
|
|
</div></body>
|
|
</html>
|
|
</span> |