windows-nt/Source/XPSP1/NT/net/ias/providers/ntuser/basecamp/basecamp.h
2020-09-26 16:20:57 +08:00

95 lines
1.9 KiB
C++

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1998, Microsoft Corp. All rights reserved.
//
// FILE
//
// basecamp.h
//
// SYNOPSIS
//
// Declares the class BaseCampHostBase.
//
// MODIFICATION HISTORY
//
// 12/01/1998 Original version.
// 04/21/1999 Convert to a base class.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _BASECAMP_H_
#define _BASECAMP_H_
#include <iastl.h>
#include <iastlutl.h>
using namespace IASTL;
#include <vsafilter.h>
class BaseCampExtension;
///////////////////////////////////////////////////////////////////////////////
//
// CLASS
//
// BaseCampHostBase
//
///////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE BaseCampHostBase : public IASRequestHandlerSync
{
public:
// Actions that extensions are allowed to return.
enum Actions {
ACTION_ACCEPT = 1,
ACTION_REJECT = 2
};
BaseCampHostBase(
PCSTR friendlyName,
PCWSTR registryKey,
PCWSTR registryValue,
BOOL inboundPacket,
DWORD actions
) throw ();
//////////
// IIasComponent
//////////
STDMETHOD(Initialize)();
STDMETHOD(Shutdown)();
protected:
// Main request processing routine.
virtual IASREQUESTSTATUS onSyncRequest(IRequest* pRequest) throw ();
private:
// Friendly name of the host.
PCSTR name;
// Registry key/value used for reading the extensions.
PCWSTR extensionsKey;
PCWSTR extensionsValue;
// Should the extensions be presented inbound or outbound packets.
BOOL inbound;
// Actions that extensions can return.
DWORD allowedActions;
// Number of extension DLLs.
DWORD numExtensions;
// Array of extension DLL's.
BaseCampExtension* extensions;
// Used for converting VSA's.
VSAFilter filter;
// Authentication type attribute.
IASAttribute authType;
};
#endif // _BASECAMP_H_