128 lines
2.3 KiB
C
128 lines
2.3 KiB
C
/*++
|
||
|
||
Copyright (C) Microsoft Corporation, 1990 - 2000
|
||
All rights reserved.
|
||
|
||
Module Name:
|
||
|
||
dbgsec.h
|
||
|
||
Abstract:
|
||
|
||
Header file for Spooler Subsystem Debugger Extensions
|
||
|
||
Author:
|
||
|
||
Krishna Ganugapati (KrishnaG) 08-July-1992
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
//
|
||
// Object types
|
||
//
|
||
|
||
#define SPOOLER_OBJECT_SERVER 0
|
||
#define SPOOLER_OBJECT_PRINTER 1
|
||
#define SPOOLER_OBJECT_DOCUMENT 2
|
||
#define SPOOLER_OBJECT_COUNT 3
|
||
|
||
/* These access bits must be different from those exposed in winspool.h,
|
||
* so that no auditing takes place when we do an access check against them:
|
||
*/
|
||
#define SERVER_ACCESS_ADMINISTER_PRIVATE 0x00000004
|
||
#define PRINTER_ACCESS_ADMINISTER_PRIVATE 0x00000008
|
||
#define JOB_ACCESS_ADMINISTER_PRIVATE 0x00000080
|
||
|
||
PSECURITY_DESCRIPTOR
|
||
CreateServerSecurityDescriptor(
|
||
VOID
|
||
);
|
||
|
||
PSECURITY_DESCRIPTOR
|
||
CreatePrinterSecurityDescriptor(
|
||
PSECURITY_DESCRIPTOR pCreatorSecurityDescriptor
|
||
);
|
||
|
||
PSECURITY_DESCRIPTOR
|
||
CreateDocumentSecurityDescriptor(
|
||
PSECURITY_DESCRIPTOR pPrinterSecurityDescriptor
|
||
);
|
||
|
||
BOOL
|
||
SetPrinterSecurityDescriptor(
|
||
SECURITY_INFORMATION SecurityInformation,
|
||
PSECURITY_DESCRIPTOR pModificationDescriptor,
|
||
PSECURITY_DESCRIPTOR *ppObjectsSecurityDescriptor
|
||
);
|
||
|
||
BOOL
|
||
DeletePrinterSecurity(
|
||
PINIPRINTER pIniPrinter
|
||
);
|
||
|
||
BOOL
|
||
DeleteDocumentSecurity(
|
||
PINIJOB pIniJob
|
||
);
|
||
|
||
PSECURITY_DESCRIPTOR
|
||
CreateEverybodySecurityDescriptor(
|
||
VOID
|
||
);
|
||
|
||
BOOL
|
||
ValidateObjectAccess(
|
||
DWORD ObjectType,
|
||
ACCESS_MASK DesiredAccess,
|
||
LPVOID ObjectHandle
|
||
);
|
||
|
||
BOOL
|
||
AccessGranted(
|
||
DWORD ObjectType,
|
||
ACCESS_MASK DesiredAccess,
|
||
PSPOOL pSpool
|
||
);
|
||
|
||
VOID MapGenericToSpecificAccess(
|
||
DWORD ObjectType,
|
||
DWORD GenericAccess,
|
||
PDWORD pSpecificAccess
|
||
);
|
||
|
||
BOOL
|
||
GetTokenHandle(
|
||
PHANDLE TokenHandle
|
||
);
|
||
|
||
BOOL
|
||
GetSecurityInformation(
|
||
PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||
PSECURITY_INFORMATION pSecurityInformation
|
||
);
|
||
|
||
ACCESS_MASK
|
||
GetPrivilegeRequired(
|
||
SECURITY_INFORMATION SecurityInformation
|
||
);
|
||
|
||
BOOL
|
||
BuildPartialSecurityDescriptor(
|
||
ACCESS_MASK AccessGranted,
|
||
PSECURITY_DESCRIPTOR pSourceSecurityDescriptor,
|
||
PSECURITY_DESCRIPTOR *ppPartialSecurityDescriptor,
|
||
PDWORD pPartialSecurityDescriptorLength
|
||
);
|
||
|
||
PSECURITY_DESCRIPTOR
|
||
CreateDriversShareSecurityDescriptor(
|
||
VOID
|
||
);
|
||
|
||
PSECURITY_DESCRIPTOR
|
||
CreatePrintShareSecurityDescriptor(
|
||
VOID
|
||
);
|
||
|