Virtualization SDK Documentation
Created: 28 Apr 2008 | Updated: 08 Dec 2010 | 12 comments
I will be providing a class, named FLS2 that you can download and use as well as articles on how to use the class. At first there won't be many methods in FSL2 because I'll only add them as I complete the documentation. There's also a lot I haven't used or marshaled in as of this writing. To make things easy and simple every time there's a new article posted and the class is updated I'll put all notes here -- in this book.
SVS SDK Documetation
SWV 6.1 SDK Documetation
SWV 6.1 SP1 SDK Documetation
SWV 6.1 SP4 SDK Documetation
Virtualization SDK Downloads
Article Filed Under:

Comments 12 Comments • Jump to latest comment
Jordan,
Could you tell me where to find all the possible global excludes? The whole list?
F
______________________________________________
Frank Bastiaens
Senior Technical Consultant
Vanderlet B.V.
For 6.1 SP6 they're all under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FSLX\Parameters\FSL\ and key Exclude Paths.
If a forum post solves your problem please flag is as the solution
But what I'm asking is the list of Global Excludes, e.g. the Variables.
______________________________________________
Frank Bastiaens
Senior Technical Consultant
Vanderlet B.V.
My understanding is the format is always: type <tab> exclude
0x0000 = file
0x0001= directory
0x0002 = directory and subdirectory
Outside of that global excludes haven't changed and can be any file extension or folder on the system.
If a forum post solves your problem please flag is as the solution
I mean the list of all the global variables, equal to.
[_B_]PERSONAL[_E_]
[_B_]COOKIES[_E_]
...
If you look at a layer properties you see the user and system variables (excludes), where can I find that same list for the global excludes?
F
______________________________________________
Frank Bastiaens
Senior Technical Consultant
Vanderlet B.V.
They're the same but you really don't need to use the SWV variables for any exclude as a windows variable path or full path will work.
If you want to see a list of all the SWV variables (ones that start with [_B_] and end in [_E_]) just look in c:\fslrdr\# and all the folders there are what we support. I believe that they're also stored in the registry somewhere but I'm not sure where--I'll have to look into that.
If you want to convert too and from those variables you can use the SDK functions FSL2VariablizePath and FSL2DevariablizePath which I cover in part 7 of the SWV SDK.
Hope that answsers your question.
If a forum post solves your problem please flag is as the solution
Can't find it in the registry.
But I like the tip of converting the variables.
F
______________________________________________
Frank Bastiaens
Senior Technical Consultant
Vanderlet B.V.
So after talking with some people we really don't store the SWV variables in the registry and so basically there's no simple way to enumerate all of them.
You can find the few that we do store in the registry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
If a forum post solves your problem please flag is as the solution
Hi Jordan,
do you have a sample code for FSL2.ExportEx I can't seem to make it work. Below is my sample code
I have created already the folder on my c: drive.
Did you ever "start" a capture and provide the fslGUID (_appGUID)?
What error code are you getting returned when you try to export?
As AngelD said you need to have a layer on the system before exporting--or capturing for that matter. Part Five of the SWV SDK Documentation covers creates and captures and gives sample code.
If a forum post solves your problem please flag is as the solution
Was a very long time since I looked at C# now but maybe this will help (or not).
FSL2 _svs = new FSL2(); _svs.initialize(); StringBuilder myGuid = new StringBuilder(FSL2.MAXIDLEN); UInt32 result = FSL2.createLayer("FireFox 4.0", FSL2.LAYER_TYPE_NORMAL, true, myGuid); if (result == FSL2.ERROR_SUCCESS) { result = FSL2.exportEx( _appGUID, "c:\\xpf\\FireFox 4.0.xpf", new FSL2.IMPEXP_INFO_FUNC(exportStatus), ref _svs.pUserData, FSL2.FSL2_EXPORT_XPF, FSL2.LAYER_REPLACE_IF_EXISTS); if (result == FSL2.ERROR_SUCCESS) { Console.WriteLine("Export done"); } else { Console.WriteLine("Error exporting layer"); } } else { Console.WriteLine("Error creating empty layer"); } public static void exportStatus(FSL2.IMP_EXP_V1 RTInfoFunc) { string CmdAction; string CmdStatus = "Export Action: "; if (FSL2.IMPEXP_STATE_COMPLETE == RTInfoFunc.currentAction) CmdAction = "COMPLETE"; else if (FSL2.IMPEXP_STATE_COMPRESSING == RTInfoFunc.currentAction) CmdAction = "COMPRESSING"; else if (FSL2.IMPEXP_STATE_AFTER_COMPRESS == RTInfoFunc.currentAction) CmdAction = "AFTER COMPRESS"; else if (FSL2.IMPEXP_STATE_REG_EXPORT == RTInfoFunc.currentAction) CmdAction = "REGISTRY EXPORTING"; else if (FSL2.IMPEXP_STATE_DELETING == RTInfoFunc.currentAction) CmdAction = "DELETING"; else if (FSL2.IMPEXP_STATE_NAME_VALID == RTInfoFunc.currentAction) CmdAction = "NAME_VALID"; else if (FSL2.IMPEXP_STATE_ERROR == RTInfoFunc.currentAction) return; else CmdAction = RTInfoFunc.currentAction.ToString(); Console.CursorLeft = 0; Console.Write(CmdStatus + CmdAction); if (FSL2.IMPEXP_STATE_COMPLETE == RTInfoFunc.currentAction) { for (int i = 0; i < CmdStatus.Length + CmdAction.Length; i++) { Console.Write(" "); } } }Would you like to reply?
Login or Register to post your comment.