xpmgr/BuildTools/Include/dbseci.idl

97 lines
2.1 KiB
Plaintext

//-----------------------------------------------------------------------------
// File: dbseci.idl
//
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents: OLE DB interface definition
//
// Comments:
//
//-----------------------------------------------------------------------------
#include "idlmulti.h"
//
#if( OLEDBVER >= 0x0200 )
REMOTED_INTERFACE(0c733a62-2a1c-11ce-ade5-00aa0044773d)
#else
LOCAL_INTERFACE(0c733a62-2a1c-11ce-ade5-00aa0044773d)
#endif
interface IDBSecurityInfo : IUnknown {
typedef DWORD DBTRUSTEEACCTTYPE;
enum DBTRUSTEEACCTTYPEENUM {
DBTRUSTEEACCTTYPE_UNKNOWN,
DBTRUSTEEACCTTYPE_USER,
DBTRUSTEEACCTTYPE_GROUP,
};
typedef DWORD DBTRUSTEEIDTYPE;
enum DBTRUSTEEIDTYPEENUM {
DBTRUSTEEIDTYPE_SID,
DBTRUSTEEIDTYPE_NAME,
};
typedef DWORD DBTRUSTEEMULT;
enum DBTRUSTEEMULTENUM {
DBTRUSTEEMULT_NONE,
DBTRUSTEEMULT_IMPERSONATE,
};
typedef struct tagDBTRUSTEE {
struct tagDBTRUSTEE * pMultipleTrustee;
LPOLESTR pwszName;
DBTRUSTEEMULT dwMultipleTrusteeOp;
DBTRUSTEEIDTYPE dwTrusteeIDType;
DBTRUSTEEACCTTYPE dwTrusteeAcctType;
} DBTRUSTEE, *PDBTRUSTEE;
typedef struct tagDBOBJECTTYPE {
LPOLESTR pwszObjectTypeName;
GUID * pguidObjectTypeId;
} DBOBJECTTYPE;
typedef struct tagDBPERMTYPE {
LPOLESTR pwszPermissionTypeName;
GUID * pguidPermissionTypeId;
} DBPERMTYPE;
typedef struct tagDBTRUSTEETYPE {
LPOLESTR pwszTrusteeTypeName;
GUID * pguidTrusteeTypeId;
} DBTRUSTEETYPE;
typedef struct tagDBACCESSTRIPLE {
// DBPERMISSION Permission;
DBPERMTYPE PermissionType;
DBOBJECTTYPE ObjectType;
DBTRUSTEETYPE TrusteeType;
} DBACCESSTRIPLE;
HRESULT GetAccessTriples(
[in, out] ULONG * pcAccessTriplesInfo,
[out, size_is(,*pcAccessTriplesInfo)] DBACCESSTRIPLE ** prgAccessTripleInfo
);
HRESULT GetAuthenticatedTrusteeIdentity(
[out] DBTRUSTEE * pTrustee
);
HRESULT GetObjectTypesInfo(
[in, out] ULONG * pcObjectInfo,
[out, size_is(,*pcObjectInfo)] DBOBJECTTYPE ** prgObjectInfo
);
HRESULT GetPermTypesInfo(
[in, out] ULONG * pcPermInfo,
[out, size_is(,*pcPermInfo)] DBPERMTYPE ** prgPermInfo
);
}