blob: 6f2e5ab565e015df06dcfd264ccdb29d9d832f74 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#pragma once
#ifdef _UWINAPI_
# define _KERNEL32_
# define _USER32_
# define _SHELL32_
#endif
#ifndef _WINDOWS_
#ifdef _MSC_VER
# pragma warning(push,1) /* disable warnings within system headers */
#endif
# include <windows.h>
#ifdef _MSC_VER
# pragma warning(pop)
#endif
#endif
#ifdef __MINGW32__
#include <basetyps.h>
#ifdef _UWINAPI_
#define WINBASEAPI
#endif
#endif
/** GetUserDomain
The GetUserDomain function retrieves the name of the NT domain the user is
logged in.
Parameters
@param lpBuffer
[out] Pointer to a buffer that receives a null-terminated string
containing the domain name.
@param nBufferSize
[in] Specifies the size, in TCHARs, of the buffer pointed to
by the lpBuffer parameter.
Return Values
@return
If the function succeeds, the return value is the number of TCHARs stored
into the buffer pointed to by lpBuffer, not including the terminating
null character.
If the domain name can't be retrieved, the return value is zero.
If the buffer pointed to by lpBuffer is not large enough, the return value
is the buffer size, in TCHARs, required to hold the value string and its
terminating null character.
Remarks
Windows 95/98/Me: If the user is not logged in onto a NT domain server
the name of the workgroup is returned.
Requirements
Windows NT/2000/XP: Included in Windows NT 4 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Uwinapi.h; include Uwinapi.h.
Library: Use Uwinapi.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows 95/98/Me/NT/2000/XP.
See Also
@see
*/
EXTERN_C WINBASEAPI DWORD WINAPI GetUserDomainA( LPSTR lpBuffer, DWORD nBuffserSize );
EXTERN_C WINBASEAPI DWORD WINAPI GetUserDomainW( LPWSTR lpBuffer, DWORD nBuffserSize );
#ifdef UNICODE
#define GetUserDomain GetUserDomainW
#else
#define GetUserDomain GetUserDomainA
#endif
EXTERN_C WINBASEAPI DWORD WINAPI GetProcessId( HANDLE hProcess );
/* macro that calculates the count of elements of a static array */
#define elementsof(buf) (sizeof(buf) / sizeof((buf)[0]))
#ifdef __cplusplus
inline bool IsValidHandle(HANDLE handle)
{
return handle != INVALID_HANDLE_VALUE && handle != NULL;
}
#else /* __cplusplus */
#define IsValidHandle(Handle) ((DWORD)(Handle) + 1 > 1)
#endif /* __cplusplus */