Code: Select all
Call this what you want.{645FF040-5081-101B-9F08-00AA002F954E}Code: Select all
Call this what you want.{645FF040-5081-101B-9F08-00AA002F954E}Code: Select all
In the Microsoft Component Object Model (COM), GUIDs are used to uniquely distinguish different software component interfaces. This means that two (possibly incompatible) versions of a component can have exactly the same name but still be distinguishable by their GUIDs.
The use of GUIDs permits certain types of object orientation to be used in a consistent manner. For example, in the creation of components for Microsoft Windows using COM, all components must implement the IUnknown interface to allow client code to find all other interfaces and features of that component, and they do this by creating a GUID which may be called upon to provide an entry point. The IUnknown interface is defined as a GUID with the value of {00000000-0000-0000-C000-000000000046}, and rather than having a named entry point called "IUnknown", the preceding GUID is used, thus every component that provides an IUnknown entry point gives the same GUID, and every program that looks for an IUnknown interface in a component always uses that GUID to find the entry point, knowing that an application using that particular GUID must always consistently implement IUnknown in the same manner and the same way.Dragging an item that's inside such folder lead to a crash. I fixed that.zer0 wrote:What seem to be the difficulties that you're encountering?
Using a CLSID as a file extension is briefly described (actually it's almost just an off-the-cuff mention) in this MSDN/MSJ article about shell namespace extensions (http://www.microsoft.com/msj/archive/S332.aspx):admin wrote:Crass! You got any documentation this?
The article is probably well worth a read.Yet another alternative is to use the CLSID of your name space extension as the file extension of a folder. If you wanted to create a folder called Cheese that was really the junction point of a name space extension, you would actually create a folder named "Cheese.{CLSID}".
I don't think it's crass at all. Since the structure of such a folder is "Name.{GUID}", it's not that different from files that have a base name and an extension. Shell [almost] doesn't care about the name, it cares about the extension and what it does with a file when it's double-clicked/right-clicked on varies according to its extension.admin wrote:I just never heard that one can simply append it to the name and by this way change the nature of a folder. This is crass.
I'm not sure I agree.admin wrote:It appears as if these GUID extensions are only half-heartly implemented by MS. I can bypass them using Kernel API as well as Shell API. For example I can move files into such a folder without any problem, and WE cannot see them. They are hidden from any file manager that treats folders with GUID extensions as WE does (which is every file manager apart from XY AFAIK). Even WE itself is undecided: it shows the GUID extension in the address bar but hides it in the tree.
I decided to keep the "raw approach" (as known from XY's raw recycle bin) here, in other words do nothing apart from fixing crash bugs related to these beasts (which I've already done).
Might depend on the GUID. Recycle Bin GUID works fine here.zer0 wrote:P.S. In .0009 GUID folders don't lead anywhere. Double-click has no effect, there are no child folders.
Inspiring!jayfischer wrote:Kind of OT but somewhat relevent. I thought this was interesting.
http://www.osnews.com/story/22691/Activ ... n_God_Mode_
A further bug has been identified -- context menu shows "Empty Recycle Bin" greyed-out, even though item(s) is/are present in it.admin wrote:Recycle Bin GUID works fine here.
Again, this works fine here. But as I said, I won't dig into this now. I'll happily send users that insist in working with GUID extension folders to other file managers.zer0 wrote:A further bug has been identified -- context menu shows "Empty Recycle Bin" greyed-out, even though item(s) is/are present in it.admin wrote:Recycle Bin GUID works fine here.