mirror of https://github.com/lianthony/NT4.0
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
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__
|
|
|
|
|
|
|