mirror of https://github.com/UMSKT/xpmgr.git
187 lines
3.1 KiB
C
187 lines
3.1 KiB
C
////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) Microsoft Corporation.
|
|
//
|
|
// SYNOPSIS
|
|
//
|
|
// NAP utilities.
|
|
//
|
|
////////////////////////////////////////////////////////////
|
|
|
|
#ifndef NAPUTIL_H
|
|
#define NAPUTIL_H
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "naptypes.h"
|
|
#include "napmanagement.h"
|
|
#include "napservermanagement.h"
|
|
#include "napprotocol.h"
|
|
#include "napenforcementclient.h"
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// The following functions are exported in QUtil.dll.
|
|
//
|
|
#ifndef NAPAPI
|
|
#define NAPAPI DECLSPEC_IMPORT
|
|
#endif
|
|
|
|
// All the COM interfaces supported by the NAP system
|
|
// use standard COM memory management rules and the COM
|
|
// memory allocator (CoTaskMemAlloc and CoTaskMemFree).
|
|
// in parameters -- allocated and freed by caller.
|
|
// out parameters -- allocated by callee, freed
|
|
// by caller using CoTaskMem*()
|
|
// in/out parameters -- allocated by caller, freed
|
|
// and reallocated by callee,
|
|
// ultimately freed by caller,
|
|
// using CoTaskMem*()
|
|
//
|
|
// The following functions are helpers to aid with
|
|
// COM memory management of some complex structures.
|
|
//
|
|
// In the Free() functions below, all embedded pointers
|
|
// will also be freed.
|
|
//
|
|
|
|
|
|
// Return values of Alloc functions:
|
|
// E_INVALIDARG
|
|
// E_OUTOFMEMORY
|
|
// S_OK
|
|
|
|
NAPAPI
|
|
HRESULT WINAPI
|
|
AllocFixupInfo(
|
|
IN OUT FixupInfo** fixupInfo,
|
|
IN UINT16 countResultCodes
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
HRESULT WINAPI
|
|
AllocConnections(
|
|
IN OUT Connections** connections,
|
|
IN UINT16 connectionsCount
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
HRESULT WINAPI
|
|
AllocCountedString(
|
|
IN OUT CountedString** countedString,
|
|
IN CONST WCHAR* string
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeFixupInfo(
|
|
IN FixupInfo* fixupInfo
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeConnections(
|
|
IN Connections* connections
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeIsolationInfo(
|
|
IN IsolationInfo* isolationInfo
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeIsolationInfoEx(
|
|
IN IsolationInfoEx* isolationInfo
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeCountedString(
|
|
IN CountedString* countedString
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeSoH(
|
|
IN SoH* soh
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeNetworkSoH(
|
|
IN NetworkSoH* networkSoh
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreePrivateData(
|
|
IN PrivateData* privateData
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeSoHAttributeValue(
|
|
IN SoHAttributeType type,
|
|
IN SoHAttributeValue* value
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeNapComponentRegistrationInfoArray(
|
|
IN UINT16 count,
|
|
IN NapComponentRegistrationInfo** info
|
|
);
|
|
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
FreeSystemHealthAgentState(
|
|
IN SystemHealthAgentState* state
|
|
);
|
|
|
|
|
|
// InitializeNapAgentNotifier and UninitializeNapAgentNotifier are used to
|
|
// subscribe to NapAgent service state change notifications and quarantine
|
|
// state change notifications.
|
|
// These functions are not thread safe and should be called once for each
|
|
// process.
|
|
|
|
NAPAPI
|
|
HRESULT WINAPI
|
|
InitializeNapAgentNotifier(
|
|
IN NapNotifyType type,
|
|
IN HANDLE hNotifyEvent
|
|
);
|
|
|
|
NAPAPI
|
|
VOID WINAPI
|
|
UninitializeNapAgentNotifier(
|
|
IN NapNotifyType type
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // NAPUTIL_H
|
|
|