На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Structuring a Namespace Extension



As is the case with shell extensions, a namespace extension is implemented as a COM in-process server DLL. For even the simplest of extensions, experience with COM, OLE, and the behavior of the Windows Explorer is required before you attempt to implement a namespace extension. It also means that you must properly enter it in the system Registry or it will not work.

As a reminder, the construction of an in-process server DLL requires the implementation of a DLL that exports the following functions:

· DllMain
· DllGetClassObject
· DllUnloadNow



The DLL also implements an object that exposes IClassFactory for the creation of the other objects contained in the DLL. Those objects will expose IUnknown and the other interfaces necessary to implement a namespace extension, including IPersistFolder, IShellFolder, IEnumIDList, and IShellView. These interfaces allow the Explorer and your extension to display, interact, and communicate.

It is important to remember that the Explorer calls into your extension by using the IShellFolder and IShellView interfaces you have implemented in your extension. The IShellBrowser interface (implemented by the Explorer), allows your extension to call back into the Explorer. It is very similar to "Site"-type interfaces commonly found in OLE scenarios.
Beyond these required interfaces, your extension will need to implement other interfaces that will be created by the IShellFolder object. These include IExtractIcon to provide icons, IContextMenu to provide context menus for your items, drag-and-drop interfaces (IDropSource and IDropTarget), and IDataObject for data transfer.

Examples of in-process server DLLs, especially any that contain namespace or shell extensions, are obviously helpful in learning to build namespace extension DLLs.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Структурирование Расширение Namespace



Как является причиной с расширениями оболочки, расширение namespace осуществлено как сервер изготовления COM DLL. Для ровного простейшие расширения, опыт с COM, OLE, и поведение Windows Explorer потребовалось прежде, чем Вы попытаетесь осуществлять расширение namespace. Это также означает, что Вы должны правильно ввести это в системной Регистрации или это не будет работать.

Так как напоминание, конструкция сервера изготовления DLL требует реализацию DLL, которая экспортирует следующее функций:

DllMain DllGetClassObject DllUnloadNow



DLL Также осуществляет объект, который подвергает IClassFactory для создания других объектов содержимых в DLL. Те объекты подвергнет IUnknown и другие интерфейсы необходимые осуществлять расширение namespace, включая IPersistFolder, IShellFolder, IEnumIDList, и IShellView. Эти интерфейсы позволяют Explorer и ваше расширение, чтобы отображать, взаимодействовать, и связываться.

Важно должно поминать, что вызовы Explorer в ваше расширение используя IShellFolder и интерфейсы IShellView Вы осуществили в вашем расширении. Интерфейс IShellBrowser (осуществленное Explorer), позволяет расширение, чтобы называться снова в Explorer. Это очень подобное "интерфейсам типа Site"-обычно обнаруженным в сценариях OLE.
За этими требовавшееся интерфейсы, ваше расширение должно осуществить другие интерфейсы, которые будут созданы объектом IShellFolder. Эти включают IExtractIcon, чтобы обеспечивать иконки, IContextMenu, чтобы обеспечивать контекстным меню для ваших пунктов, помехи-и-интерфейсы капли (IDropSource и IDropTarget), и IDataObject для передачи данных.

Примеры сервера изготовления DLLs, особенно любое, что содержать namespace или расширения оболочки, очевидно полезные в учащемся сформировать namespace расширение DLLs.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz