RE: Adding a VendorParameterSet In the MMC

  • From: "Wayne Berry" <wayne@xxxxxxxxxx>
  • To: "'[ISAserver.org Discussion List]'" <isalist@xxxxxxxxxxxxx>
  • Date: Thu, 16 Sep 2004 09:47:33 -0700

Jim,

I am not saving anything in this code, what I am trying to do is narrow down
the issue, more:

Ok, I know this is a bug now, here is how:

If I used this code in my MMC Snap-In (Error Handling stripped for brevity):

    pIDataObject->QueryInterface(IID_IFPCSnapinNode,
(void**)&pIFPCSnapinNode);
    pIFPCSnapinNode->get_ParentArray(&pIDispatch);
    pIDispatch->QueryInterface(IID_IFPCArray,(void **)&pIFPCArray);
    pIFPCArray->get_VendorParametersSets(&pIFPCVendorParametersSets);

To get the IFPCVendorParametersSets interface from the IDataObject -- then
the Save() doesn't work correctly.  However if I replace that code with this
code:

    CoCreateInstance(CLSID_FPC, NULL, CLSCTX_ALL, IID_IFPC, (void
**)&pIFPC);
    pIFPC->GetContainingArray(&pIFPCArray );
    pIFPCArray->get_Name(&bstrName);
    pIFPCArray->get_VendorParametersSets(ppIFPCVendorParametersSets);

To Get The IFPCVendorParametersSets interface, then Save() does work.  Since
my Snap-In is attached to the local array -- both sets of code should return
the exact same IFPCVendorParametersSets, the issue appears that I am sharing
the IFPCArray instance with MMC and if MMC does see (or resets) the
GetServiceRestartMask???? then my settings do not get saved.

Here is the work around:

    pIDataObject->QueryInterface(IID_IFPCSnapinNode,
(void**)&pIFPCSnapinNode);
    pIFPCSnapinNode->get_ParentArray(&pIDispatch);
    pIDispatch->QueryInterface(IID_IFPCArray,(void **)&pIFPCArray);
   
    // Start WorkAround
    pIFPCArray->get_Name(&bstrName);
    pIFPCArray->Release();
    CoCreateInstance(CLSID_FPC, NULL, CLSCTX_ALL, IID_IFPC, (void
**)&pIFPC);
    pIFPC->get_Arrays(&pIFPCArrays);
    var.vt = VT_BSTR
    var.bstrVal = ::SysAllosString(bstrName);
    pIFPCArrays->Item(var,&pIFPCArray);
    // End WorkAround   

    pIFPCArray->get_VendorParametersSets(&pIFPCVendorParametersSets);

Basically, I use IFPCSnapInNode to get the Array Name, then CoCreate an
Instance of IFPC and from there look-up a brand new IFPCArray instance --
that is not associated with the MMC.

Code Following All These that has the save in it is:

pIFPCVendorParametersSets->Add(FPCGUID,False,&pIFPCVendorParametersSet);
pIFPCVendorParametersSets->Save();

Note the FPCGUID doesn't exist -- I have a .vbs that cleans it up for every
test.

-Wayne 

-----Original Message-----
From: Jim Harrison [mailto:jim@xxxxxxxxxxxx] 
Sent: Thursday, September 16, 2004 8:50 AM
To: [ISAserver.org Discussion List]
Subject: [isalist] RE: Adding a VendorParameterSet In the MMC

http://www.ISAserver.org

I know; and you also wrote in to Dave, et al as well on a completely
separate issue.
I don't see from that code where you're saving anything.


  Jim Harrison
  MCP(NT4, W2K), A+, Network+, PCG
  http://isaserver.org/Jim_Harrison/
  http://isatools.org
  Read the help / books / articles!

----- Original Message -----
From: "Wayne Berry" <wayne@xxxxxxxxxx>
To: "[ISAserver.org Discussion List]" <isalist@xxxxxxxxxxxxx>
Sent: Thursday, September 16, 2004 07:51
Subject: [isalist] RE: Adding a VendorParameterSet In the MMC


http://www.ISAserver.org

Jim,

Did a little more experimenting and have a better summation of my problem
(looks like a bug too me), this I posted on news.mircsoft.com:

I am trying to add a VendorParameterSet to using

IFPCVendorParameterSets->Add.  When I do this from a WScript .vbs file
everything works great.

However, when I do it from within my MMC plugin, the VendorParameterSet gets
added within the state of the MMC snaping (in process), however once the
process dies (mmc.exe is stopped) and I start mmc.exe and load the plugin
again the VendorParameterSet I added is missing.

It appears that I am not making the right call to save the
VendorParameterSet I have added to Mircosoft ISA Storage Server correctly --

in other words is there a call that makes it persist.  In ISA 2000 I have
some code to call IFPCVendorParameterSets->Save after

When I call my code from another process space everything works correctly.
This is very important -- becuase it appears that the MMC process space and
the interface that I get from MMC is the problem.

What I believe is the issue is that the IFPCArray I am getting from:


            hrReturn = pIFPCSnapinNode->get_ParentArray(&pIDispatch);

            if (FAILED(hrReturn))

            {

                  XLoadStringW(IDS_B1041,szErrorTemplate,MAX_ERROR_MSG);


swprintf(szErrorMsg,szErrorTemplate,hrReturn,__XFILE__,__LINE__);

                  goto End;

            }



            hrReturn = pIDispatch->QueryInterface(IID_IFPCArray,(void
**)&pIFPCArray);

            if (FAILED(hrReturn))

            {

                  XLoadStringW(IDS_B1041,szErrorTemplate,MAX_ERROR_MSG);


swprintf(szErrorMsg,szErrorTemplate,hrReturn,__XFILE__,__LINE__);

                  goto End;

            }

Is being used my the ISA Snap-In after I have called the Save -- and because
of that my changes are not getting saved.  i.e. the SaveBitMask is being
tampered with after I have turned over control to ISA Snap-In

-Wayne
 

-----Original Message-----
From: Jim Harrison [mailto:jim@xxxxxxxxxxxx] 
Sent: Wednesday, September 15, 2004 6:45 PM
To: [ISAserver.org Discussion List]
Subject: [isalist] RE: Adding a VendorParameterSet In the MMC

http://www.ISAserver.org

It's not missing, you just overlooked it.
All objects / collections that support modification methods also include the
.save method.

  Jim Harrison
  MCP(NT4, W2K), A+, Network+, PCG
  http://isaserver.org/Jim_Harrison/
  http://isatools.org
  Read the help / books / articles!

----- Original Message -----
From: "Wayne Berry" <wayne@xxxxxxxxxx>
To: "[ISAserver.org Discussion List]" <isalist@xxxxxxxxxxxxx>
Sent: Wednesday, September 15, 2004 14:51
Subject: [isalist] RE: Adding a VendorParameterSet In the MMC


http://www.ISAserver.org

ISAList:

Ok, doing a few more test I have determined that -
IFPCVendorParameterSets->Save needs to be called after
IFPCVendorParameterSets->Add, though this is not documented like
IFPCVendorParameterSet->Set -- in other words there is some missing
documentation in IFPCVendorParameterSets->Add.

So, now the problem is a little different (I have tested with and without
Save).  Basically I was calling a straight:

IFPCVendorParameterSets->Save()

in ISA 2000, in ISA 2004 Save takes two booleans variables.

However, I can't figure out what combination will write out the to
presistant storage right when I call Save -- like ISA 2000 when I am in my
MMC SnapIn

Interetly enought -- in a .vbs file doing a .Save does the job -- default
parameters work.

-Wayne

-----Original Message-----
From: Wayne Berry [mailto:wayne@xxxxxxxxxx] 
Sent: Wednesday, September 15, 2004 2:46 PM
To: [ISAserver.org Discussion List]
Subject: [isalist] Adding a VendorParameterSet In the MMC

http://www.ISAserver.org

ISAList:

I am trying to add a VendorParameterSet to using
IFPCVendorParameterSets->Add.  When I do this from a WScript .vbs file
everything works great.  However, when I do it from within my MMC plugin,
the VendorParameterSet gets added within the state of the MMC snaping (in
process), however I can't see if from the command line, and once the process
dies (mmc.exe is stopped) and I load the plugin again the VendorParameterSet
I added is missing.

It appears that I am not making the right call to set the VendorParameterSet
I have added so that it is set in the Mirosoft ISA Storage Server correctly
-- in other words is there a call that makes it persist.  In ISA 2000 I have
some code to call IFPCVendorParameterSets->Save after
IFPCVendorParameterSets->Add, however this doesn't help in ISA 2004 --
secondly the documentation for IFPCVendorParameterSets->Add doesn't say you
have to call Save.

Anyone doing any ISA 2004 programming?  

-Wayne


------------------------------------------------------
List Archives: http://www.webelists.com/cgi/lyris.pl?enter=isalist
ISA Server Newsletter: http://www.isaserver.org/pages/newsletter.asp
ISA Server FAQ: http://www.isaserver.org/pages/larticle.asp?type=FAQ
------------------------------------------------------
Other Internet Software Marketing Sites:
World of Windows Networking: http://www.windowsnetworking.com Leading
Network Software Directory: http://www.serverfiles.com
No.1 Exchange Server Resource Site: http://www.msexchange.org Windows
Security Resource Site: http://www.windowsecurity.com/ Network Security
Library: http://www.secinf.net/ Windows 2000/NT Fax Solutions:
http://www.ntfaxfaq.com
------------------------------------------------------
You are currently subscribed to this ISAserver.org Discussion List as:
wayne@xxxxxxxxxx To unsubscribe visit
http://www.webelists.com/cgi/lyris.pl?enter=isalist
Report abuse to listadmin@xxxxxxxxxxxxx


------------------------------------------------------
List Archives: http://www.webelists.com/cgi/lyris.pl?enter=isalist
ISA Server Newsletter: http://www.isaserver.org/pages/newsletter.asp
ISA Server FAQ: http://www.isaserver.org/pages/larticle.asp?type=FAQ
------------------------------------------------------
Other Internet Software Marketing Sites:
World of Windows Networking: http://www.windowsnetworking.com
Leading Network Software Directory: http://www.serverfiles.com
No.1 Exchange Server Resource Site: http://www.msexchange.org
Windows Security Resource Site: http://www.windowsecurity.com/
Network Security Library: http://www.secinf.net/
Windows 2000/NT Fax Solutions: http://www.ntfaxfaq.com
------------------------------------------------------
You are currently subscribed to this ISAserver.org Discussion List as:
jim@xxxxxxxxxxxx
To unsubscribe visit http://www.webelists.com/cgi/lyris.pl?enter=isalist
Report abuse to listadmin@xxxxxxxxxxxxx


------------------------------------------------------
List Archives: http://www.webelists.com/cgi/lyris.pl?enter=isalist
ISA Server Newsletter: http://www.isaserver.org/pages/newsletter.asp
ISA Server FAQ: http://www.isaserver.org/pages/larticle.asp?type=FAQ
------------------------------------------------------
Other Internet Software Marketing Sites:
World of Windows Networking: http://www.windowsnetworking.com
Leading Network Software Directory: http://www.serverfiles.com
No.1 Exchange Server Resource Site: http://www.msexchange.org
Windows Security Resource Site: http://www.windowsecurity.com/
Network Security Library: http://www.secinf.net/
Windows 2000/NT Fax Solutions: http://www.ntfaxfaq.com
------------------------------------------------------
You are currently subscribed to this ISAserver.org Discussion List as:
wayne@xxxxxxxxxx
To unsubscribe visit http://www.webelists.com/cgi/lyris.pl?enter=isalist
Report abuse to listadmin@xxxxxxxxxxxxx


------------------------------------------------------
List Archives: http://www.webelists.com/cgi/lyris.pl?enter=isalist
ISA Server Newsletter: http://www.isaserver.org/pages/newsletter.asp
ISA Server FAQ: http://www.isaserver.org/pages/larticle.asp?type=FAQ
------------------------------------------------------
Other Internet Software Marketing Sites:
World of Windows Networking: http://www.windowsnetworking.com
Leading Network Software Directory: http://www.serverfiles.com
No.1 Exchange Server Resource Site: http://www.msexchange.org
Windows Security Resource Site: http://www.windowsecurity.com/
Network Security Library: http://www.secinf.net/
Windows 2000/NT Fax Solutions: http://www.ntfaxfaq.com
------------------------------------------------------
You are currently subscribed to this ISAserver.org Discussion List as:
jim@xxxxxxxxxxxx
To unsubscribe visit http://www.webelists.com/cgi/lyris.pl?enter=isalist
Report abuse to listadmin@xxxxxxxxxxxxx


------------------------------------------------------
List Archives: http://www.webelists.com/cgi/lyris.pl?enter=isalist
ISA Server Newsletter: http://www.isaserver.org/pages/newsletter.asp
ISA Server FAQ: http://www.isaserver.org/pages/larticle.asp?type=FAQ
------------------------------------------------------
Other Internet Software Marketing Sites:
World of Windows Networking: http://www.windowsnetworking.com
Leading Network Software Directory: http://www.serverfiles.com
No.1 Exchange Server Resource Site: http://www.msexchange.org
Windows Security Resource Site: http://www.windowsecurity.com/
Network Security Library: http://www.secinf.net/
Windows 2000/NT Fax Solutions: http://www.ntfaxfaq.com
------------------------------------------------------
You are currently subscribed to this ISAserver.org Discussion List as:
wayne@xxxxxxxxxx
To unsubscribe visit http://www.webelists.com/cgi/lyris.pl?enter=isalist
Report abuse to listadmin@xxxxxxxxxxxxx



Other related posts: