dbseci.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

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