<!-- ##### SECTION Title ##### -->
Windows Compatibility Functions

<!-- ##### SECTION Short_Description ##### -->
UNIX emulation on Windows.

<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### MACRO MAXPATHLEN ##### -->
<para>
Provided for UNIX emulation on Windows; equivalent to UNIX 
macro %MAXPATHLEN, which is the maximum length of a filename
(including full path).
</para>



<!-- ##### MACRO pipe ##### -->
<para>
Provided for UNIX emulation on Windows; see documentation for <function>pipe()</function>
in any UNIX manual.
</para>

@phandles: 


<!-- ##### FUNCTION g_win32_error_message ##### -->
<para>

</para>

@error: 
@Returns: 


<!-- ##### FUNCTION g_win32_getlocale ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION g_win32_get_package_installation_directory ##### -->
<para>

</para>

@package: 
@dll_name: 
@Returns: 


<!-- ##### FUNCTION g_win32_get_package_installation_subdirectory ##### -->
<para>

</para>

@package: 
@dll_name: 
@subdir: 
@Returns: 


<!-- ##### FUNCTION g_win32_get_windows_version ##### -->
<para>

</para>

@Returns: 


<!-- ##### MACRO G_WIN32_DLLMAIN_FOR_DLL_NAME ##### -->
<para>
On Windows, this macro defines a <function>DllMain()</function> function 
that stores the actual DLL name that the code being compiled will be 
included in.
</para>
<para>
On non-Windows platforms, expands to nothing.
</para>

@static: empty or "static".
@dll_name: the name of the (pointer to the) char array where the DLL name 
   will be stored. If this is used, you must also include 
   <filename>windows.h</filename>. If you need a more complex DLL entry 
   point function, you cannot use this.


<!-- ##### MACRO G_WIN32_HAVE_WIDECHAR_API ##### -->
<para>
On Windows, this macro defines an expression which evaluates to %TRUE
if the code is running on a version of Windows where the wide
character versions of the Win32 API functions, and the wide chaacter
versions of the C library functions work. (They are always present in
the DLLs, but don't work on Windows 9x and Me.)
</para>
<para>
On non-Windows platforms, it is not defined.
</para>

@Since: 2.6


<!-- ##### MACRO G_WIN32_IS_NT_BASED ##### -->
<para>
On Windows, this macro defines an expression which evaluates to %TRUE 
if the code is running on an NT-based Windows operating system.
</para>
<para>
On non-Windows platforms, it is not defined.
</para>

@Since: 2.6


