87 lines
1.6 KiB
C++
87 lines
1.6 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1997 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
pointprt.cpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This file implements the code for point & print setup.
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
WIN32 User Mode
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Wesley Witt (wesw) 10-Sept-1997
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include "faxocm.h"
|
||
|
#pragma hdrstop
|
||
|
|
||
|
BOOL
|
||
|
CopyClientFiles(
|
||
|
LPWSTR SourceRoot
|
||
|
);
|
||
|
|
||
|
|
||
|
|
||
|
BOOL
|
||
|
FaxPointPrintInstall(
|
||
|
LPWSTR DirectoryName,
|
||
|
LPWSTR PrinterName
|
||
|
)
|
||
|
{
|
||
|
WCHAR SourceDirectory[MAX_PATH];
|
||
|
WCHAR FaxPrinterName[MAX_PATH];
|
||
|
WCHAR ClientSetupServerName[MAX_PATH];
|
||
|
LPWSTR p;
|
||
|
DWORD len;
|
||
|
HANDLE FaxHandle = INVALID_HANDLE_VALUE;
|
||
|
|
||
|
ClientSetupServerName[0] = 0;
|
||
|
|
||
|
len = wcslen(DirectoryName);
|
||
|
wcscpy( SourceDirectory, DirectoryName );
|
||
|
|
||
|
if (SourceDirectory[len-1] != L'\\') {
|
||
|
SourceDirectory[len] = L'\\';
|
||
|
SourceDirectory[len+1] = 0;
|
||
|
}
|
||
|
|
||
|
p = wcschr( &SourceDirectory[2], TEXT('\\') );
|
||
|
if (p) {
|
||
|
*p = 0;
|
||
|
wcscpy( ClientSetupServerName, &SourceDirectory[2] );
|
||
|
*p = TEXT('\\');
|
||
|
}
|
||
|
|
||
|
if (PrinterName[0] == L'\\' && PrinterName[1] == L'\\') {
|
||
|
wcscpy( FaxPrinterName, PrinterName );
|
||
|
} else {
|
||
|
FaxPrinterName[0] = TEXT('\\');
|
||
|
FaxPrinterName[1] = TEXT('\\');
|
||
|
FaxPrinterName[2] = 0;
|
||
|
wcscat( FaxPrinterName, PrinterName );
|
||
|
}
|
||
|
|
||
|
if (ClientSetupServerName[0]) {
|
||
|
if (!FaxConnectFaxServer( ClientSetupServerName, &FaxHandle )) {
|
||
|
return FALSE;
|
||
|
} else {
|
||
|
FaxClose( FaxHandle );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
CopyClientFiles( SourceDirectory );
|
||
|
SetClientRegistryData();
|
||
|
DoExchangeInstall(NULL);
|
||
|
CreateGroupItems( ClientSetupServerName );
|
||
|
|
||
|
return TRUE;
|
||
|
}
|