////////////////////////////////////////////////////////////////// //Module: Static/Staticmisc.cpp // // Purpose: Static Module Implementation. This module implements // miscellaneous commands of Static mode. // // Developers Name: Surya // // Revision History: // // Date Author Comments // 10-8-2001 Bharat Initial Version. SCM Base line 1.0 // 21-8-2001 Surya Implemented misc functions. // ////////////////////////////////////////////////////////////////// #include "nshipsec.h" // //External Variables declaration // extern HINSTANCE g_hModule; extern STORAGELOCATION g_StorageLocation; extern CNshPolStore g_NshPolStoreHandle; extern CNshPolNegFilData g_NshPolNegFilData; ////////////////////////////////////////////////////////////////// // //Function: HandleStaticImportPolicy() // //Date of Creation: 21st Aug 2001 // //Parameters: // IN LPCWSTR pwszMachine, // IN OUT LPWSTR *ppwcArguments, // IN DWORD dwCurrentIndex, // IN DWORD dwArgCount, // IN DWORD dwFlags, // IN LPCVOID pvData, // OUT BOOL *pbDone // //Return: DWORD // //Description: // Implementation for the command " Import Policy " // // Revision History: // // Date Author Comments // ////////////////////////////////////////////////////////////////// DWORD HandleStaticImportPolicy( IN LPCWSTR pwszMachine, IN OUT LPWSTR *ppwcArguments, IN DWORD dwCurrentIndex, IN DWORD dwArgCount, IN DWORD dwFlags, IN LPCVOID pvData, OUT BOOL *pbDone ) { LPTSTR pszMachineName=NULL,pszFileName=NULL,pszEnhancedFileName=NULL; DWORD dwFileLocation=IPSEC_FILE_PROVIDER; DWORD dwRet = ERROR_SHOW_USAGE,dwCount=0; HANDLE hhPolicyStorage=NULL, hFileStore=NULL; DWORD dwReturnCode = ERROR_SUCCESS , dwStrLength = 0, dwLocation; const TAG_TYPE vcmdStaticImportPolicy[] = { { CMD_TOKEN_STR_FILE, NS_REQ_PRESENT, FALSE } }; const TOKEN_VALUE vtokStaticImportPolicy[] = { { CMD_TOKEN_STR_FILE, CMD_TOKEN_FILE } }; PARSER_PKT parser; ZeroMemory(&parser, sizeof(parser)); //if the user asked for usage, delegate the responsibility to netsh if(dwArgCount <= 2) { dwRet = ERROR_SHOW_USAGE; BAIL_OUT; } parser.ValidTok = vtokStaticImportPolicy; parser.MaxTok = SIZEOF_TOKEN_VALUE(vtokStaticImportPolicy); parser.ValidCmd = vcmdStaticImportPolicy; parser.MaxCmd = SIZEOF_TAG_TYPE(vcmdStaticImportPolicy); dwRet = Parser(pwszMachine,ppwcArguments,dwCurrentIndex,dwArgCount,&parser); if(dwRet != ERROR_SUCCESS) { CleanUp(); if (dwRet==RETURN_NO_ERROR) { dwRet = ERROR_SUCCESS; } BAIL_OUT; } // get the parsed user input for(dwCount=0;dwCount