18 { 0x0, &IID_IActiveDesktop },
20 { 0x4, &IID_IActiveDesktopP },
21 { 0x8, &IID_IADesktopP2 },
30 { 0x8, &IID_IShellExtInit },
31 { 0xc, &IID_IContextMenu },
32 { 0x10, &IID_IShellPropSheetExt },
33 { 0x14, &IID_IDiscMasterProgressEvents },
34 { 0x18, &IID_IDropTarget },
36 { 0x20, &IID_IOleCommandTarget },
37 { 0x24, &IID_ICDBurn },
38 { 0x28, &IID_ICDBurnPriv },
40 { 0x30, &IID_IDriveFolderExtOld },
41 { 0x34, &IID_INamespaceWalkCB },
42 { 0x3c, &IID_IServiceProvider },
43 { 0x40, &IID_ITransferAdviseSinkPriv },
44 { 0x44, &IID_IQueryCancelAutoPlay },
51 { 0x10, &IID_IPersistFolder2 },
52 { 0x10, &IID_IPersistFolder },
54 {
FARAWY, &IID_IShellIconOverlay },
55 {
FARAWY, &IID_IShellFolder2 },
56 {
FARAWY, &IID_IShellFolder },
62 { 0x0, &IID_IContextMenu3 },
63 { 0x0, &IID_IContextMenu2 },
64 { 0x0, &IID_IContextMenu },
66 { 0x4, &IID_IShellExtInit },
68 { 0x10, &IID_IFolderFilter },
75 { 0x70, &IID_IDeskMovr },
80 { 0x84, &IID_IViewObjectEx },
85 { 0x88, &IID_IOleInPlaceObjectWindowless },
86 { 0x8c, &IID_IQuickActivate },
92 { 0x0, &IID_IDragSourceHelper },
94 { 0x4, &IID_IDropTargetHelper },
106 { 0x0, &IID_IFileSearchBand },
112 { 0xc, &IID_IDeskBand },
113 { 0xc, &IID_IDockingWindow },
115 { 0x10, &IID_IInputObject },
124 { 0x0, &IID_IShellFolder2 },
125 { 0x0, &IID_IShellFolder },
127 { 0x4, &IID_IShellIcon },
128 { 0x8, &IID_IShellIconOverlay },
129 { 0xc, &IID_IPersistFolder2 },
130 { 0xc, &IID_IPersistFolder },
138 { 0x0, &IID_FolderItem2 },
139 { 0x0, &IID_FolderItem },
142 { 0x4, &IID_IPersistFolder2 },
143 { 0x4, &IID_IPersistFolder },
145 { 0x8, &IID_IObjectSafety },
146 { 0x10, &IID_IParentAndItem },
152 { 0x0, &IID_FolderItems3 },
154 { 0x0, &IID_FolderItems },
157 { 0x4, &IID_IPersistFolder },
158 { 0x8, &IID_IObjectSafety },
164 { 0x0, &IID_IShellFolder2 },
165 { 0x0, &IID_IShellFolder },
167 { 0x4, &IID_IPersistFolder3 },
168 { 0x4, &IID_IPersistFolder2 },
169 { 0x4, &IID_IPersistFolder },
171 { 0x8, &IID_IShellLinkA },
172 { 0xc, &IID_IShellLinkW },
174 { 0x14, &IID_IExtractIconW },
175 { 0x18, &IID_IQueryInfo },
179 { 0x28, &IID_IBrowserFrameOptions },
185 { 0x0, &IID_IFolderViewHost },
187 { 0x4, &IID_IServiceProvider },
189 { 0xc, &IID_IFolderView },
196 { -0xac, &IID_IDeskBand },
197 { -0xac, &IID_IDockingWindow },
200 { -0xa0, &IID_IInputObject },
203 { -0x98, &IID_IOleCommandTarget },
204 { -0x94, &IID_IServiceProvider },
205 { -0x78, &IID_IWinEventHandler },
206 { -0x74, &IID_IShellChangeNotify },
207 { -0x70, &IID_IDropTarget },
208 { -0x4, &IID_IContextMenu },
209 { 0x0, &IID_IShellFolderBand },
211 { 0x94, &IID_IFolderBandPriv },
217 { -0x30, &IID_IDeskBand },
218 { -0x30, &IID_IDockingWindow },
221 { -0x24, &IID_IInputObject },
224 { -0x1c, &IID_IOleCommandTarget },
225 { -0x18, &IID_IServiceProvider },
226 { 0x0, &IID_IMenuPopup },
227 { 0x0, &IID_IDeskBar },
229 { 0x4, &IID_IMenuBand },
230 { 0x8, &IID_IShellMenu2 },
231 { 0x8, &IID_IShellMenu },
232 { 0xc, &IID_IWinEventHandler },
233 { 0x10, &IID_IShellMenuAcc },
239 { 0x0, &IID_IBandSite },
241 { 0x4, &IID_IDeskBarClient },
243 { 0x8, &IID_IOleCommandTarget },
244 { 0xc, &IID_IInputObject },
245 { 0x10, &IID_IInputObjectSite },
246 { 0x14, &IID_IWinEventHandler },
247 { 0x18, &IID_IServiceProvider },
253 { -0x48, &IID_IOleCommandTarget },
254 { -0x44, &IID_IServiceProvider },
255 { -0x40, &IID_IDeskBar },
257 { -0x3c, &IID_IInputObjectSite },
258 { -0x38, &IID_IInputObject },
259 { 0x0, &IID_IMenuPopup },
262 { 0x8, &IID_IBanneredBar },
263 { 0xc, &IID_IInitializeObject },
268 ID_NAME(CLSID_MenuToolbarBase),
277 { -0x8, &IID_IShellFolder2 },
278 { -0x4, &IID_IStorage },
279 { 0x0, &IID_IAugmentedShellFolder2 },
280 { 0x0, &IID_IAugmentedShellFolder },
281 { 0x0, &IID_IShellFolder },
283 { 0x4, &IID_IShellService },
284 { 0x8, &IID_ITranslateShellChangeNotify },
285 { 0xc, &IID_IPersistFolder2 },
286 { 0xc, &IID_IPersistFolder },
289 { 0x14, &IID_IShellIconOverlay },
290 { 0x18, &IID_ICompositeFolder },
291 { 0x1c, &IID_IItemNameLimits },
297 { 0x0, &IID_IContextMenu3 },
298 { 0x0, &IID_IContextMenu2 },
299 { 0x0, &IID_IContextMenu },
301 { 0x4, &IID_IShellExtInit },
303 { 0x10, &IID_IFolderFilter },
310 { 0x10, &IID_IPersistFolder2 },
311 { 0x10, &IID_IPersistFolder },
313 { 0x10, &IID_IPersistFreeThreadedObject },
314 {
FARAWY, &IID_IShellIconOverlay },
315 {
FARAWY, &IID_IShellFolder2 },
316 {
FARAWY, &IID_IShellFolder },
322 { -0x4, &IID_IPersistFolder },
324 { 0x0, &IID_IShellFolder2 },
325 { 0x0, &IID_IShellFolder },
327 { 0x4, &IID_IShellIconOverlay },
328 {
FARAWY, &IID_IShellIcon },
329 {
FARAWY, &IID_IPersistFolder3 },
330 {
FARAWY, &IID_IPersistFolder2 },
331 {
FARAWY, &IID_IStorage },
332 {
FARAWY, &IID_IContextMenuCB },
333 {
FARAWY, &IID_IOleCommandTarget },
334 {
FARAWY, &IID_IItemNameLimits },
335 {
FARAWY, &IID_IPropertySetStorage },
342 { 0x10, &IID_IPersistFolder3 },
343 { 0x10, &IID_IPersistFolder2 },
344 { 0x10, &IID_IPersistFolder },
346 { 0x10, &IID_IPersistFreeThreadedObject },
347 {
FARAWY, &IID_IShellIconOverlay },
348 {
FARAWY, &IID_IShellFolder2 },
349 {
FARAWY, &IID_IShellFolder },
356 { -0x4, &IID_IContextMenu3 },
357 { -0x4, &IID_IContextMenu2 },
358 { -0x4, &IID_IContextMenu },
359 { 0x0, &IID_IShellExtInit },
364 ID_NAME(CLSID_PersonalStartMenu),
366 { -0x30, &IID_IDeskBand },
367 { -0x30, &IID_IDockingWindow },
370 { -0x24, &IID_IInputObject },
373 { -0x1c, &IID_IOleCommandTarget },
374 { -0x18, &IID_IServiceProvider },
375 { 0x0, &IID_IMenuPopup },
376 { 0x0, &IID_IDeskBar },
378 { 0x4, &IID_IMenuBand },
379 { 0x8, &IID_IShellMenu2 },
380 { 0x8, &IID_IShellMenu },
381 { 0xc, &IID_IWinEventHandler },
382 { 0x10, &IID_IShellMenuAcc },
388 { -0xc, &IID_IRemoteComputer },
389 { -0x4, &IID_IFolderNotify },
390 { 0x0, &IID_IShellFolder2 },
391 { 0x0, &IID_IShellFolder },
393 { 0x4, &IID_IPersistFolder2 },
394 { 0x4, &IID_IPersistFolder },
396 { 0x8, &IID_IContextMenuCB },
397 { 0xc, &IID_IShellIconOverlay },
401 ID_NAME(CLSID_QueryAssociations),
403 { 0x0, &IID_IAssociationArrayOld },
405 { 0x4, &IID_IAssociationArrayInitialize },
406 { 0x8, &IID_IQueryAssociations },
412 { -0xac, &IID_IDeskBand },
413 { -0xac, &IID_IDockingWindow },
416 { -0xa0, &IID_IInputObject },
419 { -0x98, &IID_IOleCommandTarget },
420 { -0x94, &IID_IServiceProvider },
421 { -0x78, &IID_IWinEventHandler },
422 { -0x74, &IID_IShellChangeNotify },
423 { -0x70, &IID_IDropTarget },
424 { -0x4, &IID_IContextMenu },
425 { 0x0, &IID_IShellFolderBand },
427 { 0x94, &IID_IFolderBandPriv },
433 { 0x0, &IID_IPersistFolder2 },
434 { 0x0, &IID_IPersistFolder },
437 { 0x4, &IID_IShellFolder2 },
438 { 0x4, &IID_IShellFolder },
439 { 0x8, &IID_IContextMenu },
440 { 0xc, &IID_IShellPropSheetExt },
441 { 0x10, &IID_IShellExtInit },
447 { -0x4, &IID_IContextMenu3 },
448 { -0x4, &IID_IContextMenu2 },
449 { -0x4, &IID_IContextMenu },
450 { 0x0, &IID_IShellExtInit },
458 { 0x0, &IID_IShellDispatch4 },
459 { 0x0, &IID_IShellDispatch3 },
460 { 0x0, &IID_IShellDispatch2 },
461 { 0x0, &IID_IShellDispatch },
464 { 0x4, &IID_IObjectSafety },
471 { -0x8, &CLSID_ShellDesktop },
474 { 0x4, &IID_IStorage },
475 { 0x8, &IID_IPersistFolder2 },
476 { 0x8, &IID_IPersistFolder },
478 { 0xc, &IID_IShellIcon },
479 { 0x14, &IID_IContextMenuCB },
480 { 0x18, &IID_ITranslateShellChangeNotify },
481 { 0x1c, &IID_IItemNameLimits },
482 { 0x20, &IID_IOleCommandTarget },
483 {
FARAWY, &IID_IShellIconOverlay },
484 {
FARAWY, &IID_IShellFolder2 },
485 {
FARAWY, &IID_IShellFolder },
492 { 0xc, &IID_IShellFolder2 },
493 { 0xc, &IID_IShellFolder },
494 { 0x10, &IID_IShellIcon },
495 { 0x14, &IID_IShellIconOverlay },
496 { 0x18, &IID_IPersistFolder3 },
497 { 0x18, &IID_IPersistFolder2 },
498 { 0x18, &IID_IPersistFolder },
500 { 0x18, &IID_IPersistFreeThreadedObject },
501 { 0x1c, &IID_IStorage },
502 { 0x24, &IID_IPropertySetStorage },
503 { 0x28, &IID_IItemNameLimits },
504 { 0x2c, &IID_IContextMenuCB },
505 { 0x34, &IID_IOleCommandTarget },
511 { 0x0, &IID_IShellPropSheetExt },
513 { 0x4, &IID_IShellExtInit },
518 ID_NAME(CLSID_ShellFolderView),
520 { 0x0, &IID_IShellFolderViewDual2 },
521 { 0x0, &IID_IShellFolderViewDual },
524 { 0x4, &IID_IShellService },
525 { 0x8, &IID_IServiceProvider },
526 { 0xc, &IID_IObjectSafety },
532 ID_NAME(CLSID_ShellFolderViewOC),
534 { 0x0, &IID_IFolderViewOC },
539 { 0x8, &IID_IObjectSafety },
546 { 0x98, &IID_IOleInPlaceObjectWindowless },
554 { 0x0, &IID_IShellItem },
556 { 0x4, &IID_IPersistIDList },
557 { 0x8, &IID_IParentAndItem },
563 { 0x0, &IID_IShellLinkA },
565 { 0x4, &IID_IShellLinkW },
568 { 0x10, &IID_IShellExtInit },
569 { 0x14, &IID_IContextMenu3 },
570 { 0x14, &IID_IContextMenu2 },
571 { 0x14, &IID_IContextMenu },
572 { 0x18, &IID_IDropTarget },
573 { 0x1c, &IID_IQueryInfo },
574 { 0x20, &IID_IShellLinkDataList },
575 { 0x24, &IID_IExtractIconA },
576 { 0x28, &IID_IExtractIconW },
577 { 0x2c, &IID_IExtractImage2 },
578 { 0x2c, &IID_IExtractImage },
580 { 0x34, &IID_IServiceProvider },
581 { 0x38, &IID_IFilter },
583 { 0x44, &IID_ICustomizeInfoTip },
584 {
FARAWY, &IID_ISLTracker },
589 ID_NAME(CLSID_ShellLinkObject),
598 { -0x48, &IID_IOleCommandTarget },
599 { -0x44, &IID_IServiceProvider },
600 { -0x40, &IID_IDeskBar },
602 { -0x3c, &IID_IInputObjectSite },
603 { -0x38, &IID_IInputObject },
604 { 0x0, &IID_IMenuPopup },
607 { 0x8, &IID_IBanneredBar },
608 { 0xc, &IID_IInitializeObject },
614 { 0x0, &IID_IShellExtInit },
616 { 0x4, &IID_IContextMenu },
624 { 0x4, &IID_IParentAndItem },
631 { 0x0, &IID_ITrackShellMenu },
632 { 0x0, &IID_IShellMenu },
634 { 0x4, &IID_IShellMenu2 },
636 { 0xc, &IID_IServiceProvider },
640 ID_NAME(CLSID_UserNotification),
642 { 0x0, &IID_IUserNotification },
VOID TestClasses(_In_ PCWSTR ModuleName, _In_ PCCLASS_AND_INTERFACES ExpectedInterfaces, _In_ INT ExpectedInterfaceCount)
const GUID CLSID_MenuBandSite
const GUID CLSID_StartMenu
const IID IID_IObjectWithSite
const GUID IID_IOleInPlaceActiveObject
const GUID IID_IOleInPlaceSite
const GUID IID_IViewObject
const GUID IID_IConnectionPointContainer
const GUID IID_IProvideClassInfo
const GUID IID_IPropertyBag
const GUID IID_IOleWindow
const GUID IID_IViewObject2
const GUID IID_IOleControlSite
const GUID IID_IProvideClassInfo2
const GUID IID_IOleClientSite
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
const GUID IID_IOleControl
const GUID IID_IPersistStreamInit
const GUID IID_IPersistFile
const GUID IID_IPersistStream
const GUID IID_IPersistPropertyBag
static const CLASS_AND_INTERFACES ExpectedInterfaces[]
static const INT ExpectedInterfaceCount