433 lines
14 KiB
HTML
433 lines
14 KiB
HTML
<html><HEAD>
|
|
<title>WMI Instance Provider Wizard</title>
|
|
<SYMBOL VALUE="WMI Instance Provider Wizard" TYPE="text" NAME="WIZARD_DIALOG_TITLE"></SYMBOL>
|
|
<SYMBOL VALUE="ATL\WMIInstance" TYPE="text" NAME="RELATIVE_PATH"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="SHORT_NAME"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="UPPER_SHORT_NAME"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="CLASS_NAME"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="" TYPE="text" NAME="HEADER_FILE"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="IMPL_FILE"></SYMBOL>
|
|
<SYMBOL NAME="HEADER_FILE_VALID" TYPE=bool VALUE=false></SYMBOL>
|
|
<SYMBOL NAME="IMPL_FILE_VALID" TYPE=bool VALUE=false></SYMBOL>
|
|
|
|
|
|
<SYMBOL VALUE="" TYPE="text" NAME="COCLASS"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="TYPE_NAME"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="" TYPE="text" NAME="PROGID"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="VERSION_INDEPENDENT_PROGID"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="" TYPE="text" NAME="CLSID_REGISTRY_FORMAT"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="APPID_REGISTRY_FORMAT"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="LIBID_REGISTRY_FORMAT"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="LIB_NAME"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="false" TYPE="bool" NAME="AUTOMATION"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="THREADING_APARTMENT"></SYMBOL>
|
|
<SYMBOL VALUE="true" TYPE="radio" NAME="THREADING_BOTH"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="THREADING_FREE"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="true" TYPE="bool" NAME="INSTANCE"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="bool" NAME="EVENT"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="PROVIDE_METHODS"></SYMBOL>
|
|
<SYMBOL VALUE="true" TYPE="radio" NAME="SUPPORT_ENUMERATE"></SYMBOL>
|
|
<SYMBOL VALUE="true" TYPE="radio" NAME="SUPPORT_GET"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="SUPPORT_PUT"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="SUPPORT_DELETE"></SYMBOL>
|
|
<SYMBOL VALUE="\\\\.\\Root\\default" TYPE="text" NAME="NAMESPACE"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="ESCAPED_NAMESPACE"></SYMBOL>
|
|
|
|
<SYMBOL VALUE="" TYPE="text" NAME="WMICLASSNAME"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="bool" NAME="CLASS_SPECIFIED"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="PROPERTY_DECLARATIONS"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="PROPERTY_DEFINITIONS"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="POPULATE_INSTANCE"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="IS_SINGLETON"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="IS_COMPOUND_KEY"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="HAS_METHODS"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="METHOD_DECLARATIONS"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="METHOD_DEFINITIONS"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="radio" NAME="HAS_IMPL_METHODS"></SYMBOL>
|
|
<SYMBOL VALUE="" TYPE="text" NAME="EXEC_METHOD_BODY"></SYMBOL>
|
|
|
|
|
|
<SYMBOL VALUE="" TYPE="text" NAME="SAFE_PROJECT_NAME"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="checkbox" NAME="ATTRIBUTED"></SYMBOL>
|
|
<SYMBOL VALUE="false" TYPE="bool" NAME="APPID_EXIST"></SYMBOL>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<style
|
|
type="text/css">@import "..\..\..\..\..\1033\styles.css";
|
|
</style>
|
|
</HEAD>
|
|
|
|
|
|
<body style="OVERFLOW:visible" bgcolor="#ebebeb" leftmargin="0" topmargin="0" rightmargin="0"
|
|
bottommargin="0" onload='InitDocument(document);' >
|
|
|
|
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%">
|
|
<TR align=top>
|
|
<TD height="100%">
|
|
<TABLE bgcolor="white" style="width:100%;height:65;border-style:solid;border-color:silver;border-width:1;" align=top>
|
|
<TR>
|
|
<TD>
|
|
<DIV>
|
|
<P class="titleText">WMI Instance Provider Wizard</P>
|
|
<P class="titleDesc">Specify...</P>
|
|
</DIV>
|
|
</TD>
|
|
<TD>
|
|
<DIV id="Layer1" style="z-index:1" align=right>
|
|
<IMG src="..\..\Images\Overview.bmp" width="92" height="63"></IMG>
|
|
</DIV>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<TABLE style="BORDER-BOTTOM: silver 1px solid" height="70%" cellSpacing=0
|
|
cellPadding=0 width="100%" bgColor=#ebebeb>
|
|
<TR>
|
|
<TD vAlign=top align=left>
|
|
<TABLE style="WIDTH: 200px; HEIGHT: 280px" bgColor=#ebebeb
|
|
>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=#ebebeb
|
|
><span class=sideBtn id=Default
|
|
onmouseover="this.style.color='blue'; this.style.cursor='hand'"
|
|
title=""
|
|
onmouseout="this.style.color='black'"><b
|
|
><LABEL for=Default
|
|
>Names</LABEL></b></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span class=sideBtn id=WMIClass
|
|
onmouseover="this.style.color='blue'; this.style.cursor='hand'"
|
|
title="" onclick='Next(document, "WMIClass.htm");'
|
|
onmouseout="this.style.color='black'"
|
|
><LABEL for=WMIClass
|
|
>WMI Class</LABEL></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span class=sideBtn id=Attributes
|
|
onmouseover="this.style.color='blue'; this.style.cursor='hand'"
|
|
title="" onclick='bValidating = true; if (!ValidateInput()) { bVaidating = false; return; } Next(document, "Attributes.htm");'
|
|
onmouseout="this.style.color='black'"
|
|
><LABEL for=Attributes
|
|
>Attributes</LABEL></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span></span></TD></TR>
|
|
<TR>
|
|
<TD class=bodyText style="HEIGHT: 13%" bgColor=silver
|
|
><span></span></TD></TR>
|
|
</TABLE></TD>
|
|
<TD vAlign=top align=left>
|
|
<table>
|
|
<TBODY>
|
|
<tr>
|
|
<tr>
|
|
<td><span class=itemText title=""
|
|
><b>C++</b><br
|
|
></span></td>
|
|
<td><span class=itemText title=""
|
|
><b>COM</b><br
|
|
></span></td></tr></tr>
|
|
<tr>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=SHORT_NAME
|
|
><u>S</u>hort name:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=SHORT_NAME
|
|
style="WIDTH: 150px; HEIGHT: 20px"
|
|
onpropertychange=OnShortName(); accessKey=s
|
|
></span><br></td>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=COCLASS
|
|
>C<u>o</u>Class:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=COCLASS style="WIDTH: 150px; HEIGHT: 20px" accessKey=o
|
|
></span><br></td></tr>
|
|
<tr>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=CLASS_NAME
|
|
><u>C</u>lass:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=CLASS_NAME style="WIDTH: 150px; HEIGHT: 20px" accessKey=c
|
|
></span><br></td>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=TYPE_NAME
|
|
><u>T</u>ype:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=TYPE_NAME style="WIDTH: 150px; HEIGHT: 20px" accessKey=t
|
|
></span><br></td></tr>
|
|
|
|
<tr>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=HEADER_FILE
|
|
>.<u>H</u> file:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=HEADER_FILE style="WIDTH: 150px; HEIGHT: 20px" accessKey=h
|
|
></span><br></td>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=VERSION_INDEPENDENT_PROGID
|
|
>Prog<u>I</u>D:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=VERSION_INDEPENDENT_PROGID
|
|
style="WIDTH: 150px; HEIGHT: 20px" accessKey=i
|
|
></span><br></td></tr>
|
|
<tr>
|
|
<td><span class=itemText title=""
|
|
><LABEL for=IMPL_FILE
|
|
>.C<u>P</u>P file:
|
|
</LABEL><br><input class="sideBtn"
|
|
id=IMPL_FILE style="WIDTH: 150px; HEIGHT: 20px" accessKey=p
|
|
></span><br></td></tr>
|
|
<tr>
|
|
<td><input id=ATTRIBUTED title=""
|
|
disabled accessKey=a
|
|
type=checkbox align=bottom CHECKED> <span
|
|
class=itemText title=""><LABEL
|
|
for=ATTRIBUTED><u
|
|
>A</u>ttributed </LABEL></span><br
|
|
></td></tr></TBODY></table></TD></TR></TABLE>
|
|
|
|
<TABLE style="width:100%;height:10%" cellpadding=0 cellspacing=4>
|
|
<TR>
|
|
<TD align=left width=85%></TD>
|
|
|
|
<TD align=right width=5%>
|
|
<BUTTON id="HelpBtn" class="buttonClass" ACCESSKEY="h" onClick='window.external.Alert("Sorry, no help is available for this wizard.");'><u>H</u>elp</BUTTON>
|
|
</TD>
|
|
<TD align=right width=5%>
|
|
<BUTTON id="FinishBtn" class="buttonClass" ACCESSKEY="f" onClick='OnFinish(this);'><u>F</u>inish</BUTTON>
|
|
</TD>
|
|
<TD align=right width=5%>
|
|
<BUTTON id="CancelBtn" class="buttonClass" ACCESSKEY="c" onClick='window.external.Finish(document, "cancel");'><u>C</u>ancel</BUTTON>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
</TD></TR></TABLE>
|
|
|
|
|
|
<SCRIPT>
|
|
|
|
var tab_array = new Array();
|
|
tab_array[0] = Default;
|
|
tab_array[1] = WMIClass;
|
|
tab_array[2] = Attributes;
|
|
//tab_array[2] = Properties;
|
|
|
|
function InitDocument(document)
|
|
{
|
|
if (window.external.FindSymbol("DOCUMENT_FIRST_LOAD"))
|
|
{
|
|
var strProjName = window.external.FindSymbol("PROJECT_NAME");
|
|
var coll = document.all.tags("SYMBOL");
|
|
var numSymbols = coll.length;
|
|
for (i = 0; i < numSymbols; i++)
|
|
{
|
|
var obj = coll(i);
|
|
if (typeof(obj.VALUE) == "undefined")
|
|
{
|
|
obj.VALUE = getval(obj, strProjName);
|
|
}
|
|
}
|
|
window.external.SetDefaults(document);
|
|
window.external.AddSymbol("SAFE_PROJECT_NAME", CreateSafeName(strProjName));
|
|
}
|
|
window.external.Load(document);
|
|
|
|
if (IsAttributedProject(window.external))
|
|
{
|
|
ATTRIBUTED.checked = true;
|
|
if (!CanAddNonAttributed())
|
|
ATTRIBUTED.disabled = true;
|
|
}
|
|
}
|
|
|
|
|
|
function Next(document, linkto)
|
|
{
|
|
if (SHORT_NAME.value.length && !ValidateInput())
|
|
return;
|
|
ATTRIBUTED.disabled = false;
|
|
window.external.Next(document, linkto);
|
|
}
|
|
|
|
function OnFinish(obj)
|
|
{
|
|
if (!ValidateInput())
|
|
return;
|
|
|
|
if (!ATTRIBUTED.disabled && ATTRIBUTED.checked)
|
|
if (!ConvertProjectToAttributed())
|
|
return;
|
|
|
|
ATTRIBUTED.disabled = false;
|
|
obj.style.cursor='wait';
|
|
window.external.Finish(document, "ok");
|
|
}
|
|
|
|
function OnShortName()
|
|
{
|
|
var strShortName = SHORT_NAME.value;
|
|
if (strShortName.length)
|
|
{
|
|
CLASS_NAME.value = "C" + strShortName;
|
|
HEADER_FILE.value = strShortName + ".h";
|
|
IMPL_FILE.value = strShortName + ".cpp";
|
|
COCLASS.value = strShortName;
|
|
//INTERFACE_NAME.value = "I" + strShortName;
|
|
TYPE_NAME.value = strShortName + " Class";
|
|
VERSION_INDEPENDENT_PROGID.value = window.external.FindSymbol("SAFE_PROJECT_NAME") + "." + strShortName;
|
|
}
|
|
else
|
|
{
|
|
CLASS_NAME.value = "";
|
|
HEADER_FILE.value = "";
|
|
IMPL_FILE.value = "";
|
|
COCLASS.value = "";
|
|
//INTERFACE_NAME.value = "";
|
|
TYPE_NAME.value = "";
|
|
VERSION_INDEPENDENT_PROGID.value = "";
|
|
}
|
|
}
|
|
|
|
function ValidateInput()
|
|
{
|
|
var oInvalid = null;
|
|
|
|
if (!Validate(SHORT_NAME))
|
|
oInvalid = SHORT_NAME;
|
|
|
|
if (oInvalid == null)
|
|
if (!Validate(CLASS_NAME))
|
|
oInvalid = CLASS_NAME;
|
|
|
|
if (oInvalid == null)
|
|
if (!Validate(COCLASS))
|
|
oInvalid = COCLASS;
|
|
|
|
|
|
if (oInvalid == null)
|
|
if (!Validate(HEADER_FILE))
|
|
oInvalid = HEADER_FILE;
|
|
|
|
if (oInvalid == null)
|
|
if (!Validate(IMPL_FILE))
|
|
oInvalid = IMPL_FILE;
|
|
|
|
if (oInvalid == null)
|
|
if (!Validate(TYPE_NAME))
|
|
oInvalid = TYPE_NAME;
|
|
|
|
if (oInvalid == null)
|
|
if (!Validate(VERSION_INDEPENDENT_PROGID))
|
|
oInvalid = VERSION_INDEPENDENT_PROGID;
|
|
|
|
if (oInvalid != null)
|
|
{
|
|
oInvalid.focus();
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
function Validate(obj)
|
|
{
|
|
var bValid = true;
|
|
|
|
switch(obj.id)
|
|
{
|
|
case "SHORT_NAME":
|
|
case "CLASS_NAME":
|
|
bValid = window.external.ValidateMember(obj.value, 1 /*window.external.vsCMElementClass*/);
|
|
break;
|
|
case "COCLASS":
|
|
if(!ATTRIBUTED.checked)
|
|
bValid = window.external.ParentObject.IDLLibraries(1).ValidateMember(obj.value, 33 /*vsCMElementIDLCoClass*/);
|
|
if(!bValid)
|
|
{
|
|
window.external.ReportError();
|
|
bValid = false;
|
|
}
|
|
break;
|
|
case "INTERFACE_NAME":
|
|
bValid = window.external.ValidateMember(obj.value, 8 /*vsCMElementInterface*/);
|
|
break;
|
|
case "HEADER_FILE":
|
|
bValid = window.external.ValidateFile(obj.value);
|
|
if (!bValid)
|
|
break;
|
|
if (!window.external.FindSymbol("HEADER_FILE_VALID"))
|
|
{
|
|
bValid = CanUseFileName(obj.value, true);
|
|
if (bValid)
|
|
window.external.AddSymbol("HEADER_FILE_VALID", true)
|
|
}
|
|
break;
|
|
case "IMPL_FILE":
|
|
bValid = window.external.ValidateFile(obj.value);
|
|
if (!bValid)
|
|
break;
|
|
if (!window.external.FindSymbol("IMPL_FILE_VALID"))
|
|
{
|
|
bValid = CanUseFileName(obj.value);
|
|
if (bValid)
|
|
window.external.AddSymbol("IMPL_FILE_VALID", true)
|
|
}
|
|
break;
|
|
case "TYPE_NAME":
|
|
if (obj.value == "")
|
|
{
|
|
window.external.ReportError("Invalid value");
|
|
bValid = false;
|
|
}
|
|
break;
|
|
case "VERSION_INDEPENDENT_PROGID":
|
|
bValid = window.external.IsValidProgID(obj.value);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (typeof(bValid) == "undefined")
|
|
bValid = false;
|
|
|
|
return bValid;
|
|
}
|
|
|
|
|
|
function getval(obj, strProjName)
|
|
{
|
|
var SymbolValue = "";
|
|
switch(obj.NAME)
|
|
{
|
|
default:
|
|
SymbolValue = "";
|
|
break;
|
|
}
|
|
return (SymbolValue);
|
|
}
|
|
|
|
|
|
|
|
</SCRIPT>
|
|
<SCRIPT SRC="..\..\..\..\..\1033\common.js">
|
|
</SCRIPT>
|
|
|
|
</body></html>
|