mirror of https://github.com/tongzx/nt5src
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.
1015 lines
26 KiB
1015 lines
26 KiB
/*++
|
|
|
|
Copyright (c) 1993 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
otnboot.H
|
|
|
|
Abstract:
|
|
|
|
Constant definitions for the Net Client Disk Utility.
|
|
|
|
Author:
|
|
|
|
Bob Watson (a-robw)
|
|
|
|
Revision History:
|
|
|
|
17 Feb 94 Written
|
|
|
|
|
|
--*/
|
|
#ifndef _otnboot_H_
|
|
#define _otnboot_H_
|
|
|
|
#include <winioctl.h>
|
|
#include <nddeapi.h>
|
|
|
|
#ifndef DS_3DLOOK
|
|
#define DS_3DLOOK 0x0004L
|
|
#endif
|
|
|
|
#ifdef JAPAN
|
|
#define NCDU_DOSV_CHECK 1000
|
|
#endif
|
|
|
|
//Note: above NCDU_DOSV_CHECK should be added to file otnbtdlg.h, but that file cannot
|
|
// be checked in to the SLM, so moved here.
|
|
//
|
|
|
|
|
|
|
|
//
|
|
// Application specific windows messages
|
|
//
|
|
#define NCDU_SHOW_SW_CONFIG_DLG (WM_USER+11)
|
|
#define NCDU_SHOW_TARGET_WS_DLG (WM_USER+12)
|
|
#define NCDU_SHOW_SERVER_CFG_DLG (WM_USER+13)
|
|
#define NCDU_SHOW_CONFIRM_DLG (WM_USER+14)
|
|
#define NCDU_SHOW_CREATE_DISKS_DLG (WM_USER+15)
|
|
#define NCDU_SHOW_SHARE_NET_SW_DLG (WM_USER+16)
|
|
#define NCDU_SHOW_COPYING_DLG (WM_USER+17)
|
|
#define NCDU_SHOW_EXIT_MESSAGE_DLG (WM_USER+18)
|
|
#define NCDU_SHOW_COPY_ADMIN_UTILS (WM_USER+19)
|
|
#define NCDU_CLEAR_DLG (WM_USER+20)
|
|
#define NCDU_REGISTER_DLG (WM_USER+21)
|
|
#define NCDU_UPDATE_WINDOW_POS (WM_USER+22)
|
|
|
|
//
|
|
// resource constant definitions
|
|
//
|
|
//#define NCDU_APP_ICON 0x7000
|
|
|
|
#define NCDU_ID_ABOUT 0xFF10
|
|
|
|
#define STRING_BASE 0x8000
|
|
|
|
#ifdef TERMSRV
|
|
#define WFC_STRING_BASE 0x9000
|
|
#endif // TERMSRV
|
|
|
|
#define NCDU_CANCEL_CAPTION (STRING_BASE + 1)
|
|
#define NCDU_CANCEL_PROMPT (STRING_BASE + 2)
|
|
#define NCDU_MAKING_FLOPPIES (STRING_BASE + 3)
|
|
#define NCDU_LANMAN_MESSAGE (STRING_BASE + 4)
|
|
#define NCDU_COPYING_TO_SHARE (STRING_BASE + 5)
|
|
|
|
#define NCDU_INSERT_BOOTDISK_A (STRING_BASE + 6)
|
|
#define NCDU_INSERT_BOOTDISK_B (STRING_BASE + 7)
|
|
#define NCDU_SHARE_PATH_NOW (STRING_BASE + 8)
|
|
#define NCDU_EXIT_SHARE_PATH (STRING_BASE + 9)
|
|
#define NCDU_UNABLE_READ_DIR (STRING_BASE +10)
|
|
|
|
#define NCDU_PATH_NOT_DIR (STRING_BASE +11)
|
|
#define NCDU_PATH_CANNOT_BE_BLANK (STRING_BASE + 12)
|
|
#define NCDU_SHARING_DIR (STRING_BASE +13)
|
|
#define NCDU_NOT_REAL (STRING_BASE +14)
|
|
#define NCDU_NOT_DIST_TREE (STRING_BASE +15)
|
|
|
|
#define NCDU_NO_SHARE_NAME (STRING_BASE +16)
|
|
#define NCDU_UNKNOWN_FLOPPY (STRING_BASE +17)
|
|
#define NCDU_UNABLE_CONNECT_REG (STRING_BASE +18)
|
|
#define NCDU_INVALID_MACHINENAME (STRING_BASE +19)
|
|
#define NCDU_COPY_TO_FLOPPY (STRING_BASE +20)
|
|
|
|
#define NCDU_DEST_NOT_FLOPPY (STRING_BASE +21)
|
|
#define NCDU_INSUFFICIENT_DISK_SPACE (STRING_BASE +22)
|
|
#define NCDU_DRIVE_NOT_BOOTDISK (STRING_BASE +23)
|
|
#define NCDU_UNABLE_SHARE_UNC (STRING_BASE +24)
|
|
#define NCDU_UNABLE_COPY_CLIENTS (STRING_BASE+25)
|
|
|
|
#define NCDU_RU_SURE (STRING_BASE + 26)
|
|
#define NCDU_BAD_SUBNET_MASK (STRING_BASE + 27)
|
|
#define NCDU_BAD_IP_ADDR (STRING_BASE + 28)
|
|
#define NCDU_FLOPPY_NOT_COMPLETE (STRING_BASE+ 29)
|
|
#define NCDU_CHECK_PROTOCOL_INI (STRING_BASE + 30)
|
|
|
|
#define NCDU_NO_CLIENTS_SELECTED (STRING_BASE + 31)
|
|
#define NCDU_UNABLE_SHARE_DIR (STRING_BASE + 32)
|
|
#define NCDU_BAD_DEFAULT_GATEWAY (STRING_BASE + 33)
|
|
#define NCDU_COPY_NET_ADMIN (STRING_BASE + 34)
|
|
#define NCDU_ERROR_NOMEMORY (STRING_BASE + 35)
|
|
|
|
#define NCDU_USERNAME_ACCESS (STRING_BASE + 36)
|
|
#define NCDU_UNSUP_PROTOCOL (STRING_BASE + 37)
|
|
#define NCDU_NO_MEDIA (STRING_BASE + 38)
|
|
#define NCDU_CONFIRM_FLOPPY (STRING_BASE + 39)
|
|
#define NCDU_COPY_COMPLETE (STRING_BASE + 40)
|
|
|
|
#define NCDU_FLOPPY_COMPLETE (STRING_BASE + 41)
|
|
#define NCDU_NETUTILS_SHARED (STRING_BASE + 42)
|
|
#define NCDU_NETBEUI_NOT_ROUT (STRING_BASE + 43)
|
|
|
|
#define NCDU_CANNOT_SHARE_REMDIR (STRING_BASE + 46)
|
|
#define NCDU_SHARE_IS_NOT_USED (STRING_BASE + 47)
|
|
#define NCDU_SHARE_IS_CLIENT_TREE (STRING_BASE + 48)
|
|
#define NCDU_SHARE_IS_SERVER_TOOLS (STRING_BASE + 49)
|
|
#define NCDU_SHARE_IS_OTHER_DIR (STRING_BASE + 50)
|
|
|
|
#define NCDU_SERVER_NOT_PRESENT (STRING_BASE + 51)
|
|
#define NCDU_NO_SERVER (STRING_BASE + 52)
|
|
#define NCDU_NOT_DOS_SHARE (STRING_BASE + 53)
|
|
#define NCDU_NOT_TOOL_TREE (STRING_BASE + 54)
|
|
#define NCDU_BROWSE_TOOL_DIST_PATH (STRING_BASE + 55)
|
|
|
|
#define NCDU_BROWSE_CLIENT_DIST_PATH (STRING_BASE + 56)
|
|
#define NCDU_BROWSE_COPY_DEST_PATH (STRING_BASE + 57)
|
|
#define NCDU_FINDING_TOOLS_PATH (STRING_BASE + 58)
|
|
#define NCDU_MAKE_COMP_NAME (STRING_BASE + 59)
|
|
#define NCDU_DISK_NOT_DONE (STRING_BASE + 60)
|
|
|
|
#define NCDU_DRIVE_NOT_AVAILABLE (STRING_BASE + 61)
|
|
#define NCDU_UNABLE_GET_PATH_INFO (STRING_BASE + 62)
|
|
#define NCDU_INSUF_MEM_AT_BOOT (STRING_BASE + 63)
|
|
|
|
#define NCDU_NW_LINK_TRANSPORT (STRING_BASE + 66)
|
|
#define NCDU_TCP_IP_TRANSPORT (STRING_BASE + 67)
|
|
#define NCDU_NETBEUI_TRANSPORT (STRING_BASE + 68)
|
|
#define NCDU_SYSTEM_MAY_NOT_FIT (STRING_BASE + 69)
|
|
#define NCDU_SMALL_DISK_WARN (STRING_BASE + 70)
|
|
#define NCDU_CLEAN_DISK_REQUIRED (STRING_BASE + 71)
|
|
|
|
#define FORMAT_BASE 0x9000
|
|
|
|
#define SZ_APP_TITLE (FORMAT_BASE + 1)
|
|
#define FMT_CREATE_SHARE_ERROR (FORMAT_BASE + 2)
|
|
#define CSZ_ABOUT_ENTRY (FORMAT_BASE + 3)
|
|
|
|
#define FMT_LOAD_NET_CLIENT (FORMAT_BASE + 4)
|
|
#define FMT_CONFIRM_TARGET (FORMAT_BASE + 5)
|
|
#define FMT_INSTALL_TARGET_CLIENT (FORMAT_BASE + 6)
|
|
#define FMT_LOGON_USERNAME (FORMAT_BASE + 7)
|
|
#define FMT_PROMPT_USERNAME (FORMAT_BASE + 8)
|
|
#define FMT_CONFIRM_FLOPPY_IP (FORMAT_BASE + 9)
|
|
#define FMT_USING_DHCP (FORMAT_BASE + 10)
|
|
|
|
#define FMT_WORKING (FORMAT_BASE + 11)
|
|
#define FMT_PERCENT_COMPLETE (FORMAT_BASE + 12)
|
|
#define FMT_ZERO_PERCENT_COMPLETE (FORMAT_BASE + 13)
|
|
#define FMT_PREPARE_TO_COPY (FORMAT_BASE + 14)
|
|
|
|
#define FMT_CLIENT_DISK_AND_DRIVE (FORMAT_BASE + 16)
|
|
#define FMT_CLIENT_DISPLAY_NAME (FORMAT_BASE + 17)
|
|
#define FMT_COPY_COMPLETE_STATS (FORMAT_BASE + 18)
|
|
#define FMT_INSERT_FLOPPY (FORMAT_BASE + 19)
|
|
#define FMT_1_DISK_REQUIRED (FORMAT_BASE + 20)
|
|
#define FMT_N_DISKS_REQUIRED (FORMAT_BASE + 21)
|
|
|
|
#define FMT_INTERNAL_BUFFER (FORMAT_BASE + 22)
|
|
#define FMT_CONNECTING_COMMENT (FORMAT_BASE + 23)
|
|
#define FMT_RUNNING_SETUP_COMMENT (FORMAT_BASE + 24)
|
|
#define FMT_OTN_COMMENT (FORMAT_BASE + 25)
|
|
#define FMT_OTN_BOOT_FILES (FORMAT_BASE + 26)
|
|
|
|
#define FMT_K_BYTES (FORMAT_BASE + 27)
|
|
#define FMT_M_BYTES (FORMAT_BASE + 28)
|
|
#define FMT_CLIENT_INFO_DISPLAY (FORMAT_BASE + 29)
|
|
#define FMT_NONE (FORMAT_BASE + 30)
|
|
#define FMT_SHARE_REMARK (FORMAT_BASE + 31)
|
|
#define FMT_SHARE_TOOLS_REMARK (FORMAT_BASE + 32)
|
|
#define FMT_SHARE_IS_CLIENT_TREE (FORMAT_BASE + 33)
|
|
#define FMT_SHARE_IS_ALREADY_USED (FORMAT_BASE + 34)
|
|
|
|
#define CSZ_SETUP_ADM (FORMAT_BASE + 35)
|
|
#define FMT_SHARE_IS_TOOLS_DIR (FORMAT_BASE + 36)
|
|
#define CSZ_SYSTEM_REGISTRY (FORMAT_BASE + 37)
|
|
#define CSZ_SHARED_DIRS (FORMAT_BASE + 38)
|
|
#define CSZ_HARD_DISK_DIRS (FORMAT_BASE + 39)
|
|
#define CSZ_CD_ROM (FORMAT_BASE + 40)
|
|
#define CSZ_LOCAL_MACHINE (FORMAT_BASE + 41)
|
|
|
|
#define CSZ_DOMAIN_ADMINS (FORMAT_BASE + 43)
|
|
|
|
#define CSZ_WINDOWS_FOR_WORKGROUPS (FORMAT_BASE + 44)
|
|
#define CSZ_LAN_MANAGER (FORMAT_BASE + 45)
|
|
#define CSZ_MS_NETWORK_CLIENT (FORMAT_BASE + 46)
|
|
#define CSZ_BROWSE_DIST_PATH_TITLE (FORMAT_BASE + 47)
|
|
#define CSZ_BROWSE_DEST_PATH_TITLE (FORMAT_BASE + 48)
|
|
#define CSZ_BROWSE_COPY_DEST_PATH_TITLE (FORMAT_BASE + 49)
|
|
#define CSZ_NW_LINK_PROTOCOL (FORMAT_BASE + 50)
|
|
#define CSZ_TCP_IP_PROTOCOL (FORMAT_BASE + 51)
|
|
#define CSZ_NETBEUI_PROTOCOL (FORMAT_BASE + 52)
|
|
#define CSZ_COPYING_NET_UTILS (FORMAT_BASE + 53)
|
|
#define CSZ_UNABLE_COPY (FORMAT_BASE + 54)
|
|
#define CSZ_COPY_ERROR (FORMAT_BASE + 55)
|
|
|
|
#define CSZ_ABOUT_TITLE (FORMAT_BASE + 56)
|
|
|
|
#define CSZ_35_HD (FORMAT_BASE + 57)
|
|
#define CSZ_525_HD (FORMAT_BASE + 58)
|
|
#define CSZ_DEFAULT_CLIENT_SHARE (FORMAT_BASE + 59)
|
|
#define CSZ_WINDOWS_95 (FORMAT_BASE + 60)
|
|
|
|
#define CSZ_WINDOWS_NT (FORMAT_BASE + 61)
|
|
#ifdef JAPAN
|
|
#define FMT_LOAD_NET_CLIENT1 (FORMAT_BASE + 62)
|
|
#define FMT_LOAD_NET_CLIENT2 (FORMAT_BASE + 63)
|
|
#define FMT_LOAD_NET_CLIENT2_TITLE (FORMAT_BASE + 64)
|
|
|
|
#define FMT_LOAD_AUTOEXEC_ECHO (FORMAT_BASE + 65)
|
|
#define FMT_OTN_BOOT_FILES_DOSV (FORMAT_BASE + 66)
|
|
#endif
|
|
|
|
#ifdef TERMSRV
|
|
#define FMT_COPY_COMPLETE_STATS1 (FORMAT_BASE + 67)
|
|
#define FMT_COPY_COMPLETE_STATS2 (FORMAT_BASE + 68)
|
|
#endif // TERMSRV
|
|
|
|
|
|
#define DISK_FORMAT_BASE 0xA000
|
|
#define IDS_APP_NAME (DISK_FORMAT_BASE + 1)
|
|
#define IDS_FMIFSLOADERR (DISK_FORMAT_BASE + 2)
|
|
#define IDS_DISKCOPYCONFIRM (DISK_FORMAT_BASE + 3)
|
|
#define IDS_DISKCOPYCONFIRMTITLE (DISK_FORMAT_BASE + 4)
|
|
#define IDS_FFERR (DISK_FORMAT_BASE + 5)
|
|
|
|
#define IDS_FORMATTINGDEST (DISK_FORMAT_BASE + 6)
|
|
#define IDS_COPYINGDISKTITLE (DISK_FORMAT_BASE + 7)
|
|
#define IDS_QUICKFORMATTINGTITLE (DISK_FORMAT_BASE + 8)
|
|
#define IDS_PERCENTCOMPLETE (DISK_FORMAT_BASE + 9)
|
|
#define IDS_COPYDISK (DISK_FORMAT_BASE + 10)
|
|
|
|
#define IDS_INSERTDEST (DISK_FORMAT_BASE + 11)
|
|
#define IDS_INSERTSRC (DISK_FORMAT_BASE + 12)
|
|
#define IDS_INSERTSRCDEST (DISK_FORMAT_BASE + 13)
|
|
#define IDS_FFERR_INCFS (DISK_FORMAT_BASE + 14)
|
|
#define IDS_FFERR_ACCESSDENIED (DISK_FORMAT_BASE + 15)
|
|
|
|
#define IDS_FFERR_DISKWP (DISK_FORMAT_BASE + 16)
|
|
#define IDS_FFERR_CANTLOCK (DISK_FORMAT_BASE + 17)
|
|
#define IDS_FFERR_CANTQUICKF (DISK_FORMAT_BASE + 18)
|
|
#define IDS_FFERR_SRCIOERR (DISK_FORMAT_BASE + 19)
|
|
#define IDS_FFERR_DSTIOERR (DISK_FORMAT_BASE + 20)
|
|
|
|
#define IDS_FFERR_SRCDSTIOERR (DISK_FORMAT_BASE + 21)
|
|
#define IDS_FFERR_GENIOERR (DISK_FORMAT_BASE + 22)
|
|
#define IDS_FFERR_MEDIASENSE (DISK_FORMAT_BASE + 23)
|
|
#define IDS_FFERR_BADLABEL (DISK_FORMAT_BASE + 25)
|
|
|
|
#define IDS_COPYSRCDESTINCOMPAT (DISK_FORMAT_BASE + 26)
|
|
#define IDS_FORMATERR (DISK_FORMAT_BASE + 27)
|
|
#define IDS_FORMATQUICKFAILURE (DISK_FORMAT_BASE + 28)
|
|
//#define IDS_FORMATERRMSG (DISK_FORMAT_BASE + 29)
|
|
//#define IDS_FORMATCURERR (DISK_FORMAT_BASE + 30)
|
|
|
|
#define IDS_FORMATCOMPLETE (DISK_FORMAT_BASE + 31)
|
|
#define IDS_FORMATANOTHER (DISK_FORMAT_BASE + 32)
|
|
#define IDS_CORRECT_FMT_ERROR (DISK_FORMAT_BASE + 33)
|
|
|
|
#define IDS_COPYERROR (DISK_FORMAT_BASE + 100)
|
|
#define FUNC_COPY 1
|
|
#define FUNC_MOVE 2
|
|
#define FUNC_DELETE 3
|
|
#define FUNC_RENAME 4
|
|
#define FUNC_SETDRIVE 5
|
|
#define FUNC_EXPAND 6
|
|
#define FUNC_LABEL 7
|
|
|
|
//
|
|
// Application constant definitions
|
|
//
|
|
|
|
#define NCDU_CANCEL_STYLE (MB_ICONQUESTION | MB_YESNOCANCEL | MB_TASKMODAL)
|
|
|
|
#define MAX_PATH_BYTES (MAX_PATH * sizeof(TCHAR))
|
|
#define SMALL_BUFFER_SIZE 4096
|
|
#define MEDIUM_BUFFER_SIZE (SMALL_BUFFER_SIZE * 4)
|
|
|
|
#define MAX_EXITMSG 32
|
|
#define MAX_SHARENAME 16
|
|
#define NETCARD_KEY_SIZE 64
|
|
|
|
#define MAXMESSAGELEN 80
|
|
#define MAXTITLELEN 32
|
|
#define MAXLABELLEN 11
|
|
//
|
|
// Common Message Box Button configurations
|
|
//
|
|
#define MB_OK_TASK_EXCL (MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL)
|
|
#define MB_OK_TASK_INFO (MB_OK | MB_ICONINFORMATION | MB_TASKMODAL)
|
|
#define MB_OKCANCEL_TASK_EXCL (MB_OKCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL)
|
|
#define MB_OKCANCEL_TASK_INFO (MB_OKCANCEL | MB_ICONINFORMATION | MB_TASKMODAL)
|
|
#define MB_OKCANCEL_TASK_EXCL_DEF2 (MB_OKCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL | MB_DEFBUTTON2)
|
|
|
|
// button state definitions
|
|
#define CHECKED 1
|
|
#define UNCHECKED 0
|
|
|
|
// Load Client List Type values
|
|
#define CLT_ALL_BUT_HIDDEN 0
|
|
#define CLT_OTNBOOT_FLOPPY 1
|
|
#define CLT_FLOPPY_INSTALL 2
|
|
|
|
#define NCDU_HELP_HOT_KEY 0x0BEE // whotkey id for f1 help
|
|
// Copy Dir dwFlags values:
|
|
|
|
#define CD_FLAGS_COPY_SUB_DIR 0x00000001 // copies all sub dir's as well
|
|
#define CD_FLAGS_DONT_CREATE 0x00000002 // default is to create dirs as needed
|
|
#define CD_FLAGS_IGNORE_ATTR 0x00000004 // ignore attributes
|
|
#define CD_FLAGS_COPY_ATTR 0x00000008 // copy attributes as well (default
|
|
// is for dest fils to be normal)
|
|
#define CD_FLAGS_IGNORE_ERROR 0x00000010 // continue with copy even if errors occur
|
|
#define CD_FLAGS_LONG_NAMES 0x00000040 // allows names longer than 8.3
|
|
|
|
//
|
|
// Main Window Extra Bytes
|
|
//
|
|
#define MAINWND_EXTRA_BYTES 0
|
|
|
|
//
|
|
// Macro definitions
|
|
//
|
|
#define FREE_IF_ALLOC(x) if (x != NULL) GlobalFree(x)
|
|
#define BOOL_TO_STATUS(x) (x ? ERROR_SUCCESS : GetLastError())
|
|
|
|
#ifndef CLEAR_FIRST_FOUR_BYTES
|
|
#define CLEAR_FIRST_FOUR_BYTES(x) *(DWORD *)(x) = 0L
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
// Data structure Definitions
|
|
//
|
|
typedef enum _INSTALL_TYPE {
|
|
FloppyDiskInstall = 0,
|
|
OverTheNetInstall,
|
|
CopyNetAdminUtils,
|
|
ShowRemoteBootInfo} INSTALL_TYPE;
|
|
|
|
typedef enum _SOURCE_TYPE {
|
|
SourceUndef = 0,
|
|
ServerShare,
|
|
DirectoryPath} SOURCE_TYPE;
|
|
|
|
typedef enum _SHARE_TYPE {
|
|
ShareExisting = 0,
|
|
CopyAndShare} SHARE_TYPE;
|
|
|
|
typedef struct _NETCARD_INFO {
|
|
TCHAR szInf[MAX_PATH+1]; // inf file name
|
|
TCHAR szName[MAX_PATH+1]; // description
|
|
TCHAR szDriverFile[MAX_PATH+1]; // device driver FileName
|
|
TCHAR szInfKey[NETCARD_KEY_SIZE]; // Netcard Key Name
|
|
TCHAR szDeviceKey[NETCARD_KEY_SIZE]; // netcard device key
|
|
TCHAR szNifKey[NETCARD_KEY_SIZE]; // Netcard Info Key
|
|
BOOL bTokenRing; // TRUE = Token Ring Netcard
|
|
} NETCARD_INFO, *PNETCARD_INFO;
|
|
|
|
typedef struct _PROTOCOL_INFO {
|
|
TCHAR szName[MAX_PATH+1];
|
|
TCHAR szKey[MAX_PATH+1];
|
|
TCHAR szDir[MAX_PATH+1];
|
|
} PROTOCOL_INFO, *PPROTOCOL_INFO;
|
|
|
|
typedef struct _TCPIP_INFO {
|
|
USHORT IpAddr[4];
|
|
USHORT SubNetMask[4];
|
|
USHORT DefaultGateway[4];
|
|
} TCPIP_INFO, *PTCPIP_INFO;
|
|
|
|
typedef enum _MACHINE_TYPE {
|
|
UnknownSoftwareType = 0,
|
|
AdvancedServer,
|
|
NtWorkstation} MACHINE_TYPE;
|
|
|
|
typedef struct _NCDU_DATA {
|
|
MACHINE_TYPE mtLocalMachine;
|
|
HKEY hkeyMachine;
|
|
INSTALL_TYPE itInstall;
|
|
BOOL bUseExistingPath;
|
|
SHARE_TYPE shShareType;
|
|
TCHAR szDistShowPath[MAX_PATH+1];
|
|
TCHAR szDistPath[MAX_PATH+1];
|
|
TCHAR szDestPath[MAX_PATH+1];
|
|
SOURCE_TYPE stDistPathType;
|
|
MEDIA_TYPE mtBootDriveType;
|
|
BOOL bRemoteBootReqd;
|
|
NETCARD_INFO niNetCard;
|
|
TCHAR szBootFilesPath[MAX_PATH+1];
|
|
PROTOCOL_INFO piFloppyProtocol;
|
|
PROTOCOL_INFO piTargetProtocol;
|
|
TCHAR szTargetSetupCmd[MAX_PATH+1];
|
|
TCHAR szComputerName[MAX_COMPUTERNAME_LENGTH+1];
|
|
TCHAR szUsername[MAX_USERNAME+1];
|
|
TCHAR szDomain[MAX_DOMAINNAME+1];
|
|
BOOL bUseDhcp;
|
|
TCPIP_INFO tiTcpIpInfo;
|
|
TCHAR szFloppyClientName[MAX_PATH+1];
|
|
UINT uExitMessages[MAX_EXITMSG];
|
|
} NCDU_DATA, *PNCDU_DATA;
|
|
|
|
typedef struct _COPY_FILE_DLG_STRUCT {
|
|
LPTSTR szDisplayName;
|
|
LPTSTR szSourceDir;
|
|
LPTSTR szDestDir;
|
|
DWORD dwCopyFlags;
|
|
DWORD dwTotalSize;
|
|
DWORD dwFilesCopied;
|
|
DWORD dwDirsCreated;
|
|
} CF_DLG_DATA, *PCF_DLG_DATA;
|
|
|
|
typedef struct _DIR_BROWSER_STRUCT {
|
|
DWORD dwTitle; // dialog box title Resource ID: 0="Directory Browser"
|
|
LPTSTR szPath; // initial path in and resulting path out
|
|
DWORD Flags; // see below
|
|
} DB_DATA, *PDB_DATA;
|
|
|
|
#define PDB_FLAGS_NOCHECKDIR 0x00000001 // allow non-existent paths
|
|
|
|
typedef struct _SHARE_PATH_DLG_STRUCT {
|
|
LPWSTR szServer;
|
|
LPWSTR szPath;
|
|
LPWSTR szShareName;
|
|
LPWSTR szRemark;
|
|
} SPS_DATA, *PSPS_DATA;
|
|
|
|
typedef struct _FIND_DIST_TREE_STRUCT {
|
|
LPTSTR szPathBuffer; // buffer to load found path in
|
|
DWORD dwPathBufferLen; // size of path buffer (above)
|
|
PLONG plPathType; // pointer to buffer recieving path type
|
|
DWORD dwSearchType; // search type (see flags below)
|
|
} FDT_DATA, *PFDT_DATA;
|
|
#pragma pack(1)
|
|
typedef struct _DOS_BOOT_SECTOR {
|
|
BYTE bsJump[3];
|
|
CHAR bsOemName[8];
|
|
WORD bsBytesPerSec;
|
|
BYTE bsSecPerClust;
|
|
WORD bsResSectors;
|
|
BYTE bsFats;
|
|
WORD bsRootDirEnts;
|
|
WORD bsSectors;
|
|
BYTE bsMedia;
|
|
WORD bsFatSecs;
|
|
WORD bsSecsPerTrack;
|
|
WORD bsHeads;
|
|
DWORD bsHiddenSecs;
|
|
DWORD bsHugeSectors;
|
|
BYTE bsDriveNumber;
|
|
BYTE bsReserved1;
|
|
BYTE bsBootSignature;
|
|
DWORD bsVolumeId;
|
|
CHAR bsVolumeLabel[11];
|
|
CHAR bsFileSysType[8];
|
|
BYTE bsBootSectorBytes[1];
|
|
} DOS_BOOT_SECTOR, *PDOS_BOOT_SECTOR;
|
|
#pragma pack()
|
|
|
|
//
|
|
#define FDT_CLIENT_TREE (0x00000001)
|
|
#define FDT_TOOLS_TREE (0x00000002)
|
|
|
|
//
|
|
// Directory Browser Flags
|
|
//
|
|
#define DBS_VALIDATE_PATH 0x00000001 // only allow valid paths
|
|
#define DBS_CLIENT_PATH 0x00000003 // only allow valid dist. paths
|
|
|
|
// global variables
|
|
// these are allocated and initialized in otnboot.c
|
|
//
|
|
|
|
extern PNCDU_DATA pAppInfo;
|
|
#ifdef JAPAN
|
|
extern USHORT usLangID;
|
|
|
|
// fixed kkntbug #12382
|
|
// NCAdmin:"[] Make Japanese startup disks" is not functioning.
|
|
|
|
extern BOOL bJpnDisk;
|
|
#endif
|
|
|
|
|
|
//
|
|
// external function definitions
|
|
//
|
|
//
|
|
// *** UTILS.C ***
|
|
//
|
|
BOOL
|
|
GetShareFromUnc (
|
|
IN LPCTSTR szPath,
|
|
OUT LPTSTR szShare
|
|
);
|
|
|
|
BOOL
|
|
GetNetPathInfo (
|
|
IN LPCTSTR szPath,
|
|
OUT LPTSTR szServer,
|
|
OUT LPTSTR szRemotePath
|
|
);
|
|
|
|
BOOL
|
|
ComputerPresent (
|
|
IN LPCTSTR szMachine
|
|
);
|
|
|
|
BOOL
|
|
GetServerFromUnc (
|
|
IN LPCTSTR szPath,
|
|
OUT LPTSTR szServer
|
|
);
|
|
|
|
BOOL
|
|
MatchFirst (
|
|
IN LPCTSTR szStringA,
|
|
IN LPCTSTR szStringB
|
|
);
|
|
|
|
BOOL
|
|
LookupLocalShare (
|
|
IN LPCTSTR szDrivePath,
|
|
IN BOOL bExactMatch,
|
|
OUT LPTSTR szLocalPath,
|
|
IN PDWORD pdwBuffLen
|
|
);
|
|
|
|
BOOL
|
|
LookupRemotePath (
|
|
IN LPCTSTR szDrivePath,
|
|
OUT LPTSTR szRemotePath,
|
|
IN PDWORD pdwBuffLen
|
|
);
|
|
|
|
BOOL
|
|
OnRemoteDrive (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
DWORD
|
|
ComputeFreeSpace (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
DWORD
|
|
GetSizeFromInfString (
|
|
IN LPCTSTR szString
|
|
);
|
|
|
|
BOOL
|
|
IsShareNameUsed (
|
|
IN LPCTSTR szServerName,
|
|
IN LPCTSTR szShareName,
|
|
IN OUT PDWORD pdwType,
|
|
IN OUT LPTSTR pszPath
|
|
);
|
|
|
|
BOOL
|
|
SavePathToRegistry (
|
|
LPCTSTR szPath,
|
|
LPCTSTR szServerKey,
|
|
LPCTSTR szShareKey
|
|
);
|
|
|
|
BOOL
|
|
Dlg_WM_SYSCOMMAND (
|
|
IN HWND hwndDlg,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
LRESULT
|
|
Dlg_WM_MOVE (
|
|
IN HWND hwndDlg,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
BOOL
|
|
Dlg_WM_PAINT (
|
|
IN HWND hwndDlg,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
DWORD
|
|
QuietGetFileAttributes (
|
|
IN LPCTSTR szFileName
|
|
);
|
|
|
|
DWORD
|
|
QuietGetPrivateProfileString (
|
|
IN LPCTSTR lpszSection,
|
|
IN LPCTSTR lpszKey,
|
|
IN LPCTSTR lpszDefault,
|
|
OUT LPTSTR lpszReturnBuffer,
|
|
IN DWORD cchReturnBuffer,
|
|
IN LPCTSTR lpszFile
|
|
);
|
|
|
|
BOOL
|
|
GetSizeOfDirs (
|
|
IN LPCTSTR szPath,
|
|
IN BOOL bFlags,
|
|
IN OUT PDWORD pdwSize
|
|
);
|
|
#define GSOD_INCLUDE_SUBDIRS 0x00000001
|
|
|
|
BOOL
|
|
MediaPresent (
|
|
IN LPCTSTR szPath,
|
|
IN BOOL bCheckFormat
|
|
);
|
|
|
|
LPCTSTR
|
|
GetKeyFromEntry (
|
|
IN LPCTSTR szEntry
|
|
);
|
|
|
|
LPCTSTR
|
|
GetItemFromEntry (
|
|
IN LPCTSTR szEntry,
|
|
IN DWORD dwItem
|
|
|
|
);
|
|
|
|
LPCTSTR
|
|
GetFileNameFromEntry (
|
|
IN LPCTSTR szEntry
|
|
);
|
|
|
|
BOOL
|
|
FileExists (
|
|
IN LPCTSTR szFileName
|
|
);
|
|
|
|
//
|
|
// *** FindClnt.C ***
|
|
//
|
|
LONG
|
|
GetDistributionPath (
|
|
IN HWND hwndDlg, // handle to dialog box window
|
|
IN DWORD dwSearchType, // type of dir to find: Client/tools
|
|
IN OUT LPTSTR szPath, // buffer to return path in (Req'd)
|
|
IN DWORD dwPathLen, // size of path buffer in chars
|
|
IN PLONG plPathType // pointer to buffer recieving path type (opt)
|
|
);
|
|
// path type
|
|
#define NCDU_NO_CLIENT_PATH_FOUND 0x00000000
|
|
#define NCDU_PATH_FROM_REGISTRY 0x00000001
|
|
#define NCDU_LOCAL_SHARE_PATH 0x00000002
|
|
#define NCDU_HARD_DRIVE_PATH 0x00000004
|
|
#define NCDU_CDROM_PATH 0x00000008
|
|
|
|
#ifdef JAPAN
|
|
// fixed kkntbug #11940
|
|
// Network client administrator can not make install disks on PC with C drive as FD
|
|
|
|
#define NCDU_LOGICAL_DRIVE_MASK 0x00000001
|
|
#endif
|
|
|
|
INT_PTR CALLBACK
|
|
FindClientsDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
//
|
|
// ShareNet.C
|
|
//
|
|
INT_PTR CALLBACK
|
|
ShareNetSwDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
//
|
|
//
|
|
//
|
|
LONG
|
|
CreateDirectoryFromPath (
|
|
IN LPCTSTR szPath,
|
|
IN LPSECURITY_ATTRIBUTES lpSA
|
|
);
|
|
|
|
BOOL
|
|
IsPathADir (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
int
|
|
PositionWindow (
|
|
IN HWND hwnd
|
|
);
|
|
|
|
LPCTSTR
|
|
GetNetErrorMsg (
|
|
IN LONG lNetErr
|
|
);
|
|
|
|
BOOL
|
|
ShowAppHelp (
|
|
IN HWND hwndDlg,
|
|
IN WORD wContext
|
|
);
|
|
|
|
BOOL
|
|
SetSysMenuMinimizeEntryState (
|
|
IN HWND hwnd,
|
|
IN BOOL bState
|
|
);
|
|
|
|
BOOL
|
|
RemoveMaximizeFromSysMenu (
|
|
IN HWND hWnd // window handle
|
|
);
|
|
|
|
BOOL
|
|
IsBootDisk (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
BOOL
|
|
TrimSpaces (
|
|
IN OUT LPTSTR szString
|
|
);
|
|
|
|
DWORD
|
|
TranslateEscapeChars (
|
|
IN LPTSTR szNewString,
|
|
IN LPTSTR szString
|
|
);
|
|
|
|
BOOL
|
|
IsUncPath (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
MEDIA_TYPE
|
|
GetDriveTypeFromPath (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
MACHINE_TYPE
|
|
GetSystemType (
|
|
VOID
|
|
);
|
|
|
|
LPCTSTR
|
|
GetEntryInMultiSz (
|
|
IN LPCTSTR mszList,
|
|
IN DWORD dwEntry
|
|
|
|
);
|
|
|
|
BOOL
|
|
RegisterMainWindowClass(
|
|
IN HINSTANCE hInstance
|
|
);
|
|
|
|
DWORD
|
|
AddStringToMultiSz (
|
|
LPTSTR OUT mszDest,
|
|
LPCTSTR IN szSource
|
|
);
|
|
|
|
DWORD
|
|
StringInMultiSz (
|
|
IN LPCTSTR szString,
|
|
IN LPCTSTR mszList
|
|
);
|
|
|
|
LPCTSTR
|
|
GetStringResource (
|
|
IN UINT nId
|
|
);
|
|
|
|
UINT
|
|
ValidSharePath (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
UINT
|
|
ValidSrvToolsPath (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
BOOL
|
|
DotOrDotDotDir (
|
|
IN LPCTSTR szFileName
|
|
);
|
|
|
|
BOOL
|
|
LoadClientList (
|
|
IN HWND hwndDlg,
|
|
IN int nListId,
|
|
IN LPCTSTR szPath,
|
|
IN UINT nListType,
|
|
OUT LPTSTR mszDirList
|
|
);
|
|
|
|
BOOL
|
|
EnableExitMessage (
|
|
IN BOOL bNewState
|
|
);
|
|
|
|
BOOL
|
|
AddMessageToExitList (
|
|
IN PNCDU_DATA pData,
|
|
IN UINT nMessage
|
|
);
|
|
|
|
BOOL
|
|
CenterWindow (
|
|
HWND hwndChild,
|
|
HWND hwndParent
|
|
);
|
|
|
|
int
|
|
DisplayMessageBox (
|
|
IN HWND hWndOwner,
|
|
IN UINT nMsgId,
|
|
IN UINT nTitleId,
|
|
IN UINT nStyle
|
|
);
|
|
|
|
VOID
|
|
InitAppData (
|
|
IN PNCDU_DATA pData
|
|
);
|
|
|
|
LRESULT CALLBACK
|
|
MainWndProc (
|
|
IN HWND hWnd, // window handle
|
|
IN UINT message, // type of message
|
|
IN WPARAM uParam, // additional information
|
|
IN LPARAM lParam // additional information
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
SwConfigDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
TargetWsDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
ServerConnDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
LanManCfgDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
CopyFlopDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
CopyFileDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
ConfirmSettingsDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
ExitMessDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
MakeFlopDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
DirBrowseDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
CopyNetUtilsDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
SharePathDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
SelToolsDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
INT_PTR CALLBACK
|
|
AboutDlgProc (
|
|
IN HWND hwndDlg,
|
|
IN UINT message,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
);
|
|
|
|
BOOL
|
|
FormatDiskInDrive (
|
|
IN HWND hWnd, // "owning" window
|
|
IN TCHAR cDrive, // drive letter to format (only A or B)
|
|
IN LPCTSTR szLabel, // label text
|
|
IN BOOL bConfirmFormat // prompt with "r-u-sure?" dialog
|
|
);
|
|
|
|
BOOL
|
|
LabelDiskInDrive (
|
|
IN HWND hWnd, // owner window
|
|
IN TCHAR cDrive, // drive letter to format (only A or B)
|
|
IN LPCTSTR szLabel // label text
|
|
);
|
|
|
|
DWORD
|
|
GetBootDiskDosVersion (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
DWORD
|
|
GetMultiSzLen (
|
|
IN LPCTSTR mszInString
|
|
);
|
|
|
|
DWORD
|
|
GetClusterSizeOfDisk (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
DWORD
|
|
QuietGetFileSize (
|
|
IN LPCTSTR szPath
|
|
);
|
|
|
|
#include "otnbtstr.h" // string constant definitions
|
|
|
|
#endif //_otnboot_H_
|