1016 lines
26 KiB
C
1016 lines
26 KiB
C
/*++
|
||
|
||
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_
|