62 lines
1.2 KiB
C++
62 lines
1.2 KiB
C++
//***************************************************************************
|
|
//
|
|
// Copyright (c) 1998-1999 Microsoft Corporation
|
|
//
|
|
// error.h
|
|
//
|
|
// alanbos 29-Jun-98 Created.
|
|
//
|
|
// Error record handling object
|
|
//
|
|
//***************************************************************************
|
|
|
|
#ifndef _ERROR_H_
|
|
#define _ERROR_H_
|
|
|
|
//***************************************************************************
|
|
//
|
|
// CLASS NAME:
|
|
//
|
|
// CWbemErrorCache
|
|
//
|
|
// DESCRIPTION:
|
|
//
|
|
// Holds WBEM-style "last errors" on threads
|
|
//
|
|
//***************************************************************************
|
|
|
|
class CWbemErrorCache
|
|
{
|
|
private:
|
|
|
|
CRITICAL_SECTION m_cs;
|
|
|
|
typedef struct ThreadError
|
|
{
|
|
ThreadError *pNext;
|
|
ThreadError *pPrev;
|
|
DWORD dwThreadId;
|
|
COAUTHIDENTITY *pCoAuthIdentity;
|
|
BSTR strAuthority;
|
|
BSTR strPrincipal;
|
|
BSTR strNamespacePath;
|
|
IWbemServices *pService;
|
|
IWbemClassObject *pErrorObject;
|
|
} ThreadError;
|
|
|
|
|
|
ThreadError *headPtr;
|
|
|
|
public:
|
|
|
|
CWbemErrorCache ();
|
|
virtual ~CWbemErrorCache ();
|
|
|
|
CSWbemObject *GetAndResetCurrentThreadError ();
|
|
void SetCurrentThreadError (CSWbemServices *pService);
|
|
void ResetCurrentThreadError ();
|
|
};
|
|
|
|
#endif
|
|
|