Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

130 lines
5.8 KiB

//+-------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1993 - 1994.
//
// File: provutil.h
//
// Contents: private provider independent access control header file
//
// History: 8-94 Created DaveMont
//
//--------------------------------------------------------------------
#ifndef __PROVIDER_INDEPENDENT_ACCESS_PRIVATE__
#define __PROVIDER_INDEPENDENT_ACCESS_PRIVATE__
//+-------------------------------------------------------------------------
// provapi\ntspec.cxx
//+-------------------------------------------------------------------------
DWORD GetNameInfo(IN LPWSTR pObjectName,
IN PROV_OBJECT_TYPE ObjectType,
OUT PPROV_PATH_TYPE PathType,
OUT LPWSTR *pMachineName);
//+-------------------------------------------------------------------------
// provapi\util.cxx
//+-------------------------------------------------------------------------
DWORD ApplyAccessRightsW( IN LPWSTR pObjectName,
IN PROV_OBJECT_TYPE ObjectType,
IN ACCESS_MODE AccessMode,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests,
IN BOOL fReplaceAll);
DWORD ApplyAccessRightsA(IN LPSTR pObjectName,
IN PROV_OBJECT_TYPE ObjectType,
IN ACCESS_MODE AccessMode,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests,
IN BOOL fReplaceAll);
DWORD
WExplicitAccessesToAExplicitAccesses( IN ULONG cCountOfExplicitAccesses,
IN PPROV_EXPLICIT_ACCESS pWListOfExplicitAccesses,
OUT PPROV_EXPLICIT_ACCESS *pAListOfExplicitAccesses);
int wcstostr(CHAR *pto, WCHAR *wpfrom);
int strtowcs(WCHAR *wpto, CHAR *pfrom);
//+-------------------------------------------------------------------------
// nt\ntprov.cxx
//+-------------------------------------------------------------------------
DWORD
ApplyAccessRightsNT( IN LPWSTR pObjectName,
IN PROV_OBJECT_TYPE ObjectType,
IN LPWSTR pMachineName,
IN ACCESS_MODE AccessMode,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests,
IN BOOL fReplaceAll);
DWORD
GetEffectiveAccessRightsNT( IN LPWSTR pObjectName,
IN PROV_OBJECT_TYPE ObjectType,
IN LPWSTR pMachineName,
IN LPWSTR pTrustee,
OUT PACCESS_RIGHTS pReturnedAccess);
DWORD
GetExplicitAccessRightsNT( IN LPWSTR pObjectName,
IN PROV_OBJECT_TYPE ObjectType,
IN LPWSTR pMachineName,
OUT PULONG pcCountOfExplicitAccesses,
OUT PPROV_EXPLICIT_ACCESS *pListOfExplicitAccesses);
DWORD
ProvAccessRequestToAccessEntry(IN SE_OBJECT_TYPE SeObjectType,
IN ACCESS_MODE AccessMode,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests,
IN ULONG cCountOfAccessEntries,
OUT PACCESS_ENTRY *pListOfAccessEntries);
DWORD
AccessEntryToProvExplicitAccess(IN SE_OBJECT_TYPE SeObjectType,
IN ULONG cCountOfAccessEntries,
IN PACCESS_ENTRY pListOfAccessEntries,
OUT PPROV_EXPLICIT_ACCESS *pListOfExplicitAccesses);
DWORD
ProvObjectTypeToSeObjectType(IN PROV_OBJECT_TYPE ObjectType,
OUT SE_OBJECT_TYPE *seobjecttype);
//+-------------------------------------------------------------------------
// objspec\oleobj.cxx
//+-------------------------------------------------------------------------
DWORD
GrantOleObjectAccessRights( IN LPWSTR pObjectName,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests);
DWORD
SetOleObjectAccessRights( IN LPWSTR pObjectName,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests);
DWORD
ReplaceAllOleObjectAccessRights( IN LPWSTR pObjectName,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests);
DWORD
RevokeOleObjectAccessRights(IN LPWSTR pObjectName,
IN ULONG cCountOfTrustees,
IN LPWSTR *pListOfTrustees);
DWORD
DenyOleObjectAccessRights(IN LPWSTR pObjectName,
IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests);
DWORD
GetOleObjectExplicitAccessRights(IN LPWSTR pObjectName,
OUT PULONG pcCountOfExplicitAccesses,
OUT PPROV_EXPLICIT_ACCESS *pListOfExplicitAccesses);
DWORD
GetOleObjectEffectiveAccessRights(IN LPWSTR pObjectName,
IN LPWSTR Trustee,
OUT PACCESS_RIGHTS pAccessRights);
DWORD
ProvAccessRequestToStgAccessRequest( IN ULONG cCountOfAccessRequests,
IN PPROV_ACCESS_REQUEST pListOfAccessRequests,
OUT PACCESS_REQUEST *pListOfExplicitAccesses);
DWORD
StgExplicitAccessToProvExplicitAccess(IN ULONG cCountOfExplicitAccesses,
IN PEXPLICIT_ACCESS pListOfExplicitAccesses,
OUT PPROV_EXPLICIT_ACCESS *pListOfAccessRequests);
#endif // __PROVIDER_INDEPENDENT_ACCESS_PRIVATE__