Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

186 lines
3.7 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
All rights reserved
Module Name:
sspiutils.hxx
Abstract:
utils
Author:
Larry Zhu (LZhu) December 1, 2001 Created
Environment:
User Mode -Win32
Revision History:
--*/
#ifndef SSPI_UTILS_HXX
#define SSPI_UTILS_HXX
HRESULT
AcquireCredHandle(
IN OPTIONAL PSTR pszPrincipal,
IN OPTIONAL LUID* pLogonID,
IN PSTR pszPackageName,
IN OPTIONAL VOID* pAuthData,
IN ULONG fCredentialUse,
OUT PCredHandle phCred
);
HRESULT
CheckSecurityContextHandle(
IN PCtxtHandle phCtxt
);
VOID
GetAuthdata(
IN OPTIONAL PCTSTR pszUserName,
IN OPTIONAL PCTSTR pszDomainName,
IN OPTIONAL PCTSTR pszPassword,
OUT SEC_WINNT_AUTH_IDENTITY* pAuthData
);
VOID
GetAuthdataExA(
IN OPTIONAL PCSTR pszUserName,
IN OPTIONAL PCSTR pszDomainName,
IN OPTIONAL PCSTR pszPassword,
IN OPTIONAL PCSTR pszPackageList,
OUT SEC_WINNT_AUTH_IDENTITY_EXA* pAuthDataEx
);
VOID
GetAuthdataExW(
IN OPTIONAL PCWSTR pszUserName,
IN OPTIONAL PCWSTR pszDomainName,
IN OPTIONAL PCWSTR pszPassword,
IN OPTIONAL PCWSTR pszPackageList,
OUT SEC_WINNT_AUTH_IDENTITY_EXW* pAuthDataEx
);
#if defined(UNICODE) || defined(_UNICODE)
#define GetAuthdataEx GetAuthdataExW
#else
#define GetAuthdataEx GetAuthdataExA
#endif
HRESULT
GetAuthdataWMarshalled(
IN OPTIONAL PCWSTR pszUserName,
IN OPTIONAL PCWSTR pszDomainName,
IN OPTIONAL PCWSTR pszPassword,
OUT SEC_WINNT_AUTH_IDENTITY_W** ppAuthData
);
HRESULT
GetAuthdataExWMarshalled(
IN OPTIONAL PCWSTR pszUserName,
IN OPTIONAL PCWSTR pszDomainName,
IN OPTIONAL PCWSTR pszPassword,
IN OPTIONAL PCWSTR pszPackageList,
OUT SEC_WINNT_AUTH_IDENTITY_EXW** ppAuthData
);
NTSTATUS
GetCredHandle(
IN OPTIONAL PTSTR pszPrincipal,
IN OPTIONAL LUID* pLogonID,
IN PTSTR pszPackageName,
IN OPTIONAL VOID* pAuthData,
IN ULONG fCredentialUse,
OUT CredHandle* phCred
);
NTSTATUS
CreateTargetInfo(
IN UNICODE_STRING* pTargetName,
OUT STRING* pTargetInfo
);
MSV1_0_AV_PAIR*
SspAvlGet(
IN MSV1_0_AV_PAIR* pAvList,
IN MSV1_0_AVID AvId,
IN ULONG cAvList
);
MSV1_0_AV_PAIR*
SspAvlAdd(
IN MSV1_0_AV_PAIR* pAvList,
IN MSV1_0_AVID AvId,
IN OPTIONAL UNICODE_STRING* pString,
IN ULONG cAvList
);
MSV1_0_AV_PAIR*
SspAvlInit(
IN VOID* pAvList
);
ULONG
SspAvlLen(
IN MSV1_0_AV_PAIR* pAvList,
IN ULONG cAvList
);
VOID
SspCopyStringAsString32(
IN VOID* pMessageBuffer,
IN OPTIONAL STRING* pInString,
IN OUT UCHAR** ppWhere,
OUT STRING32* pOutString32
);
NTSTATUS
SspConvertRelativeToAbsolute(
IN VOID* pMessageBase,
IN ULONG cbMessageSize,
IN STRING32* pStringToRelocate,
IN BOOLEAN AlignToWchar,
IN BOOLEAN AllowNullString,
OUT STRING* pOutputString
);
NTSTATUS
GetTargetInfo(
IN ULONG TargetFlags,
IN BOOLEAN bForceGuest,
IN OPTIONAL UNICODE_STRING* pDnsDomainName,
IN OPTIONAL UNICODE_STRING* pDnsComputerName,
IN OPTIONAL UNICODE_STRING* pDnsTreeName,
IN OPTIONAL UNICODE_STRING* pTargetName,
IN OPTIONAL UNICODE_STRING* pComputerName,
OUT UNICODE_STRING* pTargetInfo
);
HRESULT
IsContinueNeeded(
IN HRESULT hr
);
HRESULT
IsCompleteNeeded(
IN HRESULT hr
);
HRESULT
CheckSecurityPackage(
IN OPTIONAL PCSTR pszPackageName
);
HRESULT
SetProcessOptions(
IN HANDLE hLsa,
IN ULONG PackageId,
IN ULONG ProcessOptions
);
#endif // #ifndef SSPI_UTILS_HXX