Leaked source code of windows server 2003
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.
|
|
/*****************************************************************************
* * (C) Copyright MICROSOFT Corp., 1994 * * Title: WSHOICTL.H - IOCTL interface for Wshell * * Version: 4.00 * * Date: 30-Nov-1988 * * Author: RAL * *---------------------------------------------------------------------------- * * Change log: * * DATE REV DESCRIPTION * ----------- --- ---------------------------------------------------------- * 01-Aug-1994 RAL Original * *****************************************************************************/
#ifndef _WSHIOCTL_H
#define _WSHIOCTL_H
#define SHELLFILENAME "\\\\.\\SHELL"
//
// Flags for _SHELL_SuggestSingleMSDOSMode
//
// SSAMFLAG_KILLVM
// A fatal application error has occurred. Display a warning box
// unconditionally. Regardless of the answer, terminate the VM.
// If this bit is set, the call does not return.
//
// SSAMFLAG_TIMER
// Not used. Sorry.
//
// SSAM_REQREALMODE
// App requires *real* mode, not V86 mode, not EMM stuff, not
// QEMM. Just pure unadulterated real mode. Also known as
// SSAM_COMANCHE, because Comanche does an "lgdt" to enter
// protected mode without checking if it is safe to do so.
// This flag is inspected by AppWiz to decide how to set up
// the config.sys and autoexec.bat.
//
// SSAM_KILLUNLESSTOLD
// Suggest Single MS-DOS mode (unless suppressed via PIF), and
// if the answer is "Okay", then kill the VM. If the user
// says, "Keep running", then let it stay.
//
// SSAM_FROMREGLIST
// This app was run from a command prompt, triggered by registry
// settings. Just re-execute it in its own VM so that APPS.INF
// settings will take effect.
//
// SSAM_FAILEDAPI
// This app just made an API call that was unsuccessful or
// unsupported. If the app terminates within 0.1 second,
// then suggest single-app mode. If the app continues
// execution, then don't suggest.
//
#define SSAMFLAG_KILLVM 0x0000001
#define SSAMFLAG_TIMER 0x0000002
#define SSAMFLAG_REQREALMODE 0x0000004
#define SSAMFLAG_KILLUNLESSTOLD 0x0000008
#define SSAMFLAG_FROMREGLIST 0x0000010
#define SSAMFLAG_FAILEDAPI 0x0000020
//
// IOCTL codes
//
#define WSHIOCTL_GETVERSION 0
#define WSHIOCTL_BLUESCREEN 1
#define WSHIOCTL_GET1APPINFO 2
#define WSHIOCTL_SIGNALSEM 3
#define WSHIOCTL_MAX 4 /* Remember, _MAX = _LIMIT + 1 */
//
// Result codes
//
#define SSR_CONTINUE 0
#define SSR_CLOSEVM 1
#define SSR_KILLAPP 2
//
// Sizes for strings
//
#define MAXVMTITLESIZE 32
#define MAXVMPROGSIZE 64
#define MAXVMCMDSIZE 64
#define MAXVMDIRSIZE 64
#define MAXPIFPATHSIZE 260
typedef struct _SINGLEAPPSTRUC { /* shex */
DWORD SSA_dwFlags; DWORD SSA_VMHandle; DWORD SSA_ResultPtr; DWORD SSA_Semaphore; char SSA_PIFPath[MAXPIFPATHSIZE]; char SSA_VMTitle[MAXVMTITLESIZE]; char SSA_ProgName[MAXVMPROGSIZE]; char SSA_CommandLine[MAXVMCMDSIZE]; char SSA_CurDir[MAXVMCMDSIZE];
} SINGLEAPPSTRUC;
//
// Structures for WSHIOCTL_BLUESCREEN.
//
// lpvInBuffer must point to a BLUESCREENINFO structure.
// lpvOutBuffer must point to a DWORD which receives the message box result.
// The message box result is an IDXX value, as defined in windows.h.
//
/* H2INCSWITCHES -t */ typedef struct _BLUESCREENINFO { /* bsi */
char * pszText; /* Message text (OEM character set) */ char * pszTitle; /* Message title (OEM character set) */ /* NULL means "Windows" */ DWORD flStyle; /* Message box flags (see windows.h) */ /* Add'l flags defined in ddk\inc\shell.h */
} BLUESCREENINFO; /* H2INCSWITCHES -t- */
#endif // _WSHIOCTL_H
|