Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (c) 1994-95 Microsoft Corporation
Module Name:
llsimp.h
Abstract:
Imported definitions (dirty laundry).
Author:
Don Ryan (donryan) 29-Jan-1994
Environment:
User Mode - Win32
Revision History:
--*/
#ifndef _LLSIMP_H_
#define _LLSIMP_H_
#ifdef __cplusplus
extern "C" { #endif
#define IN
#define OUT
typedef long NTSTATUS;
#define NT_SUCCESS(Status) ((NTSTATUS)Status >= 0)
#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
#define STATUS_UNSUCCESSFUL ((NTSTATUS)0x00000001L)
#define STATUS_MORE_ENTRIES ((NTSTATUS)0x00000105L)
#define STATUS_NO_MORE_ENTRIES ((NTSTATUS)0x8000001AL)
#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL)
#define STATUS_INVALID_HANDLE ((NTSTATUS)0xC0000008L)
#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)
#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034L)
#define STATUS_MEMBER_IN_GROUP ((NTSTATUS)0xC0000067L)
#define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL)
#define STATUS_NOT_FOUND ((NTSTATUS)0xC0000225L)
#define RPC_NT_SERVER_UNAVAILABLE ((NTSTATUS)0xC0020017L)
#define RPC_NT_SS_CONTEXT_MISMATCH ((NTSTATUS)0xC0030005L)
#define IsConnectionDropped(Status) \
(((NTSTATUS)(Status) == STATUS_INVALID_HANDLE) || \ ((NTSTATUS)(Status) == RPC_NT_SERVER_UNAVAILABLE) || \ ((NTSTATUS)(Status) == RPC_NT_SS_CONTEXT_MISMATCH) || \ ((NTSTATUS)(Status) == RPC_S_SERVER_UNAVAILABLE) || \ ((NTSTATUS)(Status) == RPC_S_CALL_FAILED))
#define LLS_PREFERRED_LENGTH ((DWORD)-1L)
#define V_ISVOID(va) \
( \ (V_VT(va) == VT_EMPTY) || \ (V_VT(va) == VT_ERROR && V_ERROR(va) == DISP_E_PARAMNOTFOUND) \ )
#define POLICY_VIEW_LOCAL_INFORMATION 0x00000001L
#define POLICY_LOOKUP_NAMES 0x00000800L
#define LLS_DESIRED_ACCESS (STANDARD_RIGHTS_REQUIRED |\
POLICY_VIEW_LOCAL_INFORMATION |\ POLICY_LOOKUP_NAMES )
typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
typedef ULONG LSA_ENUMERATION_HANDLE, *PLSA_ENUMERATION_HANDLE;
typedef struct _LSA_UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer; } LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
typedef struct _LSA_OBJECT_ATTRIBUTES { ULONG Length; HANDLE RootDirectory; PLSA_UNICODE_STRING ObjectName; ULONG Attributes; PVOID SecurityDescriptor; // Points to type SECURITY_DESCRIPTOR
PVOID SecurityQualityOfService; // Points to type SECURITY_QUALITY_OF_SERVICE
} LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
typedef struct _LSA_TRUST_INFORMATION {
LSA_UNICODE_STRING Name; LPVOID Sid; // PSID Sid;
} LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION;
NTSTATUS NTAPI LsaOpenPolicy( IN PLSA_UNICODE_STRING SystemName, IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes, IN ACCESS_MASK DesiredAccess, IN OUT PLSA_HANDLE PolicyHandle );
NTSTATUS NTAPI LsaEnumerateTrustedDomains( IN LSA_HANDLE PolicyHandle, IN OUT PLSA_ENUMERATION_HANDLE EnumerationContext, OUT PVOID *Buffer, IN ULONG PreferedMaximumLength, OUT PULONG CountReturned );
NTSTATUS NTAPI LsaFreeMemory( IN PVOID Buffer );
NTSTATUS NTAPI LsaClose( IN LSA_HANDLE ObjectHandle );
#define InitializeObjectAttributes( p, n, a, r, s ) { \
(p)->Length = sizeof( LSA_OBJECT_ATTRIBUTES ); \ (p)->RootDirectory = r; \ (p)->Attributes = a; \ (p)->ObjectName = n; \ (p)->SecurityDescriptor = s; \ (p)->SecurityQualityOfService = NULL; \ }
NTSYSAPI VOID NTAPI RtlSecondsSince1980ToTime ( ULONG ElapsedSeconds, PLARGE_INTEGER Time );
NTSYSAPI VOID NTAPI RtlInitUnicodeString( PLSA_UNICODE_STRING DestinationString, PCWSTR SourceString );
#ifdef __cplusplus
} #endif
#endif // _LLSIMP_H_
|