Leaked source code of windows server 2003
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.

94 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 1996, 1997 Microsoft Corporation
  3. Module Name:
  4. acl.h
  5. Abstract:
  6. This module contains routines to support core security operations in
  7. the Protected Storage Server.
  8. Author:
  9. Scott Field (sfield) 25-Nov-96
  10. --*/
  11. #include "pstypes.h"
  12. #include "dispif.h"
  13. // allows server service and providers to impersonate calling client
  14. BOOL
  15. FImpersonateClient(
  16. IN PST_PROVIDER_HANDLE *hPSTProv
  17. );
  18. BOOL
  19. FRevertToSelf(
  20. IN PST_PROVIDER_HANDLE *hPSTProv
  21. );
  22. // gets the user that made the call
  23. BOOL
  24. FGetUserName(
  25. IN PST_PROVIDER_HANDLE *hPSTProv,
  26. OUT LPWSTR* ppszUser
  27. );
  28. // gets the image name for the process
  29. BOOL
  30. FGetParentFileName(
  31. IN PST_PROVIDER_HANDLE *hPSTProv,
  32. OUT LPWSTR* ppszName,
  33. OUT DWORD_PTR *lpdwBaseAddress
  34. );
  35. // gets hash of specified filename
  36. BOOL
  37. FGetDiskHash(
  38. IN PST_PROVIDER_HANDLE *hPSTProv,
  39. IN LPWSTR szImageName,
  40. IN BYTE Hash[A_SHA_DIGEST_LEN]
  41. );
  42. // check if specified file matches authenticode criteria
  43. BOOL
  44. FIsSignedBinary(
  45. IN PST_PROVIDER_HANDLE *hPSTProv,
  46. IN LPWSTR szFileName, // File name (path) to validate against
  47. IN LPWSTR szRootCA, // Root CA
  48. IN LPWSTR szIssuer, // Issuer
  49. IN LPWSTR szPublisher, // publisher
  50. IN LPWSTR szProgramName, // Program name (opus info)
  51. IN BOOL fPartialMatch // partial or full field matching
  52. );
  53. // determines if memory image matches expected value
  54. BOOL
  55. FCheckMemoryImage(
  56. IN PST_PROVIDER_HANDLE *hPSTProv, // handle to identify "owner"
  57. IN LPWSTR szImagePath, // file to compute+check memory hash
  58. IN DWORD dwBaseAddress // base address where module loaded
  59. );
  60. // gets the direct caller to pstore COM interface module path + base address
  61. BOOL
  62. FGetDirectCaller(
  63. IN PST_PROVIDER_HANDLE *hPSTProv,
  64. OUT LPWSTR *pszDirectCaller,
  65. OUT LPVOID *BaseAddress
  66. );
  67. #if 0
  68. BOOL
  69. FCheckSecurityDescriptor(
  70. IN PST_PROVIDER_HANDLE *hPSTProv,
  71. IN PSECURITY_DESCRIPTOR pSD,
  72. IN DWORD dwDesiredAccess
  73. );
  74. #endif