windows-nt/Source/XPSP1/NT/base/screg/sc/lib/acctname.cxx
2020-09-26 16:20:57 +08:00

88 lines
1.4 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
AcctName.c
Abstract:
Contains miscellaneous utility functions used by the Service
Controller:
ScIsValidAccountName
Author:
John Rogers (JohnRo) 14-Apr-1992
Environment:
User Mode -Win32
Revision History:
14-Apr-1992 JohnRo
Created.
20-May-1992 JohnRo
Use CONST where possible.
--*/
#include <nt.h>
#include <ntrtl.h>
//#include <nturtl.h>
#include <windef.h>
#include <scdebug.h> // SC_ASSERT().
#include <sclib.h> // My prototype.
#include <stdlib.h> // wcschr().
BOOL
ScIsValidAccountName(
IN LPCWSTR lpAccountName
)
/*++
Routine Description:
This function validates a given service Account name.
Arguments:
lpAccountName - Supplies the Account name to be validated.
Return Value:
TRUE - The name is valid.
FALSE - The name is invalid.
--*/
{
if (lpAccountName == NULL) {
return (FALSE); // Missing name isn't valid.
} else if ( (*lpAccountName) == L'\0' ) {
return (FALSE); // Missing name isn't valid.
}
//
// name is account name ("domain\user" or ".\user" or LocalSystem).
//
if (lpAccountName[0] == L'\\') {
return (FALSE);
}
//
// The account name is canonicalized and validated later.
//
return TRUE;
}