///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1997, Microsoft Corp. All rights reserved.
//
// FILE
//
//    iastlb.idl
//
// SYNOPSIS
//
//    Describes the interfaces and type library for the IAS core.
//
// MODIFICATION HISTORY
//
//    08/04/1997    Original version.
//    12/19/1997    Added new dictionary objects.
//    04/14/1998    Removed System Monitor coclass.
//    08/10/1998    Removed obsolete dictionary-related interfaces.
//    08/13/1998    Consolidated core interfaces into single file.
//    10/23/1998    Added IDialinPrivilegeRevoker.
//    04/17/2000    Removed IDialinPrivilegeRevoker, IIasDataSource, and
//                  IDictionary. Added IAttributeDictionary.
//
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
//
//  Definitions needed by request handlers.
//
///////////////////////////////////////////////////////////////////////////////

import "oaidl.idl";
import "datastore2.idl";
import "iascomp.idl";
import "iaspolcy.idl";

///////////////////////////////////////////////////////////////////////////////
//
//  Audit Channel interfaces.
//
///////////////////////////////////////////////////////////////////////////////

[
   object,
   uuid(6BC0969A-0CE6-11D1-BAAE-00C04FC2E20D)
]
interface IAuditSink : IUnknown
{

   HRESULT AuditEvent([in] ULONG ulEventID,
                      [in] ULONG ulNumStrings,
                      [in] ULONG ulDataSize,
                      [in, size_is(ulNumStrings), string] wchar_t** aszStrings,
                      [in, size_is(ulDataSize)] byte* pRawData);
};

[
   object,
   uuid(6BC0969B-0CE6-11D1-BAAE-00C04FC2E20D)
]
interface IAuditSource : IUnknown
{
   HRESULT Clear();
   HRESULT Connect([in] IAuditSink* pSink);
   HRESULT Disconnect([in] IAuditSink* pSink);
};

///////////////////////////////////////////////////////////////////////////////
//
//  Core type library.
//
///////////////////////////////////////////////////////////////////////////////

[
   helpstring("IAS Core Components 1.0"),
   uuid(6BC09690-0CE6-11D1-BAAE-00C04FC2E20D),
   version(1.0)
]
library IASCoreLib
{
   importlib("stdole2.tlb");

   interface IAttributeDictionary;
   interface IAuditSink;
   interface IAuditSource;
   interface IIASNetshJetHelper;
   interface IIasComponent;
   interface IRequestHandler;
};
