本文整理汇总了C++中Hashtable::GetEnumerator方法的典型用法代码示例。如果您正苦于以下问题:C++ Hashtable::GetEnumerator方法的具体用法?C++ Hashtable::GetEnumerator怎么用?C++ Hashtable::GetEnumerator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hashtable
的用法示例。
在下文中一共展示了Hashtable::GetEnumerator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CallFunction
///*************************************************************************
/// Method: CallFunction
/// Description:
///
/// Parameters:
///
///
///*************************************************************************
bool FaultsTest::CallFunction(String *funcName, ArrayList *ParamArray, DWORD returnValue, DWORD errorCode){
//Console::WriteLine("\n---------->CallFunction Begins<------------\n");
Function0 functionPtr0 = NULL;
Function1 functionPtr1 = NULL;
Function2 functionPtr2 = NULL;
Function3 functionPtr3 = NULL;
Function4 functionPtr4 = NULL;
Function5 functionPtr5 = NULL;
Function6 functionPtr6 = NULL;
Function7 functionPtr7 = NULL;
Function8 functionPtr8 = NULL;
Function9 functionPtr9 = NULL;
Function10 functionPtr10 = NULL;
Function11 functionPtr11 = NULL;
Function12 functionPtr12 = NULL;
int ret=returnValue;
int err=errorCode;
bool functionfoundFlag=false;
Console::WriteLine("Function: {0} ",funcName);
Console::WriteLine("ReturnValue: {0} ErrorCode:{1}\n",Convert::ToString(ret),Convert::ToString(err));
DWORD realError=0;
DWORD realReturn=0;
Hashtable *myFunctionTable = new Hashtable();
myFunctionTable=dynamic_cast<Hashtable *>(functionNavigatorInstance->FunctionTableByName->Clone());
IDictionaryEnumerator *fEnum=myFunctionTable->GetEnumerator();
Function *callFunc;
//Search for the functionName in the functions file
while (fEnum->MoveNext()){
callFunc=dynamic_cast<Function *>(fEnum->get_Value());
if(String::Compare(callFunc->get_FunctionName(),funcName)==0){functionfoundFlag=true;break;}
}
if (functionfoundFlag==true){
Console::WriteLine( callFunc->get_FunctionName() );
DWORD *voidParamArray = new DWORD[13];
String *lpFileName = callFunc->get_OriginalDll();
HMODULE hModule = LoadLibrary( convertGCStringToNative( lpFileName ) );
if ( hModule == NULL )
{
Console::WriteLine( "Failed to load module.\n" );
return false;
}
TestingFunctionXML::Parameter *paramTemp =new TestingFunctionXML::Parameter();
for ( int paramCount = 0; paramCount < ParamArray->Count; paramCount++ )
{
paramTemp = dynamic_cast<TestingFunctionXML::Parameter *>(ParamArray->get_Item( paramCount ));
Console::WriteLine("Param{0}:{1}",Convert::ToString(paramTemp->get_Index()),paramTemp->get_AssignedValue());
if ( paramTemp->get_CompareAs() != S"StringType" )
{
if( !paramTemp->get_AssignedValue()->Empty){
voidParamArray[paramCount] = Convert::ToInt32(paramTemp->get_AssignedValue(),10);
}
else{
char *mychar=new char[];
voidParamArray[paramCount] = DWORD(mychar);}
}
else
{
//voidParamArray[paramCount]=NULL;
//voidParamArray[paramCount] = (DWORD)convertGCStringToNative((dynamic_cast<String *>(paramTemp->get_AssignedValue())));
voidParamArray[paramCount] = Convert::ToInt32(paramTemp->get_AssignedValue(),10);
}
}
示例2: TestFault
///*************************************************************************
/// Method: TestFault
/// Description: Tests the fault name specified
///
/// Parameters:
/// faultName - The name of the fault in faults.xml to be tested
///
/// Return Value: true if successful, false otherwise
///*************************************************************************
bool FaultsTest::TestFault(char *faultName){
//OUTPUT PASSFAIL TO A FILE
FileStream *FileStreamer;
FileStreamer = new FileStream("FAULTSTEST.TXT", FileMode::Create , FileAccess::Write);
StreamWriter * pWriter = new StreamWriter(FileStreamer);
Console::WriteLine("---------->TestFault Method Begins<----------\n");
//Load the Faults xml file in memory using FaultsXMLFramework
LoadFaultsXmlFile("faults.xml");
//Load the Functions xml file in memory using FunctionsXMLFramework
LoadFunctionsXmlFile("functions.xml");
bool bSuccess=true;
Hashtable *myHT = new Hashtable();
myHT=dynamic_cast<Hashtable *>(faultNavigatorInstance->FaultTableByName->Clone());
IDictionaryEnumerator *faultsEnum=myHT->GetEnumerator();
Console::WriteLine("OUTPUT FILE:FAULTTEST.TXT\n");
while (faultsEnum->MoveNext()){
DWORD ReturnValue=0;
DWORD ErrorCode=0;
Fault *fault=dynamic_cast<Fault *>(faultsEnum->get_Value());
ReturnValue=(Convert::ToInt32(fault->get_ReturnValue()));
ErrorCode=(Convert::ToInt32(fault->get_ErrorCode()));
if (System::String::Compare(fault->get_Name(),faultName)==0)
{
ArrayList *funcList=fault->Function;
Console::WriteLine(S"{0} Fault has {1} functions",fault->Name,__box(funcList->Count));
pWriter->WriteLine("\n--------> {0} Fault has {1} functions <-------\n", fault->Name,__box(funcList->Count));
//cycle through all functions
for(int ifuncs=0;ifuncs<funcList->Count;ifuncs++)
{
FaultFunction *thisfunc=dynamic_cast<FaultFunction *>(funcList->get_Item(ifuncs));
{
//****Search for a specific function--->TEST
//if (System::String::Compare(thisfunc->get_Name(),"WSARecv")==0)
// {
if(thisfunc->get_OverrideErrorCode()!=NULL){
ErrorCode=(Convert::ToInt32(thisfunc->get_OverrideErrorCode()));
}
if(thisfunc->get_OverrideReturnValue()!=NULL){
ReturnValue=(Convert::ToInt32(thisfunc->get_OverrideReturnValue()));
}
ArrayList *matchArray=thisfunc->get_MatchParams();
ArrayList *paramsToSendToCallFunction = FillParamArray(convertGCStringToNative(thisfunc->Name),matchArray);
if (CallFunction(thisfunc->get_Name(),paramsToSendToCallFunction,ReturnValue,ErrorCode) == true)
{
//Console::WriteLine("The function {0} has Passed.",thisfunc->Name);
pWriter->WriteLine("{0} has Passed!",thisfunc->Name);
bSuccess=true;
}
else
{
//Console::WriteLine("The function {0} has Failed.",thisfunc->Name);
pWriter->WriteLine("{0} has Failed!",thisfunc->Name);
bSuccess=false;
}
}
//}
}
}
}
Console::WriteLine("\n---------->TestFault Method Ends<------------\n");
pWriter->Close();
return bSuccess;
}