windows-nt/Source/XPSP1/NT/printscan/print/spooler/splexts/dbgsec.h

128 lines
2.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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
);