dbseci.idl 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //-----------------------------------------------------------------------------
  2. // File: dbseci.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation
  5. //
  6. // Contents: OLE DB interface definition
  7. //
  8. // Comments:
  9. //
  10. //-----------------------------------------------------------------------------
  11. #include "idlmulti.h"
  12. //
  13. #if( OLEDBVER >= 0x0200 )
  14. REMOTED_INTERFACE(0c733a62-2a1c-11ce-ade5-00aa0044773d)
  15. #else
  16. LOCAL_INTERFACE(0c733a62-2a1c-11ce-ade5-00aa0044773d)
  17. #endif
  18. interface IDBSecurityInfo : IUnknown {
  19. typedef DWORD DBTRUSTEEACCTTYPE;
  20. enum DBTRUSTEEACCTTYPEENUM {
  21. DBTRUSTEEACCTTYPE_UNKNOWN,
  22. DBTRUSTEEACCTTYPE_USER,
  23. DBTRUSTEEACCTTYPE_GROUP,
  24. };
  25. typedef DWORD DBTRUSTEEIDTYPE;
  26. enum DBTRUSTEEIDTYPEENUM {
  27. DBTRUSTEEIDTYPE_SID,
  28. DBTRUSTEEIDTYPE_NAME,
  29. };
  30. typedef DWORD DBTRUSTEEMULT;
  31. enum DBTRUSTEEMULTENUM {
  32. DBTRUSTEEMULT_NONE,
  33. DBTRUSTEEMULT_IMPERSONATE,
  34. };
  35. typedef struct tagDBTRUSTEE {
  36. struct tagDBTRUSTEE * pMultipleTrustee;
  37. LPOLESTR pwszName;
  38. DBTRUSTEEMULT dwMultipleTrusteeOp;
  39. DBTRUSTEEIDTYPE dwTrusteeIDType;
  40. DBTRUSTEEACCTTYPE dwTrusteeAcctType;
  41. } DBTRUSTEE, *PDBTRUSTEE;
  42. typedef struct tagDBOBJECTTYPE {
  43. LPOLESTR pwszObjectTypeName;
  44. GUID * pguidObjectTypeId;
  45. } DBOBJECTTYPE;
  46. typedef struct tagDBPERMTYPE {
  47. LPOLESTR pwszPermissionTypeName;
  48. GUID * pguidPermissionTypeId;
  49. } DBPERMTYPE;
  50. typedef struct tagDBTRUSTEETYPE {
  51. LPOLESTR pwszTrusteeTypeName;
  52. GUID * pguidTrusteeTypeId;
  53. } DBTRUSTEETYPE;
  54. typedef struct tagDBACCESSTRIPLE {
  55. // DBPERMISSION Permission;
  56. DBPERMTYPE PermissionType;
  57. DBOBJECTTYPE ObjectType;
  58. DBTRUSTEETYPE TrusteeType;
  59. } DBACCESSTRIPLE;
  60. HRESULT GetAccessTriples(
  61. [in, out] ULONG * pcAccessTriplesInfo,
  62. [out, size_is(,*pcAccessTriplesInfo)] DBACCESSTRIPLE ** prgAccessTripleInfo
  63. );
  64. HRESULT GetAuthenticatedTrusteeIdentity(
  65. [out] DBTRUSTEE * pTrustee
  66. );
  67. HRESULT GetObjectTypesInfo(
  68. [in, out] ULONG * pcObjectInfo,
  69. [out, size_is(,*pcObjectInfo)] DBOBJECTTYPE ** prgObjectInfo
  70. );
  71. HRESULT GetPermTypesInfo(
  72. [in, out] ULONG * pcPermInfo,
  73. [out, size_is(,*pcPermInfo)] DBPERMTYPE ** prgPermInfo
  74. );
  75. }