Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: N C M I S C . H
//
// Contents: Miscellaneious common code.
//
// Notes: Pollute this under penalty of death.
//
// Author: shaunco 10 Oct 1997
//
//----------------------------------------------------------------------------
#pragma once
#ifndef _NCMISC_H_
#define _NCMISC_H_
#include "ncdebug.h" // for AssertH
#include "ncdefine.h" // for NOTHROW
const WORD wWinNT351BuildNumber = 1057; const WORD wWinNT4BuildNumber = 1381;
#define WM_SELECTED_ALL WM_USER+200
//+---------------------------------------------------------------------------
// CExceptionSafeLock takes advantage of automatic constructor/destructor
// action guaranteed by the compiler (if stack unwinding is turned on)
// to always ensure that a critical section is left if it has ever been
// entered. The constructor of this class enters the critical section
// and destructor leaves it. The critical section must have been initialized
// before this class can be used.
//
class CExceptionSafeLock { public: CExceptionSafeLock (CRITICAL_SECTION* pCritSec) { AssertH (pCritSec);
m_pCritSec = pCritSec; EnterCriticalSection (pCritSec);
//TraceTag (ttidEsLock, "Entered critical section 0x%08x", pCritSec);
}
~CExceptionSafeLock () { AssertH (m_pCritSec);
//TraceTag (ttidEsLock, "Leaving critical section 0x%08x", &m_pCritSec);
LeaveCriticalSection (m_pCritSec); }
protected: CRITICAL_SECTION* m_pCritSec; };
BOOL FInSystemSetup ();
#if defined(REMOTE_BOOT)
HRESULT HrIsRemoteBootMachine(); #endif
enum PRODUCT_FLAVOR { PF_WORKSTATION = 1, PF_SERVER = 2, };
NOTHROW VOID GetProductFlavor ( const VOID* pvReserved, PRODUCT_FLAVOR* ppf);
HRESULT HrIsNetworkingInstalled ();
enum REGISTER_FUNCTION { RF_REGISTER, RF_UNREGISTER, }; HRESULT HrRegisterOrUnregisterComObject ( PCWSTR pszDllPath, REGISTER_FUNCTION rf);
inline HRESULT HrRegisterComObject ( PCWSTR pszDllPath) { HRESULT hr = HrRegisterOrUnregisterComObject (pszDllPath, RF_REGISTER); TraceError("HrRegisterComObject", hr); return hr; }
inline HRESULT HrUnregisterComObject ( PCWSTR pszDllPath) { HRESULT hr = HrRegisterOrUnregisterComObject (pszDllPath, RF_UNREGISTER); TraceError("HrUnregisterComObject", hr); return hr; }
DWORD ScStopNetbios();
HRESULT HrEnableAndStartSpooler(); HRESULT HrCreateDirectoryTree(PWSTR pszPath, LPSECURITY_ATTRIBUTES psa); HRESULT HrDeleteFileSpecification(PCWSTR pszFileSpec, PCWSTR pszDirectoryPath); HRESULT HrDeleteDirectory(IN PCWSTR pszDir, IN BOOL fContinueOnError);
VOID LowerCaseComputerName(PWSTR szName);
#endif // _NCMISC_H_
|