windows-nt/Source/XPSP1/NT/base/fs/hsm/cli/cli.cpp
2020-09-26 16:20:57 +08:00

84 lines
2.5 KiB
C++

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
cli.cpp
Abstract:
DLL main for Cli
Author:
Ran Kalach [rankala] 3-March-2000
Revision History:
--*/
// cli.cpp : Implementation of DLL standard exports.
// Note: Currently, this DLL does not expose any COM objects.
//
#include "stdafx.h"
CComModule _Module;
HINSTANCE g_hInstance;
/*** CComPtr<IWsbTrace> g_pTrace; ***/
/////////////////////////////////////////////////////////////////////////////
// DLL Entry Point
extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
g_hInstance = hInstance;
DisableThreadLibraryCalls(hInstance);
/*** // Initialize trace mechanizm
if (S_OK == CoCreateInstance(CLSID_CWsbTrace, 0, CLSCTX_SERVER, IID_IWsbTrace, (void **)&g_pTrace)) {
CWsbStringPtr tracePath;
CWsbStringPtr regPath;
CWsbStringPtr outString;
// Registry path for CLI settings
// If those expand beyond Trace settings, this path should go to a header file
regPath = L"SOFTWARE\\Microsoft\\RemoteStorage\\CLI";
// Check if tracing path already exists, if not - set it (this should happen only once)
WsbAffirmHr(outString.Alloc(WSB_TRACE_BUFF_SIZE));
if( WsbGetRegistryValueString(NULL, regPath, L"WsbTraceFileName", outString, WSB_TRACE_BUFF_SIZE, 0) != S_OK) {
// No trace settings yet
WCHAR *systemPath;
systemPath = _wgetenv(L"SystemRoot");
WsbAffirmHr(tracePath.Printf( L"%ls\\System32\\RemoteStorage\\Trace\\RsCli.Trc", systemPath));
// Set default settings in the Registry
WsbEnsureRegistryKeyExists(0, regPath);
WsbSetRegistryValueString(0, regPath, L"WsbTraceFileName", tracePath);
// Make sure the trace directory exists.
WsbAffirmHr(tracePath.Printf( L"%ls\\System32\\RemoteStorage", systemPath));
CreateDirectory(tracePath, 0);
WsbAffirmHr(tracePath.Printf( L"%ls\\System32\\RemoteStorage\\Trace", systemPath));
CreateDirectory(tracePath, 0);
}
g_pTrace->SetRegistryEntry(regPath);
g_pTrace->LoadFromRegistry();
} ***/
} else if (dwReason == DLL_PROCESS_DETACH) {
/*** g_pTrace = 0; ***/
}
return TRUE; // ok
}