110 lines
1.6 KiB
C
110 lines
1.6 KiB
C
/*++
|
||
|
||
Copyright (c) 1991 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
USERNAME.C
|
||
|
||
Abstract:
|
||
|
||
This module contains the GetUserName API.
|
||
|
||
Author:
|
||
|
||
Dave Snipp (DaveSn) 27-May-1992
|
||
|
||
|
||
Revision History:
|
||
|
||
|
||
--*/
|
||
|
||
#include <advapi.h>
|
||
#define SECURITY_WIN32
|
||
#include <sspi.h>
|
||
#include <secext.h>
|
||
#include <stdlib.h>
|
||
#include <ntlsa.h>
|
||
|
||
|
||
//
|
||
// UNICODE APIs
|
||
//
|
||
|
||
|
||
BOOL
|
||
WINAPI
|
||
GetUserNameW (
|
||
LPWSTR pBuffer,
|
||
LPDWORD pcbBuffer
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This returns the name of the user currently being impersonated.
|
||
|
||
Arguments:
|
||
|
||
pBuffer - Points to the buffer that is to receive the
|
||
null-terminated character string containing the user name.
|
||
|
||
pcbBuffer - Specifies the size (in characters) of the buffer.
|
||
The length of the string is returned in pcbBuffer.
|
||
|
||
Return Value:
|
||
|
||
TRUE on success, FALSE on failure.
|
||
|
||
|
||
--*/
|
||
{
|
||
return GetUserNameExW(
|
||
NameSamCompatible | 0x00010000,
|
||
pBuffer,
|
||
pcbBuffer );
|
||
}
|
||
|
||
|
||
|
||
//
|
||
// ANSI APIs
|
||
//
|
||
|
||
BOOL
|
||
WINAPI
|
||
GetUserNameA (
|
||
LPSTR pBuffer,
|
||
LPDWORD pcbBuffer
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This returns the name of the user currently being impersonated.
|
||
|
||
Arguments:
|
||
|
||
pBuffer - Points to the buffer that is to receive the
|
||
null-terminated character string containing the user name.
|
||
|
||
pcbBuffer - Specifies the size (in characters) of the buffer.
|
||
The length of the string is returned in pcbBuffer.
|
||
|
||
Return Value:
|
||
|
||
TRUE on success, FALSE on failure.
|
||
|
||
|
||
--*/
|
||
{
|
||
return GetUserNameExA(
|
||
NameSamCompatible | 0x00010000,
|
||
pBuffer,
|
||
pcbBuffer );
|
||
|
||
}
|