/********************************************************
*                                                       *
*   Copyright (C) Microsoft. All rights reserved.       *
*                                                       *
********************************************************/

//-----------------------------------------------------------------------------
// File:			objactnl.idl
//
// Contents: 		OLE DB interface definition
//
// Comments: 		
//
//-----------------------------------------------------------------------------

cpp_quote("#include <winapifamily.h>")

#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")

#include "idlmulti.h"
//
#if( OLEDBVER >= 0x0200 )
    REMOTED_INTERFACE(0c733aa3-2a1c-11ce-ade5-00aa0044773d)
#else
    LOCAL_INTERFACE(0c733aa3-2a1c-11ce-ade5-00aa0044773d)
#endif
    
interface IObjectAccessControl : IUnknown {	
	HRESULT GetObjectAccessRights(
	[in] SEC_OBJECT*		pObject,
	[in, out] ULONG*    	pcAccessEntries,
	[in, out] EXPLICIT_ACCESS_W**	prgAccessEntries
	);

	HRESULT GetObjectOwner (
	[in] SEC_OBJECT*		pObject, 
	[out] TRUSTEE_W**		ppOwner 
	);

	HRESULT IsObjectAccessAllowed(
	[in] SEC_OBJECT*		pObject,
	[in] EXPLICIT_ACCESS_W*	pAccessEntry,
	[out] BOOL*				pfResult 
	);

	HRESULT SetObjectAccessRights(
	[in] SEC_OBJECT*		pObject,
	[in] ULONG    			cAccessEntries,
	[in, out] EXPLICIT_ACCESS_W*	prgAccessEntries 
	);

	HRESULT SetObjectOwner(
	[in] SEC_OBJECT*	pObject,
	[in] TRUSTEE_W*		pOwner
	);

}

cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion

