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.
|
|
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
uninstal.c
Abstract:
This file implements the un-install case.
Environment:
WIN32 User Mode
Author:
Wesley Witt (wesw) 17-Feb-1996
--*/
#include "faxocm.h"
#pragma hdrstop
DWORD DoUninstall( VOID ) { DWORD ErrorCode = 0; HKEY hKey; HKEY hKeyDevice; DWORD RegSize; DWORD RegType; LONG rVal; DWORD i = 0; WCHAR Buffer[MAX_PATH*2];
//
// kill the clients dir
//
wcscpy( Buffer, Platforms[0].DriverDir ); RemoveLastNode( Buffer ); wcscat( Buffer, FAXCLIENTS_DIR ); DeleteDirectoryTree( Buffer );
//
// kill the fax receieve dir(s)
//
rVal = RegOpenKey( HKEY_LOCAL_MACHINE, REGKEY_FAX_DEVICES, &hKey ); if (rVal == ERROR_SUCCESS) { while (RegEnumKey( hKey, i++, Buffer, sizeof(Buffer)/sizeof(WCHAR) ) == ERROR_SUCCESS) { wcscat( Buffer, L"\\" ); wcscat( Buffer, REGKEY_ROUTING ); rVal = RegOpenKey( hKey, Buffer, &hKeyDevice ); if (rVal == ERROR_SUCCESS) { RegSize = sizeof(Buffer); rVal = RegQueryValueEx( hKeyDevice, REGVAL_ROUTING_DIR, 0, &RegType, (LPBYTE) Buffer, &RegSize ); if (rVal == ERROR_SUCCESS) { DeleteDirectoryTree( Buffer ); } RegCloseKey( hKeyDevice ); } } RegCloseKey( hKey ); }
//
// clean out the registry
//
SetProgress( IDS_DELETING_REGISTRY ); DeleteFaxRegistryData();
//
// remove the fax service
//
SetProgress( IDS_DELETING_FAX_SERVICE ); MyDeleteService( L"Fax" );
//
// remove the program groups
//
SetProgress( IDS_DELETING_GROUPS ); DeleteGroupItems();
DeleteFaxMsgServices();
if (InstallType & FAX_INSTALL_SERVER) { DeleteNetworkShare( FAXCLIENTS_DIR ); }
return TRUE; }
|