ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

devenum_private.h
Go to the documentation of this file.
00001 /*
00002  *  includes for devenum.dll
00003  *
00004  * Copyright (C) 2002 John K. Hohm
00005  * Copyright (C) 2002 Robert Shearman
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00020  *
00021  * NOTES ON FILE:
00022  * - Private file where devenum globals are declared
00023  */
00024 
00025 #ifndef RC_INVOKED
00026 #include <stdarg.h>
00027 #endif
00028 
00029 #include "windef.h"
00030 #include "winbase.h"
00031 #include "wingdi.h"
00032 #include "winuser.h"
00033 #include "winreg.h"
00034 #include "winerror.h"
00035 
00036 #define COBJMACROS
00037 
00038 #include "ole2.h"
00039 #include "strmif.h"
00040 #include "olectl.h"
00041 #include "uuids.h"
00042 
00043 #ifndef RC_INVOKED
00044 #include "wine/unicode.h"
00045 #endif
00046 
00047 /**********************************************************************
00048  * Dll lifetime tracking declaration for devenum.dll
00049  */
00050 extern LONG dll_refs;
00051 static inline void DEVENUM_LockModule(void) { InterlockedIncrement(&dll_refs); }
00052 static inline void DEVENUM_UnlockModule(void) { InterlockedDecrement(&dll_refs); }
00053 
00054 
00055 /**********************************************************************
00056  * ClassFactory declaration for devenum.dll
00057  */
00058 typedef struct
00059 {
00060     const IClassFactoryVtbl *lpVtbl;
00061 } ClassFactoryImpl;
00062 
00063 typedef struct
00064 {
00065     const ICreateDevEnumVtbl *lpVtbl;
00066 } CreateDevEnumImpl;
00067 
00068 typedef struct
00069 {
00070     const IParseDisplayNameVtbl *lpVtbl;
00071 } ParseDisplayNameImpl;
00072 
00073 typedef struct
00074 {
00075     const IEnumMonikerVtbl *lpVtbl;
00076     LONG ref;
00077     DWORD index;
00078     HKEY hkey;
00079 } EnumMonikerImpl;
00080 
00081 typedef struct
00082 {
00083     const IMonikerVtbl *lpVtbl;
00084     LONG ref;
00085     HKEY hkey;
00086 } MediaCatMoniker;
00087 
00088 MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct(void);
00089 HRESULT DEVENUM_IEnumMoniker_Construct(HKEY hkey, IEnumMoniker ** ppEnumMoniker);
00090 
00091 extern ClassFactoryImpl DEVENUM_ClassFactory;
00092 extern CreateDevEnumImpl DEVENUM_CreateDevEnum;
00093 extern ParseDisplayNameImpl DEVENUM_ParseDisplayName;
00094 
00095 /**********************************************************************
00096  * Private helper function to get AM filter category key location
00097  */
00098 HRESULT DEVENUM_GetCategoryKey(REFCLSID clsidDeviceClass, HKEY *pBaseKey, WCHAR *wszRegKeyName, UINT maxLen);
00099 
00100 /**********************************************************************
00101  * Global string constant declarations
00102  */
00103 extern const WCHAR clsid_keyname[6];
00104 extern const WCHAR wszInstanceKeyName[];
00105 #define CLSID_STR_LEN (sizeof(clsid_keyname) / sizeof(WCHAR))
00106 
00107 /**********************************************************************
00108  * Resource IDs
00109  */
00110 #define IDS_DEVENUM_DSDEFAULT 7
00111 #define IDS_DEVENUM_DS        8
00112 #define IDS_DEVENUM_WODEFAULT 9
00113 #define IDS_DEVENUM_MIDEFAULT 10
00114 #define IDS_DEVENUM_KSDEFAULT 11
00115 #define IDS_DEVENUM_KS        12

Generated on Sat May 26 2012 04:20:01 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.