ReactOS 0.4.15-dev-7201-g2de6e75
ordinal.c File Reference
#include "config.h"
#include "wine/port.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "windef.h"
#include "winbase.h"
#include "winnls.h"
#include "winreg.h"
#include "wingdi.h"
#include "winuser.h"
#include "winver.h"
#include "winnetwk.h"
#include "mmsystem.h"
#include "objbase.h"
#include "exdisp.h"
#include "shdeprecated.h"
#include "shlobj.h"
#include "shlwapi.h"
#include "shellapi.h"
#include "commdlg.h"
#include "mlang.h"
#include "mshtmhst.h"
#include "wine/unicode.h"
#include "wine/debug.h"
Include dependency graph for ordinal.c:

Go to the source code of this file.

Classes

struct  _enumWndData
 
struct  FDSA_info
 
struct  tagPOLICYDATA
 
struct  SHELL_USER_SID
 
struct  SHELL_USER_PERMISSION
 
struct  objcompat_entry
 

Macros

#define COBJMACROS
 
#define FDSA_FLAG_INTERNAL_ALLOC   0x01 /* When set we have allocated mem internally */
 
#define SHELL_NO_POLICY   0xffffffff
 
#define IsIface(type)   SUCCEEDED((hRet = IUnknown_QueryInterface(lpUnknown, &IID_##type, (void**)&lpObj)))
 
#define IShellBrowser_EnableModeless   IShellBrowser_EnableModelessSB
 
#define EnableModeless(type)   type##_EnableModeless((type*)lpObj, bModeless)
 
#define GET_RGB(h)   (ConvertHue(h, wMid1, wMid2) * 255 + 120) / 240
 
#define ISOS_RETURN(x)
 
#define SHFORMATDT_UNSUPPORTED_FLAGS   (FDTF_RELATIVE | FDTF_LTRDATE | FDTF_RTLDATE | FDTF_NOAUTOREADINGORDER)
 
#define OBJCOMPAT_OTNEEDSSFCACHE   0x00000001
 
#define OBJCOMPAT_NO_WEBVIEW   0x00000002
 
#define OBJCOMPAT_UNBINDABLE   0x00000004
 
#define OBJCOMPAT_PINDLL   0x00000008
 
#define OBJCOMPAT_NEEDSFILESYSANCESTOR   0x00000010
 
#define OBJCOMPAT_NOTAFILESYSTEM   0x00000020
 
#define OBJCOMPAT_CTXMENU_NOVERBS   0x00000040
 
#define OBJCOMPAT_CTXMENU_LIMITEDQI   0x00000080
 
#define OBJCOMPAT_COCREATESHELLFOLDERONLY   0x00000100
 
#define OBJCOMPAT_NEEDSSTORAGEANCESTOR   0x00000200
 
#define OBJCOMPAT_NOLEGACYWEBVIEW   0x00000400
 
#define OBJCOMPAT_CTXMENU_XPQCMFLAGS   0x00001000
 
#define OBJCOMPAT_NOIPROPERTYSTORE   0x00002000
 

Typedefs

typedef struct _enumWndData enumWndData
 
typedef struct tagPOLICYDATA POLICYDATA
 
typedef struct tagPOLICYDATALPPOLICYDATA
 
typedef HRESULT(WINAPIDllGetVersion_func) (DLLVERSIONINFO *)
 
typedef struct SHELL_USER_SID SHELL_USER_SID
 
typedef struct SHELL_USER_SIDPSHELL_USER_SID
 
typedef struct SHELL_USER_PERMISSION SHELL_USER_PERMISSION
 
typedef struct SHELL_USER_PERMISSIONPSHELL_USER_PERMISSION
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shell)
 
HRESULT WINAPI IUnknown_QueryService (IUnknown *, REFGUID, REFIID, LPVOID *)
 
HRESULT WINAPI SHInvokeCommand (HWND, IShellFolder *, LPCITEMIDLIST, DWORD)
 
BOOL WINAPI SHAboutInfoW (LPWSTR, DWORD)
 
HANDLE WINAPI SHMapHandle (HANDLE hShared, DWORD dwSrcProcId, DWORD dwDstProcId, DWORD dwAccess, DWORD dwOptions)
 
HANDLE WINAPI SHAllocShared (LPCVOID lpvData, DWORD dwSize, DWORD dwProcId)
 
PVOID WINAPI SHLockShared (HANDLE hShared, DWORD dwProcId)
 
BOOL WINAPI SHUnlockShared (LPVOID lpView)
 
BOOL WINAPI SHFreeShared (HANDLE hShared, DWORD dwProcId)
 
HRESULT WINAPI RegisterDefaultAcceptHeaders (LPBC lpBC, IUnknown *lpUnknown)
 
HRESULT WINAPI GetAcceptLanguagesW (LPWSTR langbuf, LPDWORD buflen)
 
HRESULT WINAPI GetAcceptLanguagesA (LPSTR langbuf, LPDWORD buflen)
 
INT WINAPI SHStringFromGUIDA (REFGUID guid, LPSTR lpszDest, INT cchMax)
 
INT WINAPI SHStringFromGUIDW (REFGUID guid, LPWSTR lpszDest, INT cchMax)
 
BOOL WINAPI IsCharBlankW (WCHAR wc)
 
BOOL WINAPI IsCharPunctW (WCHAR wc)
 
BOOL WINAPI IsCharCntrlW (WCHAR wc)
 
BOOL WINAPI IsCharDigitW (WCHAR wc)
 
BOOL WINAPI IsCharXDigitW (WCHAR wc)
 
BOOL WINAPI GetStringType3ExW (LPWSTR src, INT count, LPWORD type)
 
DWORD WINAPI StrCmpNCA (LPCSTR lpszSrc, LPCSTR lpszCmp, INT len)
 
DWORD WINAPI StrCmpNCW (LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len)
 
DWORD WINAPI StrCmpNICA (LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len)
 
DWORD WINAPI StrCmpNICW (LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len)
 
DWORD WINAPI StrCmpCA (LPCSTR lpszSrc, LPCSTR lpszCmp)
 
DWORD WINAPI StrCmpCW (LPCWSTR lpszSrc, LPCWSTR lpszCmp)
 
DWORD WINAPI StrCmpICA (LPCSTR lpszSrc, LPCSTR lpszCmp)
 
DWORD WINAPI StrCmpICW (LPCWSTR lpszSrc, LPCWSTR lpszCmp)
 
BOOL WINAPI SHAboutInfoA (LPSTR lpszDest, DWORD dwDestLen)
 
HRESULT WINAPI IUnknown_QueryStatus (IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
 
HRESULT WINAPI IUnknown_Exec (IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
 
LONG WINAPI SHSetWindowBits (HWND hwnd, INT offset, UINT mask, UINT flags)
 
HWND WINAPI SHSetParentHwnd (HWND hWnd, HWND hWndParent)
 
HRESULT WINAPI ConnectToConnectionPoint (IUnknown *lpUnkSink, REFIID riid, BOOL fConnect, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP)
 
void WINAPI IUnknown_AtomicRelease (IUnknown **lpUnknown)
 
LPCSTR WINAPI PathSkipLeadingSlashesA (LPCSTR lpszSrc)
 
BOOL WINAPI SHIsSameObject (IUnknown *lpInt1, IUnknown *lpInt2)
 
HRESULT WINAPI IUnknown_GetWindow (IUnknown *lpUnknown, HWND *lphWnd)
 
HRESULT WINAPI IUnknown_SetOwner (IUnknown *iface, IUnknown *pUnk)
 
HRESULT WINAPI IUnknown_SetSite (IUnknown *obj, IUnknown *site)
 
HRESULT WINAPI IUnknown_GetClassID (IUnknown *lpUnknown, CLSID *clsid)
 
HRESULT WINAPI IUnknown_QueryServiceExec (IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut)
 
HRESULT WINAPI IUnknown_ProfferService (IUnknown *lpUnknown, REFGUID service, IServiceProvider *pService, DWORD *pCookie)
 
HRESULT WINAPI IUnknown_UIActivateIO (IUnknown *unknown, BOOL activate, LPMSG msg)
 
BOOL WINAPI SHLoadMenuPopup (HINSTANCE hInst, LPCWSTR szName)
 
static BOOL CALLBACK SHLWAPI_EnumChildProc (HWND hWnd, LPARAM lParam)
 
void WINAPI SHPropagateMessage (HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
 
DWORD WINAPI SHRemoveAllSubMenus (HMENU hMenu)
 
UINT WINAPI SHEnableMenuItem (HMENU hMenu, UINT wItemID, BOOL bEnable)
 
DWORD WINAPI SHCheckMenuItem (HMENU hMenu, UINT uID, BOOL bCheck)
 
DWORD WINAPI SHRegisterClassA (WNDCLASSA *wndclass)
 
BOOL WINAPI SHSimulateDrop (IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD *pdwEffect)
 
DWORD WINAPI SHLoadFromPropertyBag (IUnknown *lpUnknown, IPropertyBag *lpPropBag)
 
HRESULT WINAPI IUnknown_TranslateAcceleratorOCS (IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers)
 
HRESULT WINAPI IUnknown_OnFocusOCS (IUnknown *lpUnknown, BOOL fGotFocus)
 
HRESULT WINAPI IUnknown_HandleIRestrict (LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4)
 
HMENU WINAPI SHGetMenuFromID (HMENU hMenu, UINT uID)
 
DWORD WINAPI SHGetCurColorRes (void)
 
DWORD WINAPI SHWaitForSendMessageThread (HANDLE hand, DWORD dwTimeout)
 
HRESULT WINAPI SHIsExpandableFolder (LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl)
 
DWORD WINAPI SHFillRectClr (HDC hDC, LPCRECT pRect, COLORREF cRef)
 
int WINAPI SHSearchMapInt (const int *lpKeys, const int *lpValues, int iLen, int iKey)
 
VOID WINAPI IUnknown_Set (IUnknown **lppDest, IUnknown *lpUnknown)
 
HRESULT WINAPI MayQSForward (IUnknown *lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
 
HRESULT WINAPI MayExecForward (IUnknown *lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
 
HRESULT WINAPI IsQSForward (REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds)
 
BOOL WINAPI SHIsChildOrSelf (HWND hParent, HWND hChild)
 
BOOL WINAPI FDSA_Initialize (DWORD block_size, DWORD inc, FDSA_info *info, void *mem, DWORD init_blocks)
 
BOOL WINAPI FDSA_Destroy (FDSA_info *info)
 
DWORD WINAPI FDSA_InsertItem (FDSA_info *info, DWORD where, const void *block)
 
BOOL WINAPI FDSA_DeleteItem (FDSA_info *info, DWORD where)
 
HRESULT WINAPI QISearch (void *base, const QITAB *table, REFIID riid, void **ppv)
 
HRESULT WINAPI SHSetDefaultDialogFont (HWND hWnd, INT id)
 
HANDLE WINAPI SHRemoveDefaultDialogFont (HWND hWnd)
 
HMODULE WINAPI SHPinDllOfCLSID (REFIID refiid)
 
DWORD WINAPI SHRegisterClassW (WNDCLASSW *lpWndClass)
 
void WINAPI SHUnregisterClassesA (HINSTANCE hInst, LPCSTR *lppClasses, INT iCount)
 
void WINAPI SHUnregisterClassesW (HINSTANCE hInst, LPCWSTR *lppClasses, INT iCount)
 
LRESULT CALLBACK SHDefWindowProc (HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
 
HRESULT WINAPI IUnknown_GetSite (LPUNKNOWN lpUnknown, REFIID iid, PVOID *lppSite)
 
HWND WINAPI SHCreateWorkerWindowA (WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
 
DWORD WINAPI SHGetRestriction (LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue)
 
DWORD WINAPI SHRestrictionLookup (DWORD policy, LPCWSTR initial, LPPOLICYDATA polTable, LPDWORD polArr)
 
HRESULT WINAPI SHWeakQueryInterface (IUnknown *pUnk, IUnknown *pInner, IID *riid, LPVOID *ppv)
 
VOID WINAPI SHWeakReleaseInterface (IUnknown *lpDest, IUnknown **lppUnknown)
 
BOOL WINAPI GUIDFromStringA (LPCSTR idstr, CLSID *id)
 
BOOL WINAPI GUIDFromStringW (LPCWSTR idstr, CLSID *id)
 
DWORD WINAPI WhichPlatform (void)
 
HWND WINAPI SHCreateWorkerWindowW (WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
 
HRESULT WINAPI SHInvokeDefaultCommand (HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
 
HRESULT WINAPI SHPackDispParamsV (DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
 
HRESULT WINAPIV SHPackDispParams (DISPPARAMS *params, VARIANTARG *args, UINT cnt,...)
 
static HRESULT SHLWAPI_InvokeByIID (IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
 
HRESULT WINAPI IConnectionPoint_InvokeWithCancel (IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams, DWORD unknown1, DWORD unknown2)
 
HRESULT WINAPI IConnectionPoint_SimpleInvoke (IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams)
 
HRESULT WINAPI IConnectionPoint_OnChanged (IConnectionPoint *lpCP, DISPID dispID)
 
HRESULT WINAPIV IUnknown_CPContainerInvokeParam (IUnknown *container, REFIID riid, DISPID dispId, VARIANTARG *buffer, DWORD cParams,...)
 
HRESULT WINAPI IUnknown_CPContainerOnChanged (IUnknown *lpUnknown, DISPID dispID)
 
BOOL WINAPI PlaySoundWrapW (LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound)
 
DWORD WINAPI SHGetIniStringW (LPCWSTR appName, LPCWSTR keyName, LPWSTR out, DWORD outLen, LPCWSTR filename)
 
BOOL WINAPI SHSetIniStringW (LPCWSTR appName, LPCWSTR keyName, LPCWSTR str, LPCWSTR filename)
 
DWORD WINAPI SHGetFileInfoWrapW (LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
 
UINT WINAPI DragQueryFileWrapW (HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength)
 
LPITEMIDLIST WINAPI SHBrowseForFolderWrapW (LPBROWSEINFOW lpBi)
 
BOOL WINAPI SHGetPathFromIDListWrapW (LPCITEMIDLIST pidl, LPWSTR pszPath)
 
BOOL WINAPI ShellExecuteExWrapW (LPSHELLEXECUTEINFOW lpExecInfo)
 
INT WINAPI SHFileOperationWrapW (LPSHFILEOPSTRUCTW lpFileOp)
 
PVOID WINAPI SHInterlockedCompareExchange (PVOID *dest, PVOID xchg, PVOID compare)
 
DWORD WINAPI GetFileVersionInfoSizeWrapW (LPCWSTR filename, LPDWORD handle)
 
BOOL WINAPI GetFileVersionInfoWrapW (LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data)
 
WORD WINAPI VerQueryValueWrapW (LPVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, UINT *puLen)
 
HRESULT WINAPI IUnknown_EnableModeless (IUnknown *lpUnknown, BOOL bModeless)
 
BOOL WINAPI SHGetNewLinkInfoWrapW (LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
 
UINT WINAPI SHDefExtractIconWrapW (LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
 
HICON WINAPI ExtractIconWrapW (HINSTANCE hInstance, LPCWSTR lpszExeFileName, UINT nIconIndex)
 
HMODULE WINAPI MLLoadLibraryA (LPCSTR new_mod, HMODULE inst_hwnd, DWORD dwCrossCodePage)
 
HMODULE WINAPI MLLoadLibraryW (LPCWSTR new_mod, HMODULE inst_hwnd, DWORD dwCrossCodePage)
 
COLORREF WINAPI ColorAdjustLuma (COLORREF cRGB, int dwLuma, BOOL bUnknown)
 
BOOL WINAPI GetSaveFileNameWrapW (LPOPENFILENAMEW ofn)
 
DWORD WINAPI WNetRestoreConnectionWrapW (HWND hwndOwner, LPWSTR lpszDevice)
 
DWORD WINAPI WNetGetLastErrorWrapW (LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize, LPWSTR lpNameBuf, DWORD nNameBufSize)
 
BOOL WINAPI PageSetupDlgWrapW (LPPAGESETUPDLGW pagedlg)
 
BOOL WINAPI PrintDlgWrapW (LPPRINTDLGW printdlg)
 
BOOL WINAPI GetOpenFileNameWrapW (LPOPENFILENAMEW ofn)
 
HRESULT WINAPI SHIShellFolder_EnumObjects (LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum)
 
static WORD ConvertHue (int wHue, WORD wMid1, WORD wMid2)
 
COLORREF WINAPI ColorHLSToRGB (WORD wHue, WORD wLuminosity, WORD wSaturation)
 
DWORD WINAPI SHGetMachineInfo (DWORD dwFlags)
 
DWORD WINAPI SHWinHelpOnDemandW (HWND hwnd, LPCWSTR helpfile, DWORD flags1, VOID *ptr1, DWORD flags2)
 
DWORD WINAPI SHWinHelpOnDemandA (HWND hwnd, LPCSTR helpfile, DWORD flags1, VOID *ptr1, DWORD flags2)
 
BOOL WINAPI MLFreeLibrary (HMODULE hModule)
 
BOOL WINAPI SHFlushSFCacheWrap (void)
 
BOOL WINAPI MLIsMLHInstance (HINSTANCE hInst)
 
DWORD WINAPI MLSetMLHInstance (HINSTANCE hInst, HANDLE hHeap)
 
DWORD WINAPI MLClearMLHInstance (DWORD x)
 
DWORD WINAPI SHSendMessageBroadcastA (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
DWORD WINAPI SHSendMessageBroadcastW (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
HRESULT WINAPI CLSIDFromStringWrap (LPCWSTR idstr, CLSID *id)
 
BOOL WINAPI IsOS (DWORD feature)
 
HRESULT WINAPI SHLoadRegUIStringW (HKEY hkey, LPCWSTR value, LPWSTR buf, DWORD size)
 
HRESULT WINAPI IUnknown_TranslateAcceleratorIO (IUnknown *lpUnknown, LPMSG lpMsg)
 
HRESULT WINAPI IUnknown_HasFocusIO (IUnknown *lpUnknown)
 
VOID WINAPI ColorRGBToHLS (COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
 
HPALETTE WINAPI SHCreateShellPalette (HDC hdc)
 
HRESULT WINAPI SHGetInverseCMAP (LPDWORD dest, DWORD dwSize)
 
BOOL WINAPI SHIsLowMemoryMachine (DWORD dwType)
 
INT WINAPI GetMenuPosFromID (HMENU hMenu, UINT wID)
 
DWORD WINAPI SHMenuIndexFromID (HMENU hMenu, UINT uID)
 
VOID WINAPI FixSlashesAndColonW (LPWSTR lpwstr)
 
DWORD WINAPI SHGetAppCompatFlags (DWORD dwUnknown)
 
HRESULT WINAPI SHCoCreateInstanceAC (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
 
BOOL WINAPI SHSkipJunction (IBindCtx *pbc, const CLSID *pclsid)
 
HKEY WINAPI SHGetShellKey (DWORD flags, LPCWSTR sub_key, BOOL create)
 
BOOL WINAPI SHQueueUserWorkItem (LPTHREAD_START_ROUTINE pfnCallback, LPVOID pContext, LONG lPriority, DWORD_PTR dwTag, DWORD_PTR *pdwId, LPCSTR pszModule, DWORD dwFlags)
 
HANDLE WINAPI SHSetTimerQueueTimer (HANDLE hQueue, WAITORTIMERCALLBACK pfnCallback, LPVOID pContext, DWORD dwDueTime, DWORD dwPeriod, LPCSTR lpszLibrary, DWORD dwFlags)
 
HRESULT WINAPI IUnknown_OnFocusChangeIS (LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
 
HRESULT WINAPI SKAllocValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, LPVOID *data, DWORD *count)
 
HRESULT WINAPI SKDeleteValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value)
 
HRESULT WINAPI SKGetValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, void *data, DWORD *count)
 
HRESULT WINAPI SKSetValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD type, void *data, DWORD count)
 
DWORD WINAPI GetUIVersion (void)
 
INT WINAPIV ShellMessageBoxWrapW (HINSTANCE hInstance, HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType,...)
 
UINT WINAPI ZoneComputePaneSize (HWND hwnd)
 
void WINAPI SHChangeNotifyWrap (LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
 
PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor (const PSHELL_USER_PERMISSION *apUserPerm, int cUserPerm)
 
HRESULT WINAPI SHCreatePropertyBagOnRegKey (HKEY hKey, LPCWSTR subkey, DWORD grfMode, REFIID riid, void **ppv)
 
HRESULT WINAPI SHGetViewStatePropertyBag (LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
 
INT WINAPI SHFormatDateTimeW (const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
 
INT WINAPI SHFormatDateTimeA (const FILETIME UNALIGNED *fileTime, DWORD *flags, LPSTR buf, UINT size)
 
INT WINAPI ZoneCheckUrlExW (LPWSTR szURL, PVOID pUnknown, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4, DWORD dwUnknown5, DWORD dwUnknown6, DWORD dwUnknown7)
 
INT WINAPI SHVerbExistsNA (LPSTR verb, PVOID pUnknown, PVOID pUnknown2, DWORD dwUnknown3)
 
HRESULT WINAPI IUnknown_QueryServiceForWebBrowserApp (IUnknown *lpUnknown, REFGUID riid, LPVOID *lppOut)
 
HRESULT WINAPI SHPropertyBag_ReadLONG (IPropertyBag *ppb, LPCWSTR pszPropName, LPLONG pValue)
 
DWORD WINAPI SHGetObjectCompatFlags (IUnknown *pUnk, const CLSID *clsid)
 

Variables

HINSTANCE shlwapi_hInstance
 
DWORD SHLWAPI_ThreadRef_index
 
static const WCHAR strRegistryPolicyW []
 
static const struct objcompat_entry objcompat_table []
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 30 of file ordinal.c.

◆ EnableModeless

#define EnableModeless (   type)    type##_EnableModeless((type*)lpObj, bModeless)

Definition at line 3453 of file ordinal.c.

◆ FDSA_FLAG_INTERNAL_ALLOC

#define FDSA_FLAG_INTERNAL_ALLOC   0x01 /* When set we have allocated mem internally */

Definition at line 2275 of file ordinal.c.

◆ GET_RGB

#define GET_RGB (   h)    (ConvertHue(h, wMid1, wMid2) * 255 + 120) / 240

Definition at line 3807 of file ordinal.c.

◆ IShellBrowser_EnableModeless

#define IShellBrowser_EnableModeless   IShellBrowser_EnableModelessSB

Definition at line 3452 of file ordinal.c.

◆ IsIface

#define IsIface (   type)    SUCCEEDED((hRet = IUnknown_QueryInterface(lpUnknown, &IID_##type, (void**)&lpObj)))

Definition at line 3451 of file ordinal.c.

◆ ISOS_RETURN

#define ISOS_RETURN (   x)
Value:
TRACE("(0x%x) ret=%d\n",feature,(x)); \
return (x);
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
INTERNETFEATURELIST feature
Definition: misc.c:1719
#define TRACE(s)
Definition: solgame.cpp:4

◆ OBJCOMPAT_COCREATESHELLFOLDERONLY

#define OBJCOMPAT_COCREATESHELLFOLDERONLY   0x00000100

Definition at line 6144 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_LIMITEDQI

#define OBJCOMPAT_CTXMENU_LIMITEDQI   0x00000080

Definition at line 6143 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_NOVERBS

#define OBJCOMPAT_CTXMENU_NOVERBS   0x00000040

Definition at line 6142 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_XPQCMFLAGS

#define OBJCOMPAT_CTXMENU_XPQCMFLAGS   0x00001000

Definition at line 6147 of file ordinal.c.

◆ OBJCOMPAT_NEEDSFILESYSANCESTOR

#define OBJCOMPAT_NEEDSFILESYSANCESTOR   0x00000010

Definition at line 6140 of file ordinal.c.

◆ OBJCOMPAT_NEEDSSTORAGEANCESTOR

#define OBJCOMPAT_NEEDSSTORAGEANCESTOR   0x00000200

Definition at line 6145 of file ordinal.c.

◆ OBJCOMPAT_NO_WEBVIEW

#define OBJCOMPAT_NO_WEBVIEW   0x00000002

Definition at line 6137 of file ordinal.c.

◆ OBJCOMPAT_NOIPROPERTYSTORE

#define OBJCOMPAT_NOIPROPERTYSTORE   0x00002000

Definition at line 6148 of file ordinal.c.

◆ OBJCOMPAT_NOLEGACYWEBVIEW

#define OBJCOMPAT_NOLEGACYWEBVIEW   0x00000400

Definition at line 6146 of file ordinal.c.

◆ OBJCOMPAT_NOTAFILESYSTEM

#define OBJCOMPAT_NOTAFILESYSTEM   0x00000020

Definition at line 6141 of file ordinal.c.

◆ OBJCOMPAT_OTNEEDSSFCACHE

#define OBJCOMPAT_OTNEEDSSFCACHE   0x00000001

Definition at line 6136 of file ordinal.c.

◆ OBJCOMPAT_PINDLL

#define OBJCOMPAT_PINDLL   0x00000008

Definition at line 6139 of file ordinal.c.

◆ OBJCOMPAT_UNBINDABLE

#define OBJCOMPAT_UNBINDABLE   0x00000004

Definition at line 6138 of file ordinal.c.

◆ SHELL_NO_POLICY

#define SHELL_NO_POLICY   0xffffffff

Definition at line 2675 of file ordinal.c.

◆ SHFORMATDT_UNSUPPORTED_FLAGS

#define SHFORMATDT_UNSUPPORTED_FLAGS   (FDTF_RELATIVE | FDTF_LTRDATE | FDTF_RTLDATE | FDTF_NOAUTOREADINGORDER)

Typedef Documentation

◆ DllGetVersion_func

typedef HRESULT(WINAPI * DllGetVersion_func) (DLLVERSIONINFO *)

Definition at line 4809 of file ordinal.c.

◆ enumWndData

◆ LPPOLICYDATA

◆ POLICYDATA

◆ PSHELL_USER_PERMISSION

◆ PSHELL_USER_SID

◆ SHELL_USER_PERMISSION

◆ SHELL_USER_SID

Function Documentation

◆ CLSIDFromStringWrap()

HRESULT WINAPI CLSIDFromStringWrap ( LPCWSTR  idstr,
CLSID id 
)

Definition at line 3995 of file ordinal.c.

3996{
3997 return CLSIDFromString((LPCOLESTR)idstr, id);
3998}
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338

◆ ColorAdjustLuma()

COLORREF WINAPI ColorAdjustLuma ( COLORREF  cRGB,
int  dwLuma,
BOOL  bUnknown 
)

Definition at line 3691 of file ordinal.c.

3692{
3693 TRACE("(0x%8x,%d,%d)\n", cRGB, dwLuma, bUnknown);
3694
3695 if (dwLuma)
3696 {
3697 WORD wH, wL, wS;
3698
3699 ColorRGBToHLS(cRGB, &wH, &wL, &wS);
3700
3701 FIXME("Ignoring luma adjustment\n");
3702
3703 /* FIXME: The adjustment is not linear */
3704
3705 cRGB = ColorHLSToRGB(wH, wL, wS);
3706 }
3707 return cRGB;
3708}
#define FIXME(fmt,...)
Definition: debug.h:111
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
Definition: ordinal.c:3825
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
Definition: ordinal.c:4254
unsigned short WORD
Definition: ntddk_ex.h:93

◆ ColorHLSToRGB()

COLORREF WINAPI ColorHLSToRGB ( WORD  wHue,
WORD  wLuminosity,
WORD  wSaturation 
)

Definition at line 3825 of file ordinal.c.

3826{
3827 WORD wRed;
3828
3829 if (wSaturation)
3830 {
3831 WORD wGreen, wBlue, wMid1, wMid2;
3832
3833 if (wLuminosity > 120)
3834 wMid2 = wSaturation + wLuminosity - (wSaturation * wLuminosity + 120) / 240;
3835 else
3836 wMid2 = ((wSaturation + 240) * wLuminosity + 120) / 240;
3837
3838 wMid1 = wLuminosity * 2 - wMid2;
3839
3840 wRed = GET_RGB(wHue + 80);
3841 wGreen = GET_RGB(wHue);
3842 wBlue = GET_RGB(wHue - 80);
3843
3844 return RGB(wRed, wGreen, wBlue);
3845 }
3846
3847 wRed = wLuminosity * 255 / 240;
3848 return RGB(wRed, wRed, wRed);
3849}
#define GET_RGB(h)
Definition: ordinal.c:3807
#define RGB(r, g, b)
Definition: precomp.h:62

Referenced by ColorAdjustLuma().

◆ ColorRGBToHLS()

VOID WINAPI ColorRGBToHLS ( COLORREF  cRGB,
LPWORD  pwHue,
LPWORD  pwLuminance,
LPWORD  pwSaturation 
)

Definition at line 4254 of file ordinal.c.

4256{
4257 int wR, wG, wB, wMax, wMin, wHue, wLuminosity, wSaturation;
4258
4259 TRACE("(%08x,%p,%p,%p)\n", cRGB, pwHue, pwLuminance, pwSaturation);
4260
4261 wR = GetRValue(cRGB);
4262 wG = GetGValue(cRGB);
4263 wB = GetBValue(cRGB);
4264
4265 wMax = max(wR, max(wG, wB));
4266 wMin = min(wR, min(wG, wB));
4267
4268 /* Luminosity */
4269 wLuminosity = ((wMax + wMin) * 240 + 255) / 510;
4270
4271 if (wMax == wMin)
4272 {
4273 /* Achromatic case */
4274 wSaturation = 0;
4275 /* Hue is now unrepresentable, but this is what native returns... */
4276 wHue = 160;
4277 }
4278 else
4279 {
4280 /* Chromatic case */
4281 int wDelta = wMax - wMin, wRNorm, wGNorm, wBNorm;
4282
4283 /* Saturation */
4284 if (wLuminosity <= 120)
4285 wSaturation = ((wMax + wMin)/2 + wDelta * 240) / (wMax + wMin);
4286 else
4287 wSaturation = ((510 - wMax - wMin)/2 + wDelta * 240) / (510 - wMax - wMin);
4288
4289 /* Hue */
4290 wRNorm = (wDelta/2 + wMax * 40 - wR * 40) / wDelta;
4291 wGNorm = (wDelta/2 + wMax * 40 - wG * 40) / wDelta;
4292 wBNorm = (wDelta/2 + wMax * 40 - wB * 40) / wDelta;
4293
4294 if (wR == wMax)
4295 wHue = wBNorm - wGNorm;
4296 else if (wG == wMax)
4297 wHue = 80 + wRNorm - wBNorm;
4298 else
4299 wHue = 160 + wGNorm - wRNorm;
4300 if (wHue < 0)
4301 wHue += 240;
4302 else if (wHue > 240)
4303 wHue -= 240;
4304 }
4305 if (pwHue)
4306 *pwHue = wHue;
4307 if (pwLuminance)
4308 *pwLuminance = wLuminosity;
4309 if (pwSaturation)
4310 *pwSaturation = wSaturation;
4311}
#define GetBValue(quad)
Definition: precomp.h:66
#define GetGValue(quad)
Definition: precomp.h:65
#define GetRValue(quad)
Definition: precomp.h:64
#define min(a, b)
Definition: monoChain.cc:55
#define max(a, b)
Definition: svc.c:63

Referenced by ColorAdjustLuma().

◆ ConnectToConnectionPoint()

HRESULT WINAPI ConnectToConnectionPoint ( IUnknown lpUnkSink,
REFIID  riid,
BOOL  fConnect,
IUnknown lpUnknown,
LPDWORD  lpCookie,
IConnectionPoint **  lppCP 
)

Definition at line 1189 of file ordinal.c.

1192{
1193 HRESULT hRet;
1194 IConnectionPointContainer* lpContainer;
1195 IConnectionPoint *lpCP;
1196
1197 if(!lpUnknown || (fConnect && !lpUnkSink))
1198 return E_FAIL;
1199
1200 if(lppCP)
1201 *lppCP = NULL;
1202
1203 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer,
1204 (void**)&lpContainer);
1205 if (SUCCEEDED(hRet))
1206 {
1207 hRet = IConnectionPointContainer_FindConnectionPoint(lpContainer, riid, &lpCP);
1208
1209 if (SUCCEEDED(hRet))
1210 {
1211 if(!fConnect)
1212 hRet = IConnectionPoint_Unadvise(lpCP, *lpCookie);
1213 else
1214 hRet = IConnectionPoint_Advise(lpCP, lpUnkSink, lpCookie);
1215
1216 if (FAILED(hRet))
1217 *lpCookie = 0;
1218
1219 if (lppCP && SUCCEEDED(hRet))
1220 *lppCP = lpCP; /* Caller keeps the interface */
1221 else
1222 IConnectionPoint_Release(lpCP); /* Release it */
1223 }
1224
1225 IConnectionPointContainer_Release(lpContainer);
1226 }
1227 return hRet;
1228}
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
REFIID riid
Definition: atlbase.h:39
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
const GUID IID_IConnectionPointContainer

Referenced by init_pointers().

◆ ConvertHue()

static WORD ConvertHue ( int  wHue,
WORD  wMid1,
WORD  wMid2 
)
static

Definition at line 3792 of file ordinal.c.

3793{
3794 wHue = wHue > 240 ? wHue - 240 : wHue < 0 ? wHue + 240 : wHue;
3795
3796 if (wHue > 160)
3797 return wMid1;
3798 else if (wHue > 120)
3799 wHue = 160 - wHue;
3800 else if (wHue > 40)
3801 return wMid2;
3802
3803 return ((wHue * (wMid2 - wMid1) + 20) / 40) + wMid1;
3804}

◆ DragQueryFileWrapW()

UINT WINAPI DragQueryFileWrapW ( HDROP  hDrop,
UINT  lFile,
LPWSTR  lpszFile,
UINT  lLength 
)

Definition at line 3365 of file ordinal.c.

3366{
3367 return DragQueryFileW(hDrop, lFile, lpszFile, lLength);
3368}
UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszwFile, UINT lLength)
Definition: shellole.c:622

◆ ExtractIconWrapW()

HICON WINAPI ExtractIconWrapW ( HINSTANCE  hInstance,
LPCWSTR  lpszExeFileName,
UINT  nIconIndex 
)

Definition at line 3597 of file ordinal.c.

3599{
3600 return ExtractIconW(hInstance, lpszExeFileName, nIconIndex);
3601}
HINSTANCE hInstance
Definition: charmap.c:19
HICON WINAPI ExtractIconW(HINSTANCE hInstance, LPCWSTR lpszFile, UINT nIconIndex)
Definition: shell32_main.c:876

◆ FDSA_DeleteItem()

BOOL WINAPI FDSA_DeleteItem ( FDSA_info info,
DWORD  where 
)

Definition at line 2364 of file ordinal.c.

2365{
2366 TRACE("(%p 0x%08x)\n", info, where);
2367
2368 if(where >= info->num_items)
2369 return FALSE;
2370
2371 if(where < info->num_items - 1)
2372 {
2373 memmove((char*)info->mem + where * info->block_size,
2374 (char*)info->mem + (where + 1) * info->block_size,
2375 (info->num_items - where - 1) * info->block_size);
2376 }
2377 memset((char*)info->mem + (info->num_items - 1) * info->block_size,
2378 0, info->block_size);
2379 info->num_items--;
2380 return TRUE;
2381}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
#define memset(x, y, z)
Definition: compat.h:39

◆ FDSA_Destroy()

BOOL WINAPI FDSA_Destroy ( FDSA_info info)

Definition at line 2308 of file ordinal.c.

2309{
2310 TRACE("(%p)\n", info);
2311
2312 if(info->flags & FDSA_FLAG_INTERNAL_ALLOC)
2313 {
2314 HeapFree(GetProcessHeap(), 0, info->mem);
2315 return FALSE;
2316 }
2317
2318 return TRUE;
2319}
#define GetProcessHeap()
Definition: compat.h:736
#define HeapFree(x, y, z)
Definition: compat.h:735
#define FDSA_FLAG_INTERNAL_ALLOC
Definition: ordinal.c:2275

◆ FDSA_Initialize()

BOOL WINAPI FDSA_Initialize ( DWORD  block_size,
DWORD  inc,
FDSA_info info,
void mem,
DWORD  init_blocks 
)

Definition at line 2282 of file ordinal.c.

2284{
2285 TRACE("(0x%08x 0x%08x %p %p 0x%08x)\n", block_size, inc, info, mem, init_blocks);
2286
2287 if(inc == 0)
2288 inc = 1;
2289
2290 if(mem)
2291 memset(mem, 0, block_size * init_blocks);
2292
2293 info->num_items = 0;
2294 info->inc = inc;
2295 info->mem = mem;
2296 info->blocks_alloced = init_blocks;
2297 info->block_size = block_size;
2298 info->flags = 0;
2299
2300 return TRUE;
2301}
static DWORD block_size(DWORD block)
Definition: jsutils.c:66
Definition: mem.c:156

◆ FDSA_InsertItem()

DWORD WINAPI FDSA_InsertItem ( FDSA_info info,
DWORD  where,
const void block 
)

Definition at line 2326 of file ordinal.c.

2327{
2328 TRACE("(%p 0x%08x %p)\n", info, where, block);
2329 if(where > info->num_items)
2330 where = info->num_items;
2331
2332 if(info->num_items >= info->blocks_alloced)
2333 {
2334 DWORD size = (info->blocks_alloced + info->inc) * info->block_size;
2335 if(info->flags & 0x1)
2337 else
2338 {
2339 void *old_mem = info->mem;
2341 memcpy(info->mem, old_mem, info->blocks_alloced * info->block_size);
2342 }
2343 info->blocks_alloced += info->inc;
2344 info->flags |= 0x1;
2345 }
2346
2347 if(where < info->num_items)
2348 {
2349 memmove((char*)info->mem + (where + 1) * info->block_size,
2350 (char*)info->mem + where * info->block_size,
2351 (info->num_items - where) * info->block_size);
2352 }
2353 memcpy((char*)info->mem + where * info->block_size, block, info->block_size);
2354
2355 info->num_items++;
2356 return where;
2357}
#define HeapAlloc
Definition: compat.h:733
#define HeapReAlloc
Definition: compat.h:734
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
unsigned long DWORD
Definition: ntddk_ex.h:95
GLsizeiptr size
Definition: glext.h:5919
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static unsigned int block
Definition: xmlmemory.c:101

◆ FixSlashesAndColonW()

VOID WINAPI FixSlashesAndColonW ( LPWSTR  lpwstr)

Definition at line 4435 of file ordinal.c.

4436{
4437 while (*lpwstr)
4438 {
4439 if (*lpwstr == '/')
4440 *lpwstr = '\\';
4441 lpwstr++;
4442 }
4443}

Referenced by PathQualifyExW().

◆ GetAcceptLanguagesA()

HRESULT WINAPI GetAcceptLanguagesA ( LPSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 573 of file ordinal.c.

574{
575 WCHAR *langbufW;
576 DWORD buflenW, convlen;
577 HRESULT retval;
578
579 TRACE("(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
580
581 if(!langbuf || !buflen || !*buflen) return E_FAIL;
582
583 buflenW = *buflen;
584 langbufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * buflenW);
585 retval = GetAcceptLanguagesW(langbufW, &buflenW);
586
587 if (retval == S_OK)
588 {
589 convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf, *buflen, NULL, NULL);
590 convlen--; /* do not count the terminating 0 */
591 }
592 else /* copy partial string anyway */
593 {
594 convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, *buflen, langbuf, *buflen, NULL, NULL);
595 if (convlen < *buflen)
596 {
597 langbuf[convlen] = 0;
598 convlen--; /* do not count the terminating 0 */
599 }
600 else
601 {
602 convlen = *buflen;
603 }
604 }
605 *buflen = buflenW ? convlen : 0;
606
607 HeapFree(GetProcessHeap(), 0, langbufW);
608 return retval;
609}
#define CP_ACP
Definition: compat.h:109
#define WideCharToMultiByte
Definition: compat.h:111
HRESULT WINAPI GetAcceptLanguagesW(LPWSTR langbuf, LPDWORD buflen)
Definition: ordinal.c:514
#define S_OK
Definition: intsafe.h:52
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by init_pointers().

◆ GetAcceptLanguagesW()

HRESULT WINAPI GetAcceptLanguagesW ( LPWSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 514 of file ordinal.c.

515{
516 static const WCHAR szkeyW[] = {
517 'S','o','f','t','w','a','r','e','\\',
518 'M','i','c','r','o','s','o','f','t','\\',
519 'I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r','\\',
520 'I','n','t','e','r','n','a','t','i','o','n','a','l',0};
521 static const WCHAR valueW[] = {
522 'A','c','c','e','p','t','L','a','n','g','u','a','g','e',0};
523 DWORD mystrlen, mytype;
524 DWORD len;
525 HKEY mykey;
526 LCID mylcid;
527 WCHAR *mystr;
528 LONG lres;
529
530 TRACE("(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
531
532 if(!langbuf || !buflen || !*buflen)
533 return E_FAIL;
534
535 mystrlen = (*buflen > 20) ? *buflen : 20 ;
536 len = mystrlen * sizeof(WCHAR);
537 mystr = HeapAlloc(GetProcessHeap(), 0, len);
538 mystr[0] = 0;
539 RegOpenKeyW(HKEY_CURRENT_USER, szkeyW, &mykey);
540 lres = RegQueryValueExW(mykey, valueW, 0, &mytype, (PBYTE)mystr, &len);
541 RegCloseKey(mykey);
542 len = lstrlenW(mystr);
543
544 if (!lres && (*buflen > len)) {
545 lstrcpyW(langbuf, mystr);
546 *buflen = len;
547 HeapFree(GetProcessHeap(), 0, mystr);
548 return S_OK;
549 }
550
551 /* Did not find a value in the registry or the user buffer is too small */
552 mylcid = GetUserDefaultLCID();
553 LcidToRfc1766W(mylcid, mystr, mystrlen);
554 len = lstrlenW(mystr);
555
556 memcpy( langbuf, mystr, min(*buflen, len+1)*sizeof(WCHAR) );
557 HeapFree(GetProcessHeap(), 0, mystr);
558
559 if (*buflen > len) {
560 *buflen = len;
561 return S_OK;
562 }
563
564 *buflen = 0;
566}
#define RegCloseKey(hKey)
Definition: registry.h:49
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3288
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4123
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
static const WCHAR valueW[]
Definition: object.c:48
HRESULT WINAPI LcidToRfc1766W(LCID lcid, LPWSTR pszRfc1766, INT nChar)
Definition: mlang.c:1265
GLenum GLsizei len
Definition: glext.h:6722
LCID WINAPI GetUserDefaultLCID(void)
Definition: lang.c:778
BYTE * PBYTE
Definition: pedump.c:66
long LONG
Definition: pedump.c:60
DWORD LCID
Definition: nls.h:13
#define E_NOT_SUFFICIENT_BUFFER
Definition: winerror.h:2345
#define HKEY_CURRENT_USER
Definition: winreg.h:11

Referenced by GetAcceptLanguagesA().

◆ GetFileVersionInfoSizeWrapW()

DWORD WINAPI GetFileVersionInfoSizeWrapW ( LPCWSTR  filename,
LPDWORD  handle 
)

Definition at line 3424 of file ordinal.c.

3425{
3427}
DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR filename, LPDWORD handle)
Definition: version.c:611
const char * filename
Definition: ioapi.h:137

◆ GetFileVersionInfoWrapW()

BOOL WINAPI GetFileVersionInfoWrapW ( LPCWSTR  filename,
DWORD  handle,
DWORD  datasize,
LPVOID  data 
)

Definition at line 3434 of file ordinal.c.

3436{
3438}
static SIZE_T datasize
Definition: asm.c:30
BOOL WINAPI GetFileVersionInfoW(LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data)
Definition: version.c:845
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950

◆ GetMenuPosFromID()

INT WINAPI GetMenuPosFromID ( HMENU  hMenu,
UINT  wID 
)

Definition at line 4398 of file ordinal.c.

4399{
4401 INT nCount = GetMenuItemCount(hMenu), nIter = 0;
4402
4403 TRACE("%p %u\n", hMenu, wID);
4404
4405 while (nIter < nCount)
4406 {
4407 mi.cbSize = sizeof(mi);
4408 mi.fMask = MIIM_ID;
4409 if (GetMenuItemInfoW(hMenu, nIter, TRUE, &mi) && mi.wID == wID)
4410 {
4411 TRACE("ret %d\n", nIter);
4412 return nIter;
4413 }
4414 nIter++;
4415 }
4416
4417 return -1;
4418}
DWORD cbSize
Definition: winuser.h:3783
int32_t INT
Definition: typedefs.h:58
static MONITORINFO mi
Definition: win.c:7338
#define MIIM_ID
Definition: winuser.h:722
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)

Referenced by SHMenuIndexFromID().

◆ GetOpenFileNameWrapW()

BOOL WINAPI GetOpenFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3766 of file ordinal.c.

3767{
3768 return GetOpenFileNameW(ofn);
3769}
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
Definition: filedlg.c:4736
OPENFILENAME ofn
Definition: sndrec32.cpp:56

◆ GetSaveFileNameWrapW()

BOOL WINAPI GetSaveFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3715 of file ordinal.c.

3716{
3717 return GetSaveFileNameW(ofn);
3718}
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
Definition: filedlg.c:4801

◆ GetShellSecurityDescriptor()

PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor ( const PSHELL_USER_PERMISSION apUserPerm,
int  cUserPerm 
)

Definition at line 4964 of file ordinal.c.

4965{
4966 PSID *sidlist;
4967 PSID cur_user = NULL;
4968 BYTE tuUser[2000];
4969 DWORD acl_size;
4970 int sid_count, i;
4972
4973 TRACE("%p %d\n", apUserPerm, cUserPerm);
4974
4975 if (apUserPerm == NULL || cUserPerm <= 0)
4976 return NULL;
4977
4978 sidlist = HeapAlloc(GetProcessHeap(), 0, cUserPerm * sizeof(PSID));
4979 if (!sidlist)
4980 return NULL;
4981
4982 acl_size = sizeof(ACL);
4983
4984 for(sid_count = 0; sid_count < cUserPerm; sid_count++)
4985 {
4986 static SHELL_USER_SID null_sid = {{SECURITY_NULL_SID_AUTHORITY}, 0, 0};
4987 PSHELL_USER_PERMISSION perm = apUserPerm[sid_count];
4988 PSHELL_USER_SID sid = &perm->susID;
4989 PSID pSid;
4990 BOOL ret = TRUE;
4991
4992 if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID)))
4993 { /* current user's SID */
4994 if (!cur_user)
4995 {
4996 HANDLE Token;
4997 DWORD bufsize = sizeof(tuUser);
4998
5000 if (ret)
5001 {
5002 ret = GetTokenInformation(Token, TokenUser, (void*)tuUser, bufsize, &bufsize );
5003 if (ret)
5004 cur_user = ((PTOKEN_USER)tuUser)->User.Sid;
5006 }
5007 }
5008 pSid = cur_user;
5009 } else if (sid->dwUserID==0) /* one sub-authority */
5010 ret = AllocateAndInitializeSid(&sid->sidAuthority, 1, sid->dwUserGroupID, 0,
5011 0, 0, 0, 0, 0, 0, &pSid);
5012 else
5013 ret = AllocateAndInitializeSid(&sid->sidAuthority, 2, sid->dwUserGroupID, sid->dwUserID,
5014 0, 0, 0, 0, 0, 0, &pSid);
5015 if (!ret)
5016 goto free_sids;
5017
5018 sidlist[sid_count] = pSid;
5019 /* increment acl_size (1 ACE for non-inheritable and 2 ACEs for inheritable records */
5020 acl_size += (sizeof(ACCESS_ALLOWED_ACE)-sizeof(DWORD) + GetLengthSid(pSid)) * (perm->fInherit ? 2 : 1);
5021 }
5022
5023 psd = LocalAlloc(0, sizeof(SECURITY_DESCRIPTOR) + acl_size);
5024
5025 if (psd != NULL)
5026 {
5027 PACL pAcl = (PACL)(((BYTE*)psd)+sizeof(SECURITY_DESCRIPTOR));
5028
5030 goto error;
5031
5032 if (!InitializeAcl(pAcl, acl_size, ACL_REVISION))
5033 goto error;
5034
5035 for(i = 0; i < sid_count; i++)
5036 {
5037 PSHELL_USER_PERMISSION sup = apUserPerm[i];
5038 PSID sid = sidlist[i];
5039
5040 switch(sup->dwAccessType)
5041 {
5044 goto error;
5045 if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION,
5047 goto error;
5048 break;
5051 goto error;
5052 if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION,
5054 goto error;
5055 break;
5056 default:
5057 goto error;
5058 }
5059 }
5060
5061 if (!SetSecurityDescriptorDacl(psd, TRUE, pAcl, FALSE))
5062 goto error;
5063 }
5064 goto free_sids;
5065
5066error:
5067 LocalFree(psd);
5068 psd = NULL;
5069free_sids:
5070 for(i = 0; i < sid_count; i++)
5071 {
5072 if (!cur_user || sidlist[i] != cur_user)
5073 FreeSid(sidlist[i]);
5074 }
5075 HeapFree(GetProcessHeap(), 0, sidlist);
5076
5077 return psd;
5078}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
static void free_sids(PSID *sids, int count)
Definition: acl.c:155
FT_UInt sid
Definition: cffcmap.c:139
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
Definition: security.c:411
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:294
BOOL WINAPI AddAccessDeniedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:1114
BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID *pSid)
Definition: security.c:674
BOOL WINAPI InitializeAcl(PACL pAcl, DWORD nAclLength, DWORD dwAclRevision)
Definition: security.c:1006
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision)
Definition: security.c:929
BOOL WINAPI AddAccessAllowedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:1039
BOOL WINAPI AddAccessAllowedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:1063
DWORD WINAPI GetLengthSid(PSID pSid)
Definition: security.c:919
PVOID WINAPI FreeSid(PSID pSid)
Definition: security.c:698
BOOL WINAPI AddAccessDeniedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:1090
#define CloseHandle
Definition: compat.h:739
#define GetCurrentProcess()
Definition: compat.h:759
unsigned int BOOL
Definition: ntddk_ex.h:94
GLenum GLuint GLsizei bufsize
Definition: glext.h:7473
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1390
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
#define error(str)
Definition: mkdosfs.c:1605
static PSID pSid
Definition: security.c:74
struct _ACL ACL
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
struct _ACL * PACL
Definition: security.c:105
struct _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE
BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted)
Definition: sec.c:262
SHELL_USER_SID susID
Definition: ordinal.c:4939
int ret
struct _TOKEN_USER * PTOKEN_USER
#define ACCESS_ALLOWED_ACE_TYPE
Definition: setypes.h:717
#define TOKEN_QUERY
Definition: setypes.h:928
@ TokenUser
Definition: setypes.h:966
#define ACCESS_DENIED_ACE_TYPE
Definition: setypes.h:718
#define SECURITY_DESCRIPTOR_REVISION
Definition: setypes.h:58
#define SECURITY_NULL_SID_AUTHORITY
Definition: setypes.h:524
#define ACL_REVISION
Definition: setypes.h:39
unsigned char BYTE
Definition: xxhash.c:193

Referenced by init_pointers().

◆ GetStringType3ExW()

BOOL WINAPI GetStringType3ExW ( LPWSTR  src,
INT  count,
LPWORD  type 
)

Definition at line 779 of file ordinal.c.

780{
782}
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLenum src
Definition: glext.h:6340
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: lang.c:1709
#define CT_CTYPE3
Definition: winnls.h:239

◆ GetUIVersion()

DWORD WINAPI GetUIVersion ( void  )

Definition at line 4814 of file ordinal.c.

4815{
4816 static DWORD version;
4817
4818 if (!version)
4819 {
4820 DllGetVersion_func pDllGetVersion;
4821 HMODULE dll = LoadLibraryA("shell32.dll");
4822 if (!dll) return 0;
4823
4824 pDllGetVersion = (DllGetVersion_func)GetProcAddress(dll, "DllGetVersion");
4825 if (pDllGetVersion)
4826 {
4827 DLLVERSIONINFO dvi;
4828 dvi.cbSize = sizeof(DLLVERSIONINFO);
4829 if (pDllGetVersion(&dvi) == S_OK) version = dvi.dwMajorVersion;
4830 }
4831 FreeLibrary( dll );
4832 if (!version) version = 3; /* old shell dlls don't have DllGetVersion */
4833 }
4834 return version;
4835}
#define GetProcAddress(x, y)
Definition: compat.h:753
#define FreeLibrary(x)
Definition: compat.h:748
static const WCHAR version[]
Definition: asmname.c:66
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
HRESULT(WINAPI * DllGetVersion_func)(DLLVERSIONINFO *)
Definition: ordinal.c:4809
static HMODULE dll
Definition: str.c:188
struct _DllVersionInfo DLLVERSIONINFO
DWORD dwMajorVersion
Definition: shlwapi.h:1955

◆ GUIDFromStringA()

BOOL WINAPI GUIDFromStringA ( LPCSTR  idstr,
CLSID id 
)

Definition at line 2833 of file ordinal.c.

2834{
2835 WCHAR wClsid[40];
2836 MultiByteToWideChar(CP_ACP, 0, idstr, -1, wClsid, sizeof(wClsid)/sizeof(WCHAR));
2837 return SUCCEEDED(CLSIDFromString(wClsid, id));
2838}
#define MultiByteToWideChar
Definition: compat.h:110

Referenced by init_pointers().

◆ GUIDFromStringW()

BOOL WINAPI GUIDFromStringW ( LPCWSTR  idstr,
CLSID id 
)

Definition at line 2845 of file ordinal.c.

2846{
2847 return SUCCEEDED(CLSIDFromString((LPCOLESTR)idstr, id));
2848}

◆ IConnectionPoint_InvokeWithCancel()

HRESULT WINAPI IConnectionPoint_InvokeWithCancel ( IConnectionPoint iCP,
DISPID  dispId,
DISPPARAMS *  dispParams,
DWORD  unknown1,
DWORD  unknown2 
)

Definition at line 3097 of file ordinal.c.

3100{
3101 IID iid;
3103
3104 FIXME("(%p)->(0x%x %p %x %x) partial stub\n", iCP, dispId, dispParams, unknown1, unknown2);
3105
3106 result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3107 if (SUCCEEDED(result))
3108 result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3109 else
3110 result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3111
3112 return result;
3113}
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3058
GLuint64EXT * result
Definition: glext.h:11304

Referenced by init_pointers().

◆ IConnectionPoint_OnChanged()

HRESULT WINAPI IConnectionPoint_OnChanged ( IConnectionPoint lpCP,
DISPID  dispID 
)

Definition at line 3154 of file ordinal.c.

3155{
3156 IEnumConnections *lpEnum;
3157 HRESULT hRet = E_NOINTERFACE;
3158
3159 TRACE("(%p,0x%8X)\n", lpCP, dispID);
3160
3161 /* Get an enumerator for the connections */
3162 if (lpCP)
3163 hRet = IConnectionPoint_EnumConnections(lpCP, &lpEnum);
3164
3165 if (SUCCEEDED(hRet))
3166 {
3167 IPropertyNotifySink *lpSink;
3168 CONNECTDATA connData;
3169 ULONG ulFetched;
3170
3171 /* Call OnChanged() for every notify sink in the connection point */
3172 while (IEnumConnections_Next(lpEnum, 1, &connData, &ulFetched) == S_OK)
3173 {
3174 if (SUCCEEDED(IUnknown_QueryInterface(connData.pUnk, &IID_IPropertyNotifySink, (void**)&lpSink)) &&
3175 lpSink)
3176 {
3177 IPropertyNotifySink_OnChanged(lpSink, dispID);
3178 IPropertyNotifySink_Release(lpSink);
3179 }
3180 IUnknown_Release(connData.pUnk);
3181 }
3182
3183 IEnumConnections_Release(lpEnum);
3184 }
3185 return hRet;
3186}
const GUID IID_IPropertyNotifySink
uint32_t ULONG
Definition: typedefs.h:59
#define E_NOINTERFACE
Definition: winerror.h:2364

Referenced by IUnknown_CPContainerOnChanged().

◆ IConnectionPoint_SimpleInvoke()

HRESULT WINAPI IConnectionPoint_SimpleInvoke ( IConnectionPoint iCP,
DISPID  dispId,
DISPPARAMS *  dispParams 
)

Definition at line 3121 of file ordinal.c.

3125{
3126 IID iid;
3128
3129 TRACE("(%p)->(0x%x %p)\n",iCP,dispId,dispParams);
3130
3131 result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3132 if (SUCCEEDED(result))
3133 result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3134 else
3135 result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3136
3137 return result;
3138}

Referenced by init_pointers().

◆ IsCharBlankW()

BOOL WINAPI IsCharBlankW ( WCHAR  wc)

Definition at line 692 of file ordinal.c.

693{
694 WORD CharType;
695
696 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_BLANK);
697}
#define C1_BLANK
Definition: unicode.h:37
#define CT_CTYPE1
Definition: winnls.h:237

◆ IsCharCntrlW()

BOOL WINAPI IsCharCntrlW ( WCHAR  wc)

Definition at line 730 of file ordinal.c.

731{
732 WORD CharType;
733
734 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_CNTRL);
735}
#define C1_CNTRL
Definition: unicode.h:36

◆ IsCharDigitW()

BOOL WINAPI IsCharDigitW ( WCHAR  wc)

Definition at line 749 of file ordinal.c.

750{
751 WORD CharType;
752
753 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_DIGIT);
754}
#define C1_DIGIT
Definition: unicode.h:33

◆ IsCharPunctW()

BOOL WINAPI IsCharPunctW ( WCHAR  wc)

Definition at line 711 of file ordinal.c.

712{
713 WORD CharType;
714
715 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_PUNCT);
716}
#define C1_PUNCT
Definition: unicode.h:35

◆ IsCharXDigitW()

BOOL WINAPI IsCharXDigitW ( WCHAR  wc)

Definition at line 768 of file ordinal.c.

769{
770 WORD CharType;
771
772 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_XDIGIT);
773}
#define C1_XDIGIT
Definition: unicode.h:38

◆ IsOS()

BOOL WINAPI IsOS ( DWORD  feature)

Definition at line 4012 of file ordinal.c.

4013{
4015 DWORD platform, majorv, minorv;
4016
4018 if(!GetVersionExA(&osvi)) {
4019 ERR("GetVersionEx failed\n");
4020 return FALSE;
4021 }
4022
4023 majorv = osvi.dwMajorVersion;
4024 minorv = osvi.dwMinorVersion;
4026
4027#define ISOS_RETURN(x) \
4028 TRACE("(0x%x) ret=%d\n",feature,(x)); \
4029 return (x);
4030
4031 switch(feature) {
4032 case OS_WIN32SORGREATER:
4035 case OS_NT:
4037 case OS_WIN95ORGREATER:
4039 case OS_NT4ORGREATER:
4040 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 4)
4043 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4044 case OS_WIN98ORGREATER:
4046 case OS_WIN98_GOLD:
4048 case OS_WIN2000PRO:
4049 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4050 case OS_WIN2000SERVER:
4051 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4053 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4055 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4056 case OS_WIN2000TERMINAL:
4057 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4058 case OS_EMBEDDED:
4059 FIXME("(OS_EMBEDDED) What should we return here?\n");
4060 return FALSE;
4061 case OS_TERMINALCLIENT:
4062 FIXME("(OS_TERMINALCLIENT) What should we return here?\n");
4063 return FALSE;
4065 FIXME("(OS_TERMINALREMOTEADMIN) What should we return here?\n");
4066 return FALSE;
4067 case OS_WIN95_GOLD:
4069 case OS_MEORGREATER:
4071 case OS_XPORGREATER:
4072 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4073 case OS_HOME:
4074 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4075 case OS_PROFESSIONAL:
4077 case OS_DATACENTER:
4079 case OS_ADVSERVER:
4080 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4081 case OS_SERVER:
4083 case OS_TERMINALSERVER:
4086 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && minorv >= 1 && majorv >= 5)
4088 FIXME("(OS_FASTUSERSWITCHING) What should we return here?\n");
4089 return TRUE;
4090 case OS_WELCOMELOGONUI:
4091 FIXME("(OS_WELCOMELOGONUI) What should we return here?\n");
4092 return FALSE;
4093 case OS_DOMAINMEMBER:
4094 FIXME("(OS_DOMAINMEMBER) What should we return here?\n");
4095 return TRUE;
4096 case OS_ANYSERVER:
4098 case OS_WOW6432:
4099 {
4100 BOOL is_wow64;
4102 return is_wow64;
4103 }
4104 case OS_WEBSERVER:
4108 case OS_TABLETPC:
4109 FIXME("(OS_TABLETPC) What should we return here?\n");
4110 return FALSE;
4111 case OS_SERVERADMINUI:
4112 FIXME("(OS_SERVERADMINUI) What should we return here?\n");
4113 return FALSE;
4114 case OS_MEDIACENTER:
4115 FIXME("(OS_MEDIACENTER) What should we return here?\n");
4116 return FALSE;
4117 case OS_APPLIANCE:
4118 FIXME("(OS_APPLIANCE) What should we return here?\n");
4119 return FALSE;
4120 case 0x25: /*OS_VISTAORGREATER*/
4121 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 6)
4122 }
4123
4124#undef ISOS_RETURN
4125
4126 WARN("(0x%x) unknown parameter\n",feature);
4127
4128 return FALSE;
4129}
#define WARN(fmt,...)
Definition: debug.h:112
#define ERR(fmt,...)
Definition: debug.h:110
return
Definition: dirsup.c:529
#define IsWow64Process
Definition: compat.h:760
BOOL WINAPI GetVersionExA(IN LPOSVERSIONINFOA lpVersionInformation)
Definition: version.c:69
BOOL is_wow64
Definition: msi.c:54
#define ISOS_RETURN(x)
GLdouble n
Definition: glext.h:7729
platform
Definition: msipriv.h:364
#define VER_PLATFORM_WIN32_NT
Definition: rtltypes.h:238
#define VER_PLATFORM_WIN32_WINDOWS
Definition: rtltypes.h:237
#define VER_PLATFORM_WIN32s
Definition: rtltypes.h:236
#define OS_WIN2000TERMINAL
Definition: shlwapi.h:2028
#define OS_WIN98_GOLD
Definition: shlwapi.h:2022
#define OS_APPLIANCE
Definition: shlwapi.h:2052
#define OS_WIN95ORGREATER
Definition: shlwapi.h:2018
#define OS_MEDIACENTER
Definition: shlwapi.h:2051
#define OS_WIN95_GOLD
Definition: shlwapi.h:2032
#define OS_WIN2000ORGREATER_ALT
Definition: shlwapi.h:2020
#define OS_SMALLBUSINESSSERVER
Definition: shlwapi.h:2048
#define OS_WIN98ORGREATER
Definition: shlwapi.h:2021
#define OS_NT
Definition: shlwapi.h:2017
#define OS_MEORGREATER
Definition: shlwapi.h:2033
#define OS_WIN2000ADVSERVER
Definition: shlwapi.h:2026
#define OS_XPORGREATER
Definition: shlwapi.h:2034
#define OS_WIN2000ORGREATER
Definition: shlwapi.h:2023
#define OS_WIN2000PRO
Definition: shlwapi.h:2024
#define OS_WIN2000SERVER
Definition: shlwapi.h:2025
#define OS_TERMINALSERVER
Definition: shlwapi.h:2040
#define OS_SERVERADMINUI
Definition: shlwapi.h:2050
#define OS_PROFESSIONAL
Definition: shlwapi.h:2036
#define OS_WOW6432
Definition: shlwapi.h:2046
#define OS_TERMINALCLIENT
Definition: shlwapi.h:2030
#define OS_DOMAINMEMBER
Definition: shlwapi.h:2044
#define OS_WIN32SORGREATER
Definition: shlwapi.h:2016
#define OS_WIN2000DATACENTER
Definition: shlwapi.h:2027
#define OS_NT4ORGREATER
Definition: shlwapi.h:2019
#define OS_TABLETPC
Definition: shlwapi.h:2049
#define OS_ADVSERVER
Definition: shlwapi.h:2038
#define OS_EMBEDDED
Definition: shlwapi.h:2029
#define OS_SERVER
Definition: shlwapi.h:2039
#define OS_TERMINALREMOTEADMIN
Definition: shlwapi.h:2031
#define OS_FASTUSERSWITCHING
Definition: shlwapi.h:2042
#define OS_PERSONALTERMINALSERVER
Definition: shlwapi.h:2041
#define OS_WELCOMELOGONUI
Definition: shlwapi.h:2043
#define OS_HOME
Definition: shlwapi.h:2035
#define OS_ANYSERVER
Definition: shlwapi.h:2045
#define OS_DATACENTER
Definition: shlwapi.h:2037
#define OS_WEBSERVER
Definition: shlwapi.h:2047
ULONG dwPlatformId
Definition: rtltypes.h:241
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:237
ULONG dwMajorVersion
Definition: rtltypes.h:238
ULONG dwMinorVersion
Definition: rtltypes.h:239
OSVERSIONINFO osvi
Definition: ver.c:28
struct _OSVERSIONINFOA OSVERSIONINFOA

◆ IsQSForward()

HRESULT WINAPI IsQSForward ( REFGUID  pguidCmdGroup,
ULONG  cCmds,
OLECMD *  prgCmds 
)

Definition at line 2231 of file ordinal.c.

2232{
2233 FIXME("(%p,%d,%p) - stub!\n", pguidCmdGroup, cCmds, prgCmds);
2235}
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652

◆ IUnknown_AtomicRelease()

void WINAPI IUnknown_AtomicRelease ( IUnknown **  lpUnknown)

Definition at line 1241 of file ordinal.c.

1242{
1243 TRACE("(%p)\n", lpUnknown);
1244
1245 if(!lpUnknown || !*lpUnknown) return;
1246
1247 TRACE("doing Release\n");
1248
1249 IUnknown_Release(*lpUnknown);
1250 *lpUnknown = NULL;
1251}

Referenced by IUnknown_Set(), and SHWeakReleaseInterface().

◆ IUnknown_CPContainerInvokeParam()

HRESULT WINAPIV IUnknown_CPContainerInvokeParam ( IUnknown container,
REFIID  riid,
DISPID  dispId,
VARIANTARG buffer,
DWORD  cParams,
  ... 
)

Definition at line 3193 of file ordinal.c.

3199{
3201 IConnectionPoint *iCP;
3203 DISPPARAMS dispParams = {buffer, NULL, cParams, 0};
3205
3206 if (!container)
3207 return E_NOINTERFACE;
3208
3209 result = IUnknown_QueryInterface(container, &IID_IConnectionPointContainer,(LPVOID*) &iCPC);
3210 if (FAILED(result))
3211 return result;
3212
3213 result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP);
3214 IConnectionPointContainer_Release(iCPC);
3215 if(FAILED(result))
3216 return result;
3217
3218 __ms_va_start(valist, cParams);
3219 SHPackDispParamsV(&dispParams, buffer, cParams, valist);
3221
3222 result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams);
3223 IConnectionPoint_Release(iCP);
3224
3225 return result;
3226}
HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
Definition: ordinal.c:2988
GLuint buffer
Definition: glext.h:5915
static __ms_va_list valist
Definition: printf.c:66
struct stdole::DISPPARAMS DISPPARAMS
#define __ms_va_list
Definition: windef.h:456
#define __ms_va_end(list)
Definition: windef.h:458
#define __ms_va_start(list, arg)
Definition: windef.h:457

◆ IUnknown_CPContainerOnChanged()

HRESULT WINAPI IUnknown_CPContainerOnChanged ( IUnknown lpUnknown,
DISPID  dispID 
)

Definition at line 3242 of file ordinal.c.

3243{
3245 HRESULT hRet = E_NOINTERFACE;
3246
3247 TRACE("(%p,0x%8X)\n", lpUnknown, dispID);
3248
3249 if (lpUnknown)
3250 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer, (void**)&lpCPC);
3251
3252 if (SUCCEEDED(hRet))
3253 {
3254 IConnectionPoint* lpCP;
3255
3256 hRet = IConnectionPointContainer_FindConnectionPoint(lpCPC, &IID_IPropertyNotifySink, &lpCP);
3257 IConnectionPointContainer_Release(lpCPC);
3258
3259 hRet = IConnectionPoint_OnChanged(lpCP, dispID);
3260 IConnectionPoint_Release(lpCP);
3261 }
3262 return hRet;
3263}
HRESULT WINAPI IConnectionPoint_OnChanged(IConnectionPoint *lpCP, DISPID dispID)
Definition: ordinal.c:3154

◆ IUnknown_EnableModeless()

HRESULT WINAPI IUnknown_EnableModeless ( IUnknown lpUnknown,
BOOL  bModeless 
)

Definition at line 3474 of file ordinal.c.

3475{
3476 IUnknown *lpObj;
3477 HRESULT hRet;
3478
3479 TRACE("(%p,%d)\n", lpUnknown, bModeless);
3480
3481 if (!lpUnknown)
3482 return E_FAIL;
3483
3486 else if (IsIface(IOleInPlaceFrame))
3488 else if (IsIface(IShellBrowser))
3492 else if (IsIface(IDocHostUIHandler))
3494 else
3495 return hRet;
3496
3497 IUnknown_Release(lpObj);
3498 return S_OK;
3499}
#define EnableModeless(type)
Definition: ordinal.c:3453
#define IsIface(type)
Definition: ordinal.c:3451

◆ IUnknown_Exec()

HRESULT WINAPI IUnknown_Exec ( IUnknown lpUnknown,
REFGUID  pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)

Definition at line 1083 of file ordinal.c.

1086{
1087 HRESULT hRet = E_FAIL;
1088
1089 TRACE("(%p,%p,%d,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, nCmdID,
1090 nCmdexecopt, pvaIn, pvaOut);
1091
1092 if (lpUnknown)
1093 {
1094 IOleCommandTarget* lpOle;
1095
1096 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1097 (void**)&lpOle);
1098 if (SUCCEEDED(hRet) && lpOle)
1099 {
1100 hRet = IOleCommandTarget_Exec(lpOle, pguidCmdGroup, nCmdID,
1101 nCmdexecopt, pvaIn, pvaOut);
1102 IOleCommandTarget_Release(lpOle);
1103 }
1104 }
1105 return hRet;
1106}

Referenced by CTrayBandSite::AddBand(), CTrayWindow::CheckTrayWndPosition(), CInternetToolbar::CreateMenuBar(), CBaseBar::Exec(), CMenuSite::Exec(), CShellBrowser::Initialize(), CISFBand::InvokeCommand(), CBaseBarSite::OnCommand(), CInternetToolbar::OnFolders(), CInternetToolbar::OnSearch(), CShellBrowser::OnToggleAddressBandVisible(), CShellBrowser::OnToggleLinksBandVisible(), CShellBrowser::OnToggleTextLabels(), CShellBrowser::OnToggleToolbarBandVisible(), CShellBrowser::OnToggleToolbarLock(), CShellBrowser::OnToolbarCustomize(), CInternetToolbar::OnUpLevel(), CShellBrowser::ShowBand(), and CTrayBandSite::Update().

◆ IUnknown_GetClassID()

HRESULT WINAPI IUnknown_GetClassID ( IUnknown lpUnknown,
CLSID clsid 
)

Definition at line 1453 of file ordinal.c.

1454{
1455 IPersist *persist;
1456 HRESULT hr;
1457
1458 TRACE("(%p, %p)\n", lpUnknown, clsid);
1459
1460 if (!lpUnknown)
1461 {
1462 memset(clsid, 0, sizeof(*clsid));
1463 return E_FAIL;
1464 }
1465
1466 hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersist, (void**)&persist);
1467 if (hr != S_OK)
1468 {
1469 hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersistFolder, (void**)&persist);
1470 if (hr != S_OK)
1471 return hr;
1472 }
1473
1474 hr = IPersist_GetClassID(persist, clsid);
1475 IPersist_Release(persist);
1476 return hr;
1477}
REFCLSID clsid
Definition: msctf.c:82
const GUID IID_IPersist
Definition: proxy.cpp:14
HRESULT hr
Definition: shlfolder.c:183

Referenced by CShellBrowser::BrowseToPIDL(), CSearchBar::GetSearchResultsFolder(), init_pointers(), CSearchBar::Invoke(), and SHSkipJunction().

◆ IUnknown_GetSite()

HRESULT WINAPI IUnknown_GetSite ( LPUNKNOWN  lpUnknown,
REFIID  iid,
PVOID lppSite 
)

Definition at line 2596 of file ordinal.c.

2597{
2598 HRESULT hRet = E_INVALIDARG;
2599 LPOBJECTWITHSITE lpSite = NULL;
2600
2601 TRACE("(%p,%s,%p)\n", lpUnknown, debugstr_guid(iid), lppSite);
2602
2603 if (lpUnknown && iid && lppSite)
2604 {
2605 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IObjectWithSite,
2606 (void**)&lpSite);
2607 if (SUCCEEDED(hRet) && lpSite)
2608 {
2609 hRet = IObjectWithSite_GetSite(lpSite, iid, lppSite);
2610 IObjectWithSite_Release(lpSite);
2611 }
2612 }
2613 return hRet;
2614}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
const IID IID_IObjectWithSite

Referenced by CMenuDeskBar::_IsSubMenuParent(), CShellMenuCallback::OnInitMenu(), and CMenuFocusManager::UpdateFocus().

◆ IUnknown_GetWindow()

HRESULT WINAPI IUnknown_GetWindow ( IUnknown lpUnknown,
HWND lphWnd 
)

Definition at line 1332 of file ordinal.c.

1333{
1334 IUnknown *lpOle;
1335 HRESULT hRet = E_FAIL;
1336
1337 TRACE("(%p,%p)\n", lpUnknown, lphWnd);
1338
1339 if (!lpUnknown)
1340 return hRet;
1341
1342 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleWindow, (void**)&lpOle);
1343
1344 if (FAILED(hRet))
1345 {
1346 hRet = IUnknown_QueryInterface(lpUnknown,&IID_IShellView, (void**)&lpOle);
1347
1348 if (FAILED(hRet))
1349 {
1350 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInternetSecurityMgrSite,
1351 (void**)&lpOle);
1352 }
1353 }
1354
1355 if (SUCCEEDED(hRet))
1356 {
1357 /* Laziness here - Since GetWindow() is the first method for the above 3
1358 * interfaces, we use the same call for them all.
1359 */
1360 hRet = IOleWindow_GetWindow((IOleWindow*)lpOle, lphWnd);
1361 IUnknown_Release(lpOle);
1362 if (lphWnd)
1363 TRACE("Returning HWND=%p\n", *lphWnd);
1364 }
1365
1366 return hRet;
1367}
const GUID IID_IOleWindow

Referenced by CMenuDeskBar::_IsSubMenuParent(), CMenuSite::AddBand(), CInternetToolbar::CreateMenuBar(), CFSDropTarget::Drop(), CAddressEditBox::Execute(), CDockSite::Initialize(), CInternetToolbar::InitNew(), CTrayNotifyWnd::OnCreate(), CTrayWindow::OnCreate(), CShellMenuCallback::OnInitMenu(), CTrayWindow::OnOpenStartMenu(), CInternetToolbar::OnWinIniChange(), CAddressEditBox::ParseNow(), CShellBrowser::RepositionBars(), CMenuDeskBar::SetClient(), CMenuSite::SetDeskBarSite(), CISFBand::SetSite(), CTaskBand::SetSite(), CAddressBand::SetSite(), CExplorerBand::SetSite(), CInternetToolbar::SetSite(), CSearchBar::SetSite(), and CToolsBand::SetSite().

◆ IUnknown_HandleIRestrict()

HRESULT WINAPI IUnknown_HandleIRestrict ( LPUNKNOWN  lpUnknown,
PVOID  lpArg1,
PVOID  lpArg2,
PVOID  lpArg3,
PVOID  lpArg4 
)

Definition at line 1949 of file ordinal.c.

1951{
1952 /* FIXME: {D12F26B2-D90A-11D0-830D-00AA005B4383} - What object does this represent? */
1953 static const DWORD service_id[] = { 0xd12f26b2, 0x11d0d90a, 0xaa000d83, 0x83435b00 };
1954 /* FIXME: {D12F26B1-D90A-11D0-830D-00AA005B4383} - Also Unknown/undocumented */
1955 static const DWORD function_id[] = { 0xd12f26b1, 0x11d0d90a, 0xaa000d83, 0x83435b00 };
1956 HRESULT hRet = E_INVALIDARG;
1957 LPUNKNOWN lpUnkInner = NULL; /* FIXME: Real type is unknown */
1958
1959 TRACE("(%p,%p,%p,%p,%p)\n", lpUnknown, lpArg1, lpArg2, lpArg3, lpArg4);
1960
1961 if (lpUnknown && lpArg4)
1962 {
1963 hRet = IUnknown_QueryService(lpUnknown, (REFGUID)service_id,
1964 (REFGUID)function_id, (void**)&lpUnkInner);
1965
1966 if (SUCCEEDED(hRet) && lpUnkInner)
1967 {
1968 /* FIXME: The type of service object requested is unknown, however
1969 * testing shows that its first method is called with 4 parameters.
1970 * Fake this by using IParseDisplayName_ParseDisplayName since the
1971 * signature and position in the vtable matches our unknown object type.
1972 */
1973 hRet = IParseDisplayName_ParseDisplayName((LPPARSEDISPLAYNAME)lpUnkInner,
1974 lpArg1, lpArg2, lpArg3, lpArg4);
1975 IUnknown_Release(lpUnkInner);
1976 }
1977 }
1978 return hRet;
1979}
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1497
static LPUNKNOWN
Definition: ndr_ole.c:49
Definition: scsiwmi.h:51

◆ IUnknown_HasFocusIO()

HRESULT WINAPI IUnknown_HasFocusIO ( IUnknown lpUnknown)

Definition at line 4216 of file ordinal.c.

4217{
4218 IInputObject* lpInput = NULL;
4219 HRESULT hRet = E_INVALIDARG;
4220
4221 TRACE("(%p)\n", lpUnknown);
4222 if (lpUnknown)
4223 {
4224 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4225 (void**)&lpInput);
4226 if (SUCCEEDED(hRet) && lpInput)
4227 {
4228 hRet = IInputObject_HasFocusIO(lpInput);
4229 IInputObject_Release(lpInput);
4230 }
4231 }
4232 return hRet;
4233}
#define IInputObject_HasFocusIO(p)
Definition: shlobj.h:707
#define IInputObject_Release(p)
Definition: shlobj.h:704

Referenced by CBaseBarSite::HasFocusIO(), CInternetToolbar::HasFocusIO(), CBaseBar::HasFocusIO(), and CMenuDeskBar::HasFocusIO().

◆ IUnknown_OnFocusChangeIS()

HRESULT WINAPI IUnknown_OnFocusChangeIS ( LPUNKNOWN  lpUnknown,
LPUNKNOWN  pFocusObject,
BOOL  bFocus 
)

Definition at line 4688 of file ordinal.c.

4689{
4690 IInputObjectSite *pIOS = NULL;
4691 HRESULT hRet = E_INVALIDARG;
4692
4693 TRACE("(%p, %p, %s)\n", lpUnknown, pFocusObject, bFocus ? "TRUE" : "FALSE");
4694
4695 if (lpUnknown)
4696 {
4697 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObjectSite,
4698 (void **)&pIOS);
4699 if (SUCCEEDED(hRet) && pIOS)
4700 {
4701 hRet = IInputObjectSite_OnFocusChangeIS(pIOS, pFocusObject, bFocus);
4703 }
4704 }
4705 return hRet;
4706}
#define IInputObjectSite_Release(p)
Definition: shlobj.h:728
#define IInputObjectSite_OnFocusChangeIS(p, a, b)
Definition: shlobj.h:730

Referenced by CBaseBarSite::OnFocusChangeIS(), CBaseBar::OnFocusChangeIS(), CMenuDeskBar::OnFocusChangeIS(), CExplorerBand::OnKillFocus(), CExplorerBand::OnSetFocus(), CSearchBar::OnSetFocus(), and CAddressBand::UIActivateIO().

◆ IUnknown_OnFocusOCS()

HRESULT WINAPI IUnknown_OnFocusOCS ( IUnknown lpUnknown,
BOOL  fGotFocus 
)

Definition at line 1927 of file ordinal.c.

1928{
1929 IOleControlSite* lpCSite = NULL;
1930 HRESULT hRet = E_FAIL;
1931
1932 TRACE("(%p, %d)\n", lpUnknown, fGotFocus);
1933 if (lpUnknown)
1934 {
1935 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
1936 (void**)&lpCSite);
1937 if (SUCCEEDED(hRet) && lpCSite)
1938 {
1939 hRet = IOleControlSite_OnFocus(lpCSite, fGotFocus);
1940 IOleControlSite_Release(lpCSite);
1941 }
1942 }
1943 return hRet;
1944}
const GUID IID_IOleControlSite

◆ IUnknown_ProfferService()

HRESULT WINAPI IUnknown_ProfferService ( IUnknown lpUnknown,
REFGUID  service,
IServiceProvider pService,
DWORD pCookie 
)

Definition at line 1588 of file ordinal.c.

1589{
1590 IProfferService *proffer;
1591 HRESULT hr;
1592
1593 TRACE("%p %s %p %p\n", lpUnknown, debugstr_guid(service), pService, pCookie);
1594
1595 hr = IUnknown_QueryService(lpUnknown, &IID_IProfferService, &IID_IProfferService, (void**)&proffer);
1596 if (hr == S_OK)
1597 {
1598 if (pService)
1599 hr = IProfferService_ProfferService(proffer, service, pService, pCookie);
1600 else
1601 {
1602 hr = IProfferService_RevokeService(proffer, *pCookie);
1603 *pCookie = 0;
1604 }
1605
1606 IProfferService_Release(proffer);
1607 }
1608
1609 return hr;
1610}

Referenced by init_pointers().

◆ IUnknown_QueryService()

HRESULT WINAPI IUnknown_QueryService ( IUnknown lpUnknown,
REFGUID  sid,
REFIID  riid,
LPVOID lppOut 
)

Definition at line 1497 of file ordinal.c.

1499{
1500 IServiceProvider* pService = NULL;
1501 HRESULT hRet;
1502
1503 if (!lppOut)
1504 return E_FAIL;
1505
1506 *lppOut = NULL;
1507
1508 if (!lpUnknown)
1509 return E_FAIL;
1510
1511 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IServiceProvider,
1512 (LPVOID*)&pService);
1513
1514 if (hRet == S_OK && pService)
1515 {
1516 TRACE("QueryInterface returned (IServiceProvider*)%p\n", pService);
1517
1518 /* Get a Service interface from the object */
1519 hRet = IServiceProvider_QueryService(pService, sid, riid, lppOut);
1520
1521 TRACE("(IServiceProvider*)%p returned (IUnknown*)%p\n", pService, *lppOut);
1522
1523 IServiceProvider_Release(pService);
1524 }
1525 return hRet;
1526}

Referenced by CDefViewBckgrndMenu::_bIsDesktopBrowserMenu(), CDefView::_MergeToolbar(), CMenuDeskBar::_OnActivate(), CDefaultContextMenu::BrowserFlagsFromVerb(), CExplorerBand::DestroyExplorerBand(), CDefaultContextMenu::DoCreateNewFolder(), CDefaultContextMenu::DoRename(), CFSDropTarget::Drop(), CAddressEditBox::Execute(), CExplorerBand::ExecuteCommand(), CBandProxy::FindBrowserWindow(), CAddressEditBox::GetAbsolutePidl(), CShellBrowser::GetMenuBand(), CSearchBar::GetSearchResultsFolder(), CAddressEditBox::Init(), CExplorerBand::InitializeExplorerBand(), CDefViewBckgrndMenu::InvokeCommand(), CNetConUiObject::InvokeCommand(), CMenuFocusManager::IsTrackedWindowOrParent(), IUnknown_HandleIRestrict(), IUnknown_ProfferService(), IUnknown_QueryServiceExec(), IUnknown_QueryServiceForWebBrowserApp(), IUnknown_QueryServicePropertyBag(), CExplorerBand::NavigateToCurrentFolder(), CSearchBar::OnInitDialog(), CInternetToolbar::OnMenuDropDown(), CSearchBar::OnSearchButtonClicked(), CInternetToolbar::OnTravelBack(), CInternetToolbar::OnTravelForward(), CAddressEditBox::ParseNow(), CMenuDeskBar::Popup(), CExplorerBand::QueryService(), CInternetToolbar::QueryService(), CMenuDeskBar::QueryService(), CMenuSite::QueryService(), RegisterDefaultAcceptHeaders(), CNewMenu::SelectNewItem(), CAddressEditBox::SetOwner(), CInternetToolbar::SetSite(), CMenuBand::SetSite(), CMenuDeskBar::SetSite(), CDefaultContextMenu::TryToBrowse(), CMenuBand::UIActivateIO(), and CExplorerBand::UpdateBrowser().

◆ IUnknown_QueryServiceExec()

HRESULT WINAPI IUnknown_QueryServiceExec ( IUnknown lpUnknown,
REFIID  service,
const GUID group,
DWORD  cmdId,
DWORD  cmdOpt,
VARIANT pIn,
VARIANT pOut 
)

Definition at line 1549 of file ordinal.c.

1551{
1553 HRESULT hr;
1554
1555 TRACE("%p %s %s %d %08x %p %p\n", lpUnknown, debugstr_guid(service),
1556 debugstr_guid(group), cmdId, cmdOpt, pIn, pOut);
1557
1558 hr = IUnknown_QueryService(lpUnknown, service, &IID_IOleCommandTarget, (void**)&target);
1559 if (hr == S_OK)
1560 {
1561 hr = IOleCommandTarget_Exec(target, group, cmdId, cmdOpt, pIn, pOut);
1562 IOleCommandTarget_Release(target);
1563 }
1564
1565 TRACE("<-- hr=0x%08x\n", hr);
1566
1567 return hr;
1568}
GLboolean GLuint group
Definition: glext.h:11120
GLenum target
Definition: glext.h:7315

Referenced by CMenuBand::AdjustForTheme(), init_pointers(), CMenuDeskBar::Popup(), and CMenuDeskBar::SetIconSize().

◆ IUnknown_QueryServiceForWebBrowserApp()

HRESULT WINAPI IUnknown_QueryServiceForWebBrowserApp ( IUnknown lpUnknown,
REFGUID  riid,
LPVOID lppOut 
)

Definition at line 5298 of file ordinal.c.

5300{
5301 FIXME("%p %s %p semi-STUB\n", lpUnknown, debugstr_guid(riid), lppOut);
5302 return IUnknown_QueryService(lpUnknown,&IID_IWebBrowserApp,riid,lppOut);
5303}

◆ IUnknown_QueryStatus()

HRESULT WINAPI IUnknown_QueryStatus ( IUnknown lpUnknown,
REFGUID  pguidCmdGroup,
ULONG  cCmds,
OLECMD *  prgCmds,
OLECMDTEXT *  pCmdText 
)

Definition at line 1044 of file ordinal.c.

1046{
1047 HRESULT hRet = E_FAIL;
1048
1049 TRACE("(%p,%p,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, cCmds, prgCmds, pCmdText);
1050
1051 if (lpUnknown)
1052 {
1053 IOleCommandTarget* lpOle;
1054
1055 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1056 (void**)&lpOle);
1057
1058 if (SUCCEEDED(hRet) && lpOle)
1059 {
1060 hRet = IOleCommandTarget_QueryStatus(lpOle, pguidCmdGroup, cCmds,
1061 prgCmds, pCmdText);
1062 IOleCommandTarget_Release(lpOle);
1063 }
1064 }
1065 return hRet;
1066}

Referenced by CInternetToolbar::CommandStateChanged(), CInternetToolbar::OnMenuDropDown(), CAddressBand::QueryStatus(), CMenuSite::QueryStatus(), and CShellBrowser::UpdateViewMenu().

◆ IUnknown_Set()

VOID WINAPI IUnknown_Set ( IUnknown **  lppDest,
IUnknown lpUnknown 
)

Definition at line 2186 of file ordinal.c.

2187{
2188 TRACE("(%p,%p)\n", lppDest, lpUnknown);
2189
2190 IUnknown_AtomicRelease(lppDest);
2191
2192 if (lpUnknown)
2193 {
2194 IUnknown_AddRef(lpUnknown);
2195 *lppDest = lpUnknown;
2196 }
2197}
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
Definition: ordinal.c:1241

◆ IUnknown_SetOwner()

HRESULT WINAPI IUnknown_SetOwner ( IUnknown iface,
IUnknown pUnk 
)

Definition at line 1381 of file ordinal.c.

1382{
1383 IShellService *service;
1384 HRESULT hr;
1385
1386 TRACE("(%p, %p)\n", iface, pUnk);
1387
1388 if (!iface) return E_FAIL;
1389
1390 hr = IUnknown_QueryInterface(iface, &IID_IShellService, (void**)&service);
1391 if (hr == S_OK)
1392 {
1393 hr = IShellService_SetOwner(service, pUnk);
1394 IShellService_Release(service);
1395 }
1396
1397 return hr;
1398}
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30

Referenced by CTrayBandSite::AddContextMenus().

◆ IUnknown_SetSite()

HRESULT WINAPI IUnknown_SetSite ( IUnknown obj,
IUnknown site 
)

Definition at line 1407 of file ordinal.c.

1410{
1411 HRESULT hr;
1412 IObjectWithSite *iobjwithsite;
1413 IInternetSecurityManager *isecmgr;
1414
1415 if (!obj) return E_FAIL;
1416
1417 hr = IUnknown_QueryInterface(obj, &IID_IObjectWithSite, (LPVOID *)&iobjwithsite);
1418 TRACE("IID_IObjectWithSite QI ret=%08x, %p\n", hr, iobjwithsite);
1419 if (SUCCEEDED(hr))
1420 {
1421 hr = IObjectWithSite_SetSite(iobjwithsite, site);
1422 TRACE("done IObjectWithSite_SetSite ret=%08x\n", hr);
1423 IObjectWithSite_Release(iobjwithsite);
1424 }
1425 else
1426 {
1427 hr = IUnknown_QueryInterface(obj, &IID_IInternetSecurityManager, (LPVOID *)&isecmgr);
1428 TRACE("IID_IInternetSecurityManager QI ret=%08x, %p\n", hr, isecmgr);
1429 if (FAILED(hr)) return hr;
1430
1431 hr = IInternetSecurityManager_SetSecuritySite(isecmgr, (IInternetSecurityMgrSite *)site);
1432 TRACE("done IInternetSecurityManager_SetSecuritySite ret=%08x\n", hr);
1433 IInternetSecurityManager_Release(isecmgr);
1434 }
1435 return hr;
1436}
static IActiveScriptSite * site
Definition: script.c:149

Referenced by CMenuBand::_OnPopupSubMenu(), CMenuSite::AddBand(), CShellBrowser::BrowseToPath(), CreateStartMenu(), CShellBrowser::DoFolderOptions(), CDefView::drag_notify_subitem(), CDefView::FillFileMenu(), CShellBrowser::GetBaseBar(), CDefView::GetItemObject(), CShellBrowser::Initialize(), CDockSite::Initialize(), CDefView::InvokeContextMenuCommand(), CDefaultContextMenu::LoadDynamicContextMenuHandler(), CExplorerBand::OnContextMenu(), CMenuBand::SetClient(), CMenuSite::SetDeskBarSite(), CDefViewBckgrndMenu::SetSite(), and MenuCleanup::~MenuCleanup().

◆ IUnknown_TranslateAcceleratorIO()

HRESULT WINAPI IUnknown_TranslateAcceleratorIO ( IUnknown lpUnknown,
LPMSG  lpMsg 
)

Definition at line 4184 of file ordinal.c.

4185{
4186 IInputObject* lpInput = NULL;
4187 HRESULT hRet = E_INVALIDARG;
4188
4189 TRACE("(%p,%p)\n", lpUnknown, lpMsg);
4190 if (lpUnknown)
4191 {
4192 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4193 (void**)&lpInput);
4194 if (SUCCEEDED(hRet) && lpInput)
4195 {
4196 hRet = IInputObject_TranslateAcceleratorIO(lpInput, lpMsg);
4197 IInputObject_Release(lpInput);
4198 }
4199 }
4200 return hRet;
4201}
#define IInputObject_TranslateAcceleratorIO(p, a)
Definition: shlobj.h:708

Referenced by CBaseBarSite::TranslateAcceleratorIO(), CInternetToolbar::TranslateAcceleratorIO(), CBaseBar::TranslateAcceleratorIO(), CMenuDeskBar::TranslateAcceleratorIO(), and CShellBrowser::v_MayTranslateAccelerator().

◆ IUnknown_TranslateAcceleratorOCS()

HRESULT WINAPI IUnknown_TranslateAcceleratorOCS ( IUnknown lpUnknown,
LPMSG  lpMsg,
DWORD  dwModifiers 
)

Definition at line 1894 of file ordinal.c.

1895{
1896 IOleControlSite* lpCSite = NULL;
1897 HRESULT hRet = E_INVALIDARG;
1898
1899 TRACE("(%p,%p,0x%08x)\n", lpUnknown, lpMsg, dwModifiers);
1900 if (lpUnknown)
1901 {
1902 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
1903 (void**)&lpCSite);
1904 if (SUCCEEDED(hRet) && lpCSite)
1905 {
1906 hRet = IOleControlSite_TranslateAccelerator(lpCSite, lpMsg, dwModifiers);
1907 IOleControlSite_Release(lpCSite);
1908 }
1909 }
1910 return hRet;
1911}

◆ IUnknown_UIActivateIO()

HRESULT WINAPI IUnknown_UIActivateIO ( IUnknown unknown,
BOOL  activate,
LPMSG  msg 
)

Definition at line 1629 of file ordinal.c.

1630{
1631 IInputObject* object = NULL;
1632 HRESULT ret;
1633
1634 if (!unknown)
1635 return E_FAIL;
1636
1637 /* Get an IInputObject interface from the object */
1638 ret = IUnknown_QueryInterface(unknown, &IID_IInputObject, (LPVOID*) &object);
1639
1640 if (ret == S_OK)
1641 {
1642 ret = IInputObject_UIActivateIO(object, activate, msg);
1643 IInputObject_Release(object);
1644 }
1645
1646 return ret;
1647}
#define msg(x)
Definition: auth_time.c:54
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
#define IInputObject_UIActivateIO(p, a, b)
Definition: shlobj.h:706

Referenced by CMenuDeskBar::UIActivateIO(), CBaseBarSite::UIActivateIO(), CBaseBar::UIActivateIO(), and CMenuSite::UIActivateIO().

◆ MayExecForward()

HRESULT WINAPI MayExecForward ( IUnknown lpUnknown,
INT  iUnk,
REFGUID  pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)

Definition at line 2218 of file ordinal.c.

2221{
2222 FIXME("(%p,%d,%p,%d,%d,%p,%p) - stub!\n", lpUnknown, iUnk, pguidCmdGroup,
2223 nCmdID, nCmdexecopt, pvaIn, pvaOut);
2225}

◆ MayQSForward()

HRESULT WINAPI MayQSForward ( IUnknown lpUnknown,
PVOID  lpReserved,
REFGUID  riidCmdGrp,
ULONG  cCmds,
OLECMD *  prgCmds,
OLECMDTEXT *  pCmdText 
)

Definition at line 2203 of file ordinal.c.

2206{
2207 FIXME("(%p,%p,%p,%d,%p,%p) - stub\n",
2208 lpUnknown, lpReserved, riidCmdGrp, cCmds, prgCmds, pCmdText);
2209
2210 /* FIXME: Calls IsQSForward & IUnknown_QueryStatus */
2212}

◆ MLClearMLHInstance()

DWORD WINAPI MLClearMLHInstance ( DWORD  x)

Definition at line 3953 of file ordinal.c.

3954{
3955 FIXME("(0x%08x)stub\n", x);
3956 return 0xabba1247;
3957}

◆ MLFreeLibrary()

BOOL WINAPI MLFreeLibrary ( HMODULE  hModule)

Definition at line 3916 of file ordinal.c.

3917{
3918 FIXME("(%p) semi-stub\n", hModule);
3919 return FreeLibrary(hModule);
3920}
HMODULE hModule
Definition: animate.c:44

Referenced by MLBuildResURLW().

◆ MLIsMLHInstance()

BOOL WINAPI MLIsMLHInstance ( HINSTANCE  hInst)

Definition at line 3934 of file ordinal.c.

3935{
3936 FIXME("(%p) stub\n", hInst);
3937 return FALSE;
3938}
HINSTANCE hInst
Definition: dxdiag.c:13

◆ MLLoadLibraryA()

HMODULE WINAPI MLLoadLibraryA ( LPCSTR  new_mod,
HMODULE  inst_hwnd,
DWORD  dwCrossCodePage 
)

Definition at line 3617 of file ordinal.c.

3618{
3619 /* FIXME: Native appears to do DPA_Create and a DPA_InsertPtr for
3620 * each call here.
3621 * FIXME: Native shows calls to:
3622 * SHRegGetUSValue for "Software\Microsoft\Internet Explorer\International"
3623 * CheckVersion
3624 * RegOpenKeyExA for "HKLM\Software\Microsoft\Internet Explorer"
3625 * RegQueryValueExA for "LPKInstalled"
3626 * RegCloseKey
3627 * RegOpenKeyExA for "HKCU\Software\Microsoft\Internet Explorer\International"
3628 * RegQueryValueExA for "ResourceLocale"
3629 * RegCloseKey
3630 * RegOpenKeyExA for "HKLM\Software\Microsoft\Active Setup\Installed Components\{guid}"
3631 * RegQueryValueExA for "Locale"
3632 * RegCloseKey
3633 * and then tests the Locale ("en" for me).
3634 * code below
3635 * after the code then a DPA_Create (first time) and DPA_InsertPtr are done.
3636 */
3637 CHAR mod_path[2*MAX_PATH];
3638 LPSTR ptr;
3639 DWORD len;
3640
3641 FIXME("(%s,%p,%d) semi-stub!\n", debugstr_a(new_mod), inst_hwnd, dwCrossCodePage);
3642 len = GetModuleFileNameA(inst_hwnd, mod_path, sizeof(mod_path));
3643 if (!len || len >= sizeof(mod_path)) return NULL;
3644
3645 ptr = strrchr(mod_path, '\\');
3646 if (ptr) {
3647 strcpy(ptr+1, new_mod);
3648 TRACE("loading %s\n", debugstr_a(mod_path));
3649 return LoadLibraryA(mod_path);
3650 }
3651 return NULL;
3652}
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
#define MAX_PATH
Definition: compat.h:34
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
Definition: loader.c:539
#define debugstr_a
Definition: kernel32.h:31
static PVOID ptr
Definition: dispmode.c:27
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
char * LPSTR
Definition: xmlstorage.h:182
char CHAR
Definition: xmlstorage.h:175

◆ MLLoadLibraryW()

HMODULE WINAPI MLLoadLibraryW ( LPCWSTR  new_mod,
HMODULE  inst_hwnd,
DWORD  dwCrossCodePage 
)

Definition at line 3659 of file ordinal.c.

3660{
3661 WCHAR mod_path[2*MAX_PATH];
3662 LPWSTR ptr;
3663 DWORD len;
3664
3665 FIXME("(%s,%p,%d) semi-stub!\n", debugstr_w(new_mod), inst_hwnd, dwCrossCodePage);
3666 len = GetModuleFileNameW(inst_hwnd, mod_path, sizeof(mod_path) / sizeof(WCHAR));
3667 if (!len || len >= sizeof(mod_path) / sizeof(WCHAR)) return NULL;
3668
3669 ptr = strrchrW(mod_path, '\\');
3670 if (ptr) {
3671 strcpyW(ptr+1, new_mod);
3672 TRACE("loading %s\n", debugstr_w(mod_path));
3673 return LoadLibraryW(mod_path);
3674 }
3675 return NULL;
3676}
#define LoadLibraryW(x)
Definition: compat.h:747
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:600
#define debugstr_w
Definition: kernel32.h:32
#define strrchrW(s, c)
Definition: unicode.h:35
#define strcpyW(d, s)
Definition: unicode.h:29
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by MLBuildResURLW().

◆ MLSetMLHInstance()

DWORD WINAPI MLSetMLHInstance ( HINSTANCE  hInst,
HANDLE  hHeap 
)

Definition at line 3944 of file ordinal.c.

3945{
3946 FIXME("(%p,%p) stub\n", hInst, hHeap);
3947 return E_FAIL; /* This is what is used if shlwapi not loaded */
3948}

◆ PageSetupDlgWrapW()

BOOL WINAPI PageSetupDlgWrapW ( LPPAGESETUPDLGW  pagedlg)

Definition at line 3746 of file ordinal.c.

3747{
3748 return PageSetupDlgW(pagedlg);
3749}
BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW setupdlg)
Definition: printdlg.c:3938

◆ PathSkipLeadingSlashesA()

LPCSTR WINAPI PathSkipLeadingSlashesA ( LPCSTR  lpszSrc)

Definition at line 1265 of file ordinal.c.

1266{
1267 if (lpszSrc && lpszSrc[0] == '/' && lpszSrc[1] == '/')
1268 lpszSrc += 2;
1269 return lpszSrc;
1270}

◆ PlaySoundWrapW()

BOOL WINAPI PlaySoundWrapW ( LPCWSTR  pszSound,
HMODULE  hmod,
DWORD  fdwSound 
)

Definition at line 3270 of file ordinal.c.

3271{
3272 return PlaySoundW(pszSound, hmod, fdwSound);
3273}
static PEXPLICIT_ACCESSW *static HMODULE hmod
Definition: security.c:143
BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound)
Definition: playsound.c:651

◆ PrintDlgWrapW()

BOOL WINAPI PrintDlgWrapW ( LPPRINTDLGW  printdlg)

Definition at line 3756 of file ordinal.c.

3757{
3758 return PrintDlgW(printdlg);
3759}
BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd)
Definition: printdlg.c:2403

◆ QISearch()

HRESULT WINAPI QISearch ( void base,
const QITAB table,
REFIID  riid,
void **  ppv 
)

Definition at line 2392 of file ordinal.c.

2397{
2398 HRESULT ret;
2399 IUnknown *a_vtbl;
2400 const QITAB *xmove;
2401
2402 TRACE("(%p %p %s %p)\n", base, table, debugstr_guid(riid), ppv);
2403 if (ppv) {
2404 xmove = table;
2405 while (xmove->piid) {
2406 TRACE("trying (offset %d) %s\n", xmove->dwOffset, debugstr_guid(xmove->piid));
2407 if (IsEqualIID(riid, xmove->piid)) {
2408 a_vtbl = (IUnknown*)(xmove->dwOffset + (LPBYTE)base);
2409 TRACE("matched, returning (%p)\n", a_vtbl);
2410 *ppv = a_vtbl;
2411 IUnknown_AddRef(a_vtbl);
2412 return S_OK;
2413 }
2414 xmove++;
2415 }
2416
2417 if (IsEqualIID(riid, &IID_IUnknown)) {
2418 a_vtbl = (IUnknown*)(table->dwOffset + (LPBYTE)base);
2419 TRACE("returning first for IUnknown (%p)\n", a_vtbl);
2420 *ppv = a_vtbl;
2421 IUnknown_AddRef(a_vtbl);
2422 return S_OK;
2423 }
2424 *ppv = 0;
2426 } else
2427 ret = E_POINTER;
2428
2429 TRACE("-- 0x%08x\n", ret);
2430 return ret;
2431}
const GUID IID_IUnknown
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
const IID * piid
Definition: shlwapi.h:2074
DWORD dwOffset
Definition: shlwapi.h:2076
unsigned char * LPBYTE
Definition: typedefs.h:53
#define E_POINTER
Definition: winerror.h:2365

Referenced by CUnknownBase< Interface >::QueryInterface().

◆ RegisterDefaultAcceptHeaders()

HRESULT WINAPI RegisterDefaultAcceptHeaders ( LPBC  lpBC,
IUnknown lpUnknown 
)

Definition at line 344 of file ordinal.c.

345{
346 static const WCHAR szProperty[] = { '{','D','0','F','C','A','4','2','0',
347 '-','D','3','F','5','-','1','1','C','F', '-','B','2','1','1','-','0',
348 '0','A','A','0','0','4','A','E','8','3','7','}','\0' };
350 IEnumFORMATETC* pIEnumFormatEtc = NULL;
352 HRESULT hr;
353 IWebBrowserApp* pBrowser;
354
355 TRACE("(%p, %p)\n", lpBC, lpUnknown);
356
357 hr = IUnknown_QueryService(lpUnknown, &IID_IWebBrowserApp, &IID_IWebBrowserApp, (void**)&pBrowser);
358 if (FAILED(hr))
359 return hr;
360
361 V_VT(&var) = VT_EMPTY;
362
363 /* The property we get is the browsers clipboard enumerator */
364 property = SysAllocString(szProperty);
365 hr = IWebBrowserApp_GetProperty(pBrowser, property, &var);
367 if (FAILED(hr)) goto exit;
368
369 if (V_VT(&var) == VT_EMPTY)
370 {
371 /* Iterate through accepted documents and RegisterClipBoardFormatA() them */
372 char szKeyBuff[128], szValueBuff[128];
373 DWORD dwKeySize, dwValueSize, dwRet = 0, dwCount = 0, dwNumValues, dwType;
374 FORMATETC* formatList, *format;
375 HKEY hDocs;
376
377 TRACE("Registering formats and creating IEnumFORMATETC instance\n");
378
379 if (!RegOpenKeyA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\Current"
380 "Version\\Internet Settings\\Accepted Documents", &hDocs))
381 {
382 hr = E_FAIL;
383 goto exit;
384 }
385
386 /* Get count of values in key */
387 while (!dwRet)
388 {
389 dwKeySize = sizeof(szKeyBuff);
390 dwRet = RegEnumValueA(hDocs,dwCount,szKeyBuff,&dwKeySize,0,&dwType,0,0);
391 dwCount++;
392 }
393
394 dwNumValues = dwCount;
395
396 /* Note: dwCount = number of items + 1; The extra item is the end node */
397 format = formatList = HeapAlloc(GetProcessHeap(), 0, dwCount * sizeof(FORMATETC));
398 if (!formatList)
399 {
400 RegCloseKey(hDocs);
402 goto exit;
403 }
404
405 if (dwNumValues > 1)
406 {
407 dwRet = 0;
408 dwCount = 0;
409
410 dwNumValues--;
411
412 /* Register clipboard formats for the values and populate format list */
413 while(!dwRet && dwCount < dwNumValues)
414 {
415 dwKeySize = sizeof(szKeyBuff);
416 dwValueSize = sizeof(szValueBuff);
417 dwRet = RegEnumValueA(hDocs, dwCount, szKeyBuff, &dwKeySize, 0, &dwType,
418 (PBYTE)szValueBuff, &dwValueSize);
419 if (!dwRet)
420 {
421 HeapFree(GetProcessHeap(), 0, formatList);
422 RegCloseKey(hDocs);
423 hr = E_FAIL;
424 goto exit;
425 }
426
427 format->cfFormat = RegisterClipboardFormatA(szValueBuff);
428 format->ptd = NULL;
429 format->dwAspect = 1;
430 format->lindex = 4;
431 format->tymed = -1;
432
433 format++;
434 dwCount++;
435 }
436 }
437
438 RegCloseKey(hDocs);
439
440 /* Terminate the (maybe empty) list, last entry has a cfFormat of 0 */
441 format->cfFormat = 0;
442 format->ptd = NULL;
443 format->dwAspect = 1;
444 format->lindex = 4;
445 format->tymed = -1;
446
447 /* Create a clipboard enumerator */
448 hr = CreateFormatEnumerator(dwNumValues, formatList, &pIEnumFormatEtc);
449 HeapFree(GetProcessHeap(), 0, formatList);
450 if (FAILED(hr)) goto exit;
451
452 /* Set our enumerator as the browsers property */
453 V_VT(&var) = VT_UNKNOWN;
454 V_UNKNOWN(&var) = (IUnknown*)pIEnumFormatEtc;
455
456 property = SysAllocString(szProperty);
457 hr = IWebBrowserApp_PutProperty(pBrowser, property, var);
459 if (FAILED(hr))
460 {
461 IEnumFORMATETC_Release(pIEnumFormatEtc);
462 goto exit;
463 }
464 }
465
466 if (V_VT(&var) == VT_UNKNOWN)
467 {
468 /* Our variant is holding the clipboard enumerator */
469 IUnknown* pIUnknown = V_UNKNOWN(&var);
470 IEnumFORMATETC* pClone = NULL;
471
472 TRACE("Retrieved IEnumFORMATETC property\n");
473
474 /* Get an IEnumFormatEtc interface from the variants value */
475 pIEnumFormatEtc = NULL;
476 hr = IUnknown_QueryInterface(pIUnknown, &IID_IEnumFORMATETC, (void**)&pIEnumFormatEtc);
477 if (hr == S_OK && pIEnumFormatEtc)
478 {
479 /* Clone and register the enumerator */
480 hr = IEnumFORMATETC_Clone(pIEnumFormatEtc, &pClone);
481 if (hr == S_OK && pClone)
482 {
483 RegisterFormatEnumerator(lpBC, pClone, 0);
484
485 IEnumFORMATETC_Release(pClone);
486 }
487
488 IUnknown_Release(pIUnknown);
489 }
490 IUnknown_Release(V_UNKNOWN(&var));
491 }
492
493exit:
494 IWebBrowserApp_Release(pBrowser);
495 return hr;
496}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3254
LONG WINAPI RegEnumValueA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpdwReserved, _Out_opt_ LPDWORD lpdwType, _Out_opt_ LPBYTE lpData, _Inout_opt_ LPDWORD lpcbData)
Definition: reg.c:2688
OLECHAR * BSTR
Definition: compat.h:2293
@ VT_UNKNOWN
Definition: compat.h:2308
@ VT_EMPTY
Definition: compat.h:2295
HRESULT WINAPI CreateFormatEnumerator(UINT cfmtetc, FORMATETC *rgfmtetc, IEnumFORMATETC **ppenumfmtetc)
Definition: format.c:177
HRESULT WINAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved)
Definition: format.c:194
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
const char * var
Definition: shader.c:5666
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
#define V_UNKNOWN(A)
Definition: oleauto.h:281
#define V_VT(A)
Definition: oleauto.h:211
const GUID IID_IEnumFORMATETC
#define exit(n)
Definition: config.h:202
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
UINT WINAPI RegisterClipboardFormatA(_In_ LPCSTR)

◆ SHAboutInfoA()

BOOL WINAPI SHAboutInfoA ( LPSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 911 of file ordinal.c.

912{
913 WCHAR buff[2084];
914
915 TRACE("(%p,%d)\n", lpszDest, dwDestLen);
916
917 if (lpszDest && SHAboutInfoW(buff, dwDestLen))
918 {
919 WideCharToMultiByte(CP_ACP, 0, buff, -1, lpszDest, dwDestLen, NULL, NULL);
920 return TRUE;
921 }
922 return FALSE;
923}
WCHAR lpszDest[260]
BOOL WINAPI SHAboutInfoW(LPWSTR, DWORD)
Definition: ordinal.c:930
static unsigned char buff[32768]
Definition: fatten.c:17

◆ SHAboutInfoW()

BOOL WINAPI SHAboutInfoW ( LPWSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 930 of file ordinal.c.

931{
932 static const WCHAR szIEKey[] = { 'S','O','F','T','W','A','R','E','\\',
933 'M','i','c','r','o','s','o','f','t','\\','I','n','t','e','r','n','e','t',
934 ' ','E','x','p','l','o','r','e','r','\0' };
935 static const WCHAR szWinNtKey[] = { 'S','O','F','T','W','A','R','E','\\',
936 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s',' ',
937 'N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\0' };
938 static const WCHAR szWinKey[] = { 'S','O','F','T','W','A','R','E','\\',
939 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
940 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\0' };
941 static const WCHAR szRegKey[] = { 'S','O','F','T','W','A','R','E','\\',
942 'M','i','c','r','o','s','o','f','t','\\','I','n','t','e','r','n','e','t',
943 ' ','E','x','p','l','o','r','e','r','\\',
944 'R','e','g','i','s','t','r','a','t','i','o','n','\0' };
945 static const WCHAR szVersion[] = { 'V','e','r','s','i','o','n','\0' };
946 static const WCHAR szCustomized[] = { 'C','u','s','t','o','m','i','z','e','d',
947 'V','e','r','s','i','o','n','\0' };
948 static const WCHAR szOwner[] = { 'R','e','g','i','s','t','e','r','e','d',
949 'O','w','n','e','r','\0' };
950 static const WCHAR szOrg[] = { 'R','e','g','i','s','t','e','r','e','d',
951 'O','r','g','a','n','i','z','a','t','i','o','n','\0' };
952 static const WCHAR szProduct[] = { 'P','r','o','d','u','c','t','I','d','\0' };
953 static const WCHAR szUpdate[] = { 'I','E','A','K',
954 'U','p','d','a','t','e','U','r','l','\0' };
955 static const WCHAR szHelp[] = { 'I','E','A','K',
956 'H','e','l','p','S','t','r','i','n','g','\0' };
957 WCHAR buff[2084];
958 HKEY hReg;
959 DWORD dwType, dwLen;
960
961 TRACE("(%p,%d)\n", lpszDest, dwDestLen);
962
963 if (!lpszDest)
964 return FALSE;
965
966 *lpszDest = '\0';
967
968 /* Try the NT key first, followed by 95/98 key */
969 if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, szWinNtKey, 0, KEY_READ, &hReg) &&
970 RegOpenKeyExW(HKEY_LOCAL_MACHINE, szWinKey, 0, KEY_READ, &hReg))
971 return FALSE;
972
973 /* OS Version */
974 buff[0] = '\0';
975 dwLen = 30;
976 if (!SHGetValueW(HKEY_LOCAL_MACHINE, szIEKey, szVersion, &dwType, buff, &dwLen))
977 {
978 DWORD dwStrLen = strlenW(buff);
979 dwLen = 30 - dwStrLen;
981 szCustomized, &dwType, buff+dwStrLen, &dwLen);
982 }
983 StrCatBuffW(lpszDest, buff, dwDestLen);
984
985 /* ~Registered Owner */
986 buff[0] = '~';
987 dwLen = 256;
988 if (SHGetValueW(hReg, szOwner, 0, &dwType, buff+1, &dwLen))
989 buff[1] = '\0';
990 StrCatBuffW(lpszDest, buff, dwDestLen);
991
992 /* ~Registered Organization */
993 dwLen = 256;
994 if (SHGetValueW(hReg, szOrg, 0, &dwType, buff+1, &dwLen))
995 buff[1] = '\0';
996 StrCatBuffW(lpszDest, buff, dwDestLen);
997
998 /* FIXME: Not sure where this number comes from */
999 buff[0] = '~';
1000 buff[1] = '0';
1001 buff[2] = '\0';
1002 StrCatBuffW(lpszDest, buff, dwDestLen);
1003
1004 /* ~Product Id */
1005 dwLen = 256;
1006 if (SHGetValueW(HKEY_LOCAL_MACHINE, szRegKey, szProduct, &dwType, buff+1, &dwLen))
1007 buff[1] = '\0';
1008 StrCatBuffW(lpszDest, buff, dwDestLen);
1009
1010 /* ~IE Update Url */
1011 dwLen = 2048;
1012 if(SHGetValueW(HKEY_LOCAL_MACHINE, szWinKey, szUpdate, &dwType, buff+1, &dwLen))
1013 buff[1] = '\0';
1014 StrCatBuffW(lpszDest, buff, dwDestLen);
1015
1016 /* ~IE Help String */
1017 dwLen = 256;
1018 if(SHGetValueW(hReg, szHelp, 0, &dwType, buff+1, &dwLen))
1019 buff[1] = '\0';
1020 StrCatBuffW(lpszDest, buff, dwDestLen);
1021
1022 RegCloseKey(hReg);
1023 return TRUE;
1024}
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3353
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1236
LPWSTR WINAPI StrCatBuffW(LPWSTR lpszStr, LPCWSTR lpszCat, INT cchMax)
Definition: string.c:1436
static LPCWSTR szVersion
Definition: asmcache.c:748
#define KEY_READ
Definition: nt_native.h:1023
#define strlenW(s)
Definition: unicode.h:28

Referenced by SHAboutInfoA().

◆ SHAllocShared()

HANDLE WINAPI SHAllocShared ( LPCVOID  lpvData,
DWORD  dwSize,
DWORD  dwProcId 
)

Definition at line 165 of file ordinal.c.

166{
167 HANDLE hMap;
168 LPVOID pMapped;
169 HANDLE hRet = NULL;
170
171 TRACE("(%p,%d,%d)\n", lpvData, dwSize, dwProcId);
172
173 /* Create file mapping of the correct length */
175 dwSize + sizeof(dwSize), NULL);
176 if (!hMap)
177 return hRet;
178
179 /* Get a view in our process address space */
180 pMapped = MapViewOfFile(hMap, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0);
181
182 if (pMapped)
183 {
184 /* Write size of data, followed by the data, to the view */
185 *((DWORD*)pMapped) = dwSize;
186 if (lpvData)
187 memcpy((char *) pMapped + sizeof(dwSize), lpvData, dwSize);
188
189 /* Release view. All further views mapped will be opaque */
190 UnmapViewOfFile(pMapped);
191 hRet = SHMapHandle(hMap, GetCurrentProcessId(), dwProcId,
193 }
194
195 CloseHandle(hMap);
196 return hRet;
197}
#define UnmapViewOfFile
Definition: compat.h:746
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
#define FILE_MAP_READ
Definition: compat.h:776
#define MapViewOfFile
Definition: compat.h:745
HANDLE WINAPI SHMapHandle(HANDLE hShared, DWORD dwSrcProcId, DWORD dwDstProcId, DWORD dwAccess, DWORD dwOptions)
Definition: ordinal.c:94
HANDLE NTAPI CreateFileMappingA(IN HANDLE hFile, IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes, IN DWORD flProtect, IN DWORD dwMaximumSizeHigh, IN DWORD dwMaximumSizeLow, IN LPCSTR lpName)
Definition: filemap.c:23
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
#define FILE_MAP_WRITE
Definition: winbase.h:154
#define FILE_MAP_ALL_ACCESS
Definition: winbase.h:156
DWORD WINAPI GetCurrentProcessId(void)
Definition: proc.c:1158
#define DUPLICATE_SAME_ACCESS

Referenced by CreateNotificationParam(), CreateRegistrationParam(), init_pointers(), MakeSharedPacket(), and SHELL_ArgifyW().

◆ SHBrowseForFolderWrapW()

LPITEMIDLIST WINAPI SHBrowseForFolderWrapW ( LPBROWSEINFOW  lpBi)

Definition at line 3375 of file ordinal.c.

3376{
3377 return SHBrowseForFolderW(lpBi);
3378}
LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
Definition: brsfolder.c:1406

◆ SHChangeNotifyWrap()

void WINAPI SHChangeNotifyWrap ( LONG  wEventId,
UINT  uFlags,
LPCVOID  dwItem1,
LPCVOID  dwItem2 
)

Definition at line 4927 of file ordinal.c.

4928{
4929 SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2);
4930}
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
UINT uFlags
Definition: api.c:59

◆ SHCheckMenuItem()

DWORD WINAPI SHCheckMenuItem ( HMENU  hMenu,
UINT  uID,
BOOL  bCheck 
)

Definition at line 1796 of file ordinal.c.

1797{
1798 TRACE("%p, %u, %d\n", hMenu, uID, bCheck);
1799 return CheckMenuItem(hMenu, uID, bCheck ? MF_CHECKED : MF_UNCHECKED);
1800}
#define MF_CHECKED
Definition: winuser.h:132
#define MF_UNCHECKED
Definition: winuser.h:204
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)

Referenced by CInternetToolbar::OnContextMenu(), and CShellBrowser::UpdateViewMenu().

◆ SHCoCreateInstanceAC()

HRESULT WINAPI SHCoCreateInstanceAC ( REFCLSID  rclsid,
LPUNKNOWN  pUnkOuter,
DWORD  dwClsContext,
REFIID  iid,
LPVOID ppv 
)

Definition at line 4459 of file ordinal.c.

4461{
4462 return CoCreateInstance(rclsid, pUnkOuter, dwClsContext, iid, ppv);
4463}
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325

◆ SHCreatePropertyBagOnRegKey()

HRESULT WINAPI SHCreatePropertyBagOnRegKey ( HKEY  hKey,
LPCWSTR  subkey,
DWORD  grfMode,
REFIID  riid,
void **  ppv 
)

Definition at line 5098 of file ordinal.c.

5100{
5101 FIXME("%p %s %d %s %p STUB\n", hKey, debugstr_w(subkey), grfMode,
5103
5104 return E_NOTIMPL;
5105}
#define E_NOTIMPL
Definition: ddrawi.h:99
FxAutoRegKey hKey

Referenced by SHPropertyBag_OnRegKey().

◆ SHCreateShellPalette()

HPALETTE WINAPI SHCreateShellPalette ( HDC  hdc)

Definition at line 4316 of file ordinal.c.

4317{
4318 FIXME("stub\n");
4319 return CreateHalftonePalette(hdc);
4320}
HDC hdc
Definition: main.c:9
HPALETTE WINAPI CreateHalftonePalette(_In_opt_ HDC)

◆ SHCreateWorkerWindowA()

HWND WINAPI SHCreateWorkerWindowA ( WNDPROC  wndProc,
HWND  hWndParent,
DWORD  dwExStyle,
DWORD  dwStyle,
HMENU  hMenu,
LONG_PTR  wnd_extra 
)

Definition at line 2633 of file ordinal.c.

2635{
2636 static const char szClass[] = "WorkerA";
2637 WNDCLASSA wc;
2638 HWND hWnd;
2639
2640 TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2641 wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2642
2643 /* Create Window class */
2644 wc.style = 0;
2646 wc.cbClsExtra = 0;
2647 wc.cbWndExtra = sizeof(LONG_PTR);
2649 wc.hIcon = NULL;
2651 wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2652 wc.lpszMenuName = NULL;
2653 wc.lpszClassName = szClass;
2654
2655 SHRegisterClassA(&wc);
2656
2657 hWnd = CreateWindowExA(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2658 hWndParent, hMenu, shlwapi_hInstance, 0);
2659 if (hWnd)
2660 {
2661 SetWindowLongPtrW(hWnd, 0, wnd_extra);
2663 }
2664
2665 return hWnd;
2666}
HWND hWnd
Definition: settings.c:17
HINSTANCE shlwapi_hInstance
Definition: shlwapi_main.c:33
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
Definition: ordinal.c:1813
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imm32.c:185
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
HBRUSH hbrBackground
Definition: winuser.h:3169
HICON hIcon
Definition: winuser.h:3167
HINSTANCE hInstance
Definition: winuser.h:3166
HCURSOR hCursor
Definition: winuser.h:3168
int cbWndExtra
Definition: winuser.h:3165
UINT style
Definition: winuser.h:3162
LPCSTR lpszMenuName
Definition: winuser.h:3170
LPCSTR lpszClassName
Definition: winuser.h:3171
WNDPROC lpfnWndProc
Definition: winuser.h:3163
int cbClsExtra
Definition: winuser.h:3164
#define LONG_PTR
Definition: treelist.c:79
#define GWLP_WNDPROC
Definition: treelist.c:66
#define SetWindowLongPtrA
Definition: winuser.h:5344
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IDC_ARROW
Definition: winuser.h:687
#define SetWindowLongPtrW
Definition: winuser.h:5345
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2059
#define COLOR_BTNFACE
Definition: winuser.h:927

Referenced by init_pointers(), and SHCreateWorkerWindowW().

◆ SHCreateWorkerWindowW()

HWND WINAPI SHCreateWorkerWindowW ( WNDPROC  wndProc,
HWND  hWndParent,
DWORD  dwExStyle,
DWORD  dwStyle,
HMENU  hMenu,
LONG_PTR  wnd_extra 
)

Definition at line 2921 of file ordinal.c.

2923{
2924 static const WCHAR szClass[] = { 'W', 'o', 'r', 'k', 'e', 'r', 'W', 0 };
2925 WNDCLASSW wc;
2926 HWND hWnd;
2927
2928 TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2929 wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2930
2931 /* If our OS is natively ANSI, use the ANSI version */
2932 if (GetVersion() & 0x80000000) /* not NT */
2933 {
2934 TRACE("fallback to ANSI, ver 0x%08x\n", GetVersion());
2935 return SHCreateWorkerWindowA(wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2936 }
2937
2938 /* Create Window class */
2939 wc.style = 0;
2941 wc.cbClsExtra = 0;
2942 wc.cbWndExtra = sizeof(LONG_PTR);
2944 wc.hIcon = NULL;
2946 wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2947 wc.lpszMenuName = NULL;
2948 wc.lpszClassName = szClass;
2949
2950 SHRegisterClassW(&wc);
2951
2952 hWnd = CreateWindowExW(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2953 hWndParent, hMenu, shlwapi_hInstance, 0);
2954 if (hWnd)
2955 {
2956 SetWindowLongPtrW(hWnd, 0, wnd_extra);
2958 }
2959
2960 return hWnd;
2961}
DWORD WINAPI SHRegisterClassW(WNDCLASSW *lpWndClass)
Definition: ordinal.c:2513
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:2633
DWORD WINAPI GetVersion()
Definition: redirtest.c:5
LPCWSTR lpszClassName
Definition: winuser.h:3184
LPCWSTR lpszMenuName
Definition: winuser.h:3183
HBRUSH hbrBackground
Definition: winuser.h:3182
HICON hIcon
Definition: winuser.h:3180
HINSTANCE hInstance
Definition: winuser.h:3179
int cbClsExtra
Definition: winuser.h:3177
UINT style
Definition: winuser.h:3175
WNDPROC lpfnWndProc
Definition: winuser.h:3176
int cbWndExtra
Definition: winuser.h:3178
HCURSOR hCursor
Definition: winuser.h:3181
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
Definition: cursoricon.c:2074
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)

Referenced by CToolbarProxy::Initialize(), CBrandBand::SetSite(), CInternetToolbar::SetSite(), SHCreateDefaultWorkerWindow(), and CUserNotification::Show().

◆ SHDefExtractIconWrapW()

UINT WINAPI SHDefExtractIconWrapW ( LPCWSTR  pszIconFile,
int  iIndex,
UINT  uFlags,
HICON phiconLarge,
HICON phiconSmall,
UINT  nIconSize 
)

Definition at line 3517 of file ordinal.c.

3519{
3520 return SHDefExtractIconW(pszIconFile, iIndex, uFlags, phiconLarge, phiconSmall, nIconSize);
3521}
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
Definition: iconcache.cpp:1026

◆ SHDefWindowProc()

LRESULT CALLBACK SHDefWindowProc ( HWND  hWnd,
UINT  uMessage,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 2586 of file ordinal.c.

2587{
2588 if (IsWindowUnicode(hWnd))
2589 return DefWindowProcW(hWnd, uMessage, wParam, lParam);
2590 return DefWindowProcA(hWnd, uMessage, wParam, lParam);
2591}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
BOOL WINAPI IsWindowUnicode(_In_ HWND)

◆ ShellExecuteExWrapW()

BOOL WINAPI ShellExecuteExWrapW ( LPSHELLEXECUTEINFOW  lpExecInfo)

Definition at line 3395 of file ordinal.c.

3396{
3397 return ShellExecuteExW(lpExecInfo);
3398}
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
Definition: shlexec.cpp:2368

◆ ShellMessageBoxWrapW()

INT WINAPIV ShellMessageBoxWrapW ( HINSTANCE  hInstance,
HWND  hWnd,
LPCWSTR  lpText,
LPCWSTR  lpCaption,
UINT  uType,
  ... 
)

Definition at line 4862 of file ordinal.c.

4864{
4865 WCHAR *szText = NULL, szTitle[100];
4866 LPCWSTR pszText, pszTitle = szTitle;
4867 LPWSTR pszTemp;
4869 int ret;
4870
4871 __ms_va_start(args, uType);
4872
4873 TRACE("(%p,%p,%p,%p,%08x)\n", hInstance, hWnd, lpText, lpCaption, uType);
4874
4875 if (IS_INTRESOURCE(lpCaption))
4877 else
4878 pszTitle = lpCaption;
4879
4880 if (IS_INTRESOURCE(lpText))
4881 {
4882 const WCHAR *ptr;
4883 UINT len = LoadStringW(hInstance, LOWORD(lpText), (LPWSTR)&ptr, 0);
4884
4885 if (len)
4886 {
4887 szText = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
4888 if (szText) LoadStringW(hInstance, LOWORD(lpText), szText, len + 1);
4889 }
4890 pszText = szText;
4891 if (!pszText) {
4892 WARN("Failed to load id %d\n", LOWORD(lpText));
4894 return 0;
4895 }
4896 }
4897 else
4898 pszText = lpText;
4899
4901 pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args);
4902
4904
4905#ifdef __REACTOS__
4906 uType |= MB_SETFOREGROUND;
4907#endif
4908 ret = MessageBoxW(hWnd, pszTemp, pszTitle, uType);
4909
4910 HeapFree(GetProcessHeap(), 0, szText);
4911 LocalFree(pszTemp);
4912 return ret;
4913}
#define ARRAY_SIZE(A)
Definition: main.h:33
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
TCHAR szTitle[MAX_LOADSTRING]
Definition: magnifier.c:35
unsigned int UINT
Definition: ndis.h:50
#define LOWORD(l)
Definition: pedump.c:82
#define args
Definition: format.c:66
Definition: match.c:390
#define FORMAT_MESSAGE_FROM_STRING
Definition: winbase.h:421
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:419
#define MB_SETFOREGROUND
Definition: winuser.h:813
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define IS_INTRESOURCE(i)
Definition: winuser.h:580
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

◆ SHEnableMenuItem()

UINT WINAPI SHEnableMenuItem ( HMENU  hMenu,
UINT  wItemID,
BOOL  bEnable 
)

Definition at line 1777 of file ordinal.c.

1778{
1779 TRACE("%p, %u, %d\n", hMenu, wItemID, bEnable);
1780 return EnableMenuItem(hMenu, wItemID, bEnable ? MF_ENABLED : MF_GRAYED);
1781}
_In_ BOOL bEnable
Definition: winddi.h:3426
#define MF_ENABLED
Definition: winuser.h:128
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define MF_GRAYED
Definition: winuser.h:129

Referenced by CInternetToolbar::OnContextMenu(), CShellBrowser::OnInitMenuPopup(), CShellBrowser::UpdateGotoMenu(), and CShellBrowser::UpdateViewMenu().

◆ SHFileOperationWrapW()

INT WINAPI SHFileOperationWrapW ( LPSHFILEOPSTRUCTW  lpFileOp)

Definition at line 3405 of file ordinal.c.

3406{
3407 return SHFileOperationW(lpFileOp);
3408}
int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
Definition: shlfileop.cpp:2035

◆ SHFillRectClr()

DWORD WINAPI SHFillRectClr ( HDC  hDC,
LPCRECT  pRect,
COLORREF  cRef 
)

Definition at line 2129 of file ordinal.c.

2130{
2131 COLORREF cOldColor = SetBkColor(hDC, cRef);
2132 ExtTextOutA(hDC, 0, 0, ETO_OPAQUE, pRect, 0, 0, 0);
2133 SetBkColor(hDC, cOldColor);
2134 return 0;
2135}
static HDC hDC
Definition: 3dtext.c:33
DWORD COLORREF
Definition: windef.h:300
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:999
BOOL WINAPI ExtTextOutA(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define ETO_OPAQUE
Definition: wingdi.h:647

◆ SHFlushSFCacheWrap()

BOOL WINAPI SHFlushSFCacheWrap ( void  )

Definition at line 3925 of file ordinal.c.

3925 {
3926 FIXME(": stub\n");
3927 return TRUE;
3928}

◆ SHFormatDateTimeA()

INT WINAPI SHFormatDateTimeA ( const FILETIME UNALIGNED fileTime,
DWORD flags,
LPSTR  buf,
UINT  size 
)

Definition at line 5218 of file ordinal.c.

5220{
5221 WCHAR *bufW;
5222 INT retval;
5223
5224 if (!buf || !size)
5225 return 0;
5226
5227 bufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * size);
5228 retval = SHFormatDateTimeW(fileTime, flags, bufW, size);
5229
5230 if (retval != 0)
5231 WideCharToMultiByte(CP_ACP, 0, bufW, -1, buf, size, NULL, NULL);
5232
5233 HeapFree(GetProcessHeap(), 0, bufW);
5234 return retval;
5235}
INT WINAPI SHFormatDateTimeW(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
Definition: ordinal.c:5153
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLbitfield flags
Definition: glext.h:7161

Referenced by init_pointers().

◆ SHFormatDateTimeW()

INT WINAPI SHFormatDateTimeW ( const FILETIME UNALIGNED fileTime,
DWORD flags,
LPWSTR  buf,
UINT  size 
)

Definition at line 5153 of file ordinal.c.

5155{
5156#define SHFORMATDT_UNSUPPORTED_FLAGS (FDTF_RELATIVE | FDTF_LTRDATE | FDTF_RTLDATE | FDTF_NOAUTOREADINGORDER)
5157 DWORD fmt_flags = flags ? *flags : FDTF_DEFAULT;
5158 SYSTEMTIME st;
5159 FILETIME ft;
5160 INT ret = 0;
5161
5162 TRACE("%p %p %p %u\n", fileTime, flags, buf, size);
5163
5164 if (!buf || !size)
5165 return 0;
5166
5167 if (fmt_flags & SHFORMATDT_UNSUPPORTED_FLAGS)
5168 FIXME("ignoring some flags - 0x%08x\n", fmt_flags & SHFORMATDT_UNSUPPORTED_FLAGS);
5169
5170 FileTimeToLocalFileTime(fileTime, &ft);
5171 FileTimeToSystemTime(&ft, &st);
5172
5173 /* first of all date */
5174 if (fmt_flags & (FDTF_LONGDATE | FDTF_SHORTDATE))
5175 {
5176 static const WCHAR sep1[] = {',',' ',0};
5177 static const WCHAR sep2[] = {' ',0};
5178
5181 if (ret >= size) return ret;
5182
5183 /* add separator */
5184 if (ret < size && (fmt_flags & (FDTF_LONGTIME | FDTF_SHORTTIME)))
5185 {
5186 if ((fmt_flags & FDTF_LONGDATE) && (ret < size + 2))
5187 {
5188 lstrcatW(&buf[ret-1], sep1);
5189 ret += 2;
5190 }
5191 else
5192 {
5193 lstrcatW(&buf[ret-1], sep2);
5194 ret++;
5195 }
5196 }
5197 }
5198 /* time part */
5199 if (fmt_flags & (FDTF_LONGTIME | FDTF_SHORTTIME))
5200 {
5201 DWORD time = fmt_flags & FDTF_LONGTIME ? 0 : TIME_NOSECONDS;
5202
5203 if (ret) ret--;
5205 }
5206
5207 return ret;
5208
5209#undef SHFORMATDT_UNSUPPORTED_FLAGS
5210}
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
Definition: time.c:188
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
Definition: time.c:221
#define SHFORMATDT_UNSUPPORTED_FLAGS
INT WINAPI GetTimeFormatW(LCID lcid, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, INT cchOut)
Definition: lcformat.c:1093
INT WINAPI GetDateFormatW(LCID lcid, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpDateStr, INT cchOut)
Definition: lcformat.c:993
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
__u16 date
Definition: mkdosfs.c:8
__u16 time
Definition: mkdosfs.c:8
#define LOCALE_USER_DEFAULT
#define FDTF_SHORTTIME
Definition: shlwapi.h:2061
#define FDTF_LONGDATE
Definition: shlwapi.h:2064
#define FDTF_DEFAULT
Definition: shlwapi.h:2063
#define FDTF_LONGTIME
Definition: shlwapi.h:2065
#define FDTF_SHORTDATE
Definition: shlwapi.h:2062
#define TIME_NOSECONDS
Definition: winnls.h:278
#define DATE_LONGDATE
Definition: winnls.h:197
#define DATE_SHORTDATE
Definition: winnls.h:196

Referenced by init_pointers(), and SHFormatDateTimeA().

◆ SHFreeShared()

BOOL WINAPI SHFreeShared ( HANDLE  hShared,
DWORD  dwProcId 
)

Definition at line 311 of file ordinal.c.

312{
313 HANDLE hClose;
314
315 TRACE("(%p %d)\n", hShared, dwProcId);
316
317 if (!hShared)
318 return TRUE;
319
320 /* Get a copy of the handle for our process, closing the source handle */
321 hClose = SHMapHandle(hShared, dwProcId, GetCurrentProcessId(),
323 /* Close local copy */
324 return CloseHandle(hClose);
325}
#define DUPLICATE_CLOSE_SOURCE

Referenced by _ILReadFromSharedMemory(), CreateNotificationParam(), CreateRegistrationParam(), init_pointers(), MakeSharedPacket(), CChangeNotifyServer::OnDeliverNotification(), ParseSharedPacket(), and SHChangeNotifyRegister().

◆ SHGetAppCompatFlags()

DWORD WINAPI SHGetAppCompatFlags ( DWORD  dwUnknown)

Definition at line 4449 of file ordinal.c.

4450{
4451 FIXME("(0x%08x) stub\n", dwUnknown);
4452 return 0;
4453}

◆ SHGetCurColorRes()

DWORD WINAPI SHGetCurColorRes ( void  )

Definition at line 2019 of file ordinal.c.

2020{
2021 HDC hdc;
2022 DWORD ret;
2023
2024 TRACE("()\n");
2025
2026 hdc = GetDC(0);
2028 ReleaseDC(0, hdc);
2029 return ret;
2030}
static HDC
Definition: imagelist.c:92
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
#define PLANES
Definition: wingdi.h:721
#define BITSPIXEL
Definition: wingdi.h:720
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HDC WINAPI GetDC(_In_opt_ HWND)

Referenced by CBrandBand::SelectImage().

◆ SHGetFileInfoWrapW()

DWORD WINAPI SHGetFileInfoWrapW ( LPCWSTR  path,
DWORD  dwFileAttributes,
SHFILEINFOW psfi,
UINT  sizeofpsfi,
UINT  flags 
)

Definition at line 3354 of file ordinal.c.

3356{
3357 return SHGetFileInfoW(path, dwFileAttributes, psfi, sizeofpsfi, flags);
3358}
DWORD dwFileAttributes
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
Definition: shell32_main.c:415

◆ SHGetIniStringW()

DWORD WINAPI SHGetIniStringW ( LPCWSTR  appName,
LPCWSTR  keyName,
LPWSTR  out,
DWORD  outLen,
LPCWSTR  filename 
)

Definition at line 3292 of file ordinal.c.

3294{
3295 INT ret;
3296 WCHAR *buf;
3297
3298 TRACE("(%s,%s,%p,%08x,%s)\n", debugstr_w(appName), debugstr_w(keyName),
3299 out, outLen, debugstr_w(filename));
3300
3301 if(outLen == 0)
3302 return 0;
3303
3304 buf = HeapAlloc(GetProcessHeap(), 0, outLen * sizeof(WCHAR));
3305 if(!buf){
3306 *out = 0;
3307 return 0;
3308 }
3309
3310 ret = GetPrivateProfileStringW(appName, keyName, NULL, buf, outLen, filename);
3311 if(ret)
3312 strcpyW(out, buf);
3313 else
3314 *out = 0;
3315
3317
3318 return strlenW(out);
3319}
INT WINAPI GetPrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR def_val, LPWSTR buffer, UINT len, LPCWSTR filename)
Definition: profile.c:1142
const char * appName(const char *argv0)
Definition: loadlib.c:89
static FILE * out
Definition: regtests2xml.c:44

Referenced by init_pointers(), and SHPropertyBag_SHSetIniStringW().

◆ SHGetInverseCMAP()

HRESULT WINAPI SHGetInverseCMAP ( LPDWORD  dest,
DWORD  dwSize 
)

Definition at line 4344 of file ordinal.c.

4345{
4346 if (dwSize == 4) {
4347 FIXME(" - returning bogus address for SHGetInverseCMAP\n");
4348 *dest = (DWORD)0xabba1249;
4349 return 0;
4350 }
4351 FIXME("(%p, %#x) stub\n", dest, dwSize);
4352 return 0;
4353}
static char * dest
Definition: rtl.c:135
#define DWORD
Definition: nt_native.h:44

◆ SHGetMachineInfo()

DWORD WINAPI SHGetMachineInfo ( DWORD  dwFlags)

Definition at line 3863 of file ordinal.c.

3864{
3865 HW_PROFILE_INFOA hwInfo;
3866
3867 TRACE("(0x%08x)\n", dwFlags);
3868
3869 GetCurrentHwProfileA(&hwInfo);
3870 switch (hwInfo.dwDockInfo & (DOCKINFO_DOCKED|DOCKINFO_UNDOCKED))
3871 {
3872 case DOCKINFO_DOCKED:
3873 case DOCKINFO_UNDOCKED:
3875 default:
3876 return 0;
3877 }
3878}
BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA lpHwProfileInfo)
Definition: hwprofiles.c:28
#define DOCKINFO_DOCKED
Definition: winbase.h:247
#define DOCKINFO_UNDOCKED
Definition: winbase.h:246
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ SHGetMenuFromID()

HMENU WINAPI SHGetMenuFromID ( HMENU  hMenu,
UINT  uID 
)

Definition at line 1993 of file ordinal.c.

1994{
1996
1997 TRACE("(%p,%u)\n", hMenu, uID);
1998
1999 mi.cbSize = sizeof(mi);
2000 mi.fMask = MIIM_SUBMENU;
2001
2002 if (!GetMenuItemInfoW(hMenu, uID, FALSE, &mi))
2003 return NULL;
2004
2005 return mi.hSubMenu;
2006}
#define MIIM_SUBMENU
Definition: winuser.h:723

Referenced by CShellBrowser::BuildExplorerBandMenu(), CShellBrowser::OnInitMenuPopup(), and CShellBrowser::UpdateViewMenu().

◆ SHGetNewLinkInfoWrapW()

BOOL WINAPI SHGetNewLinkInfoWrapW ( LPCWSTR  pszLinkTo,
LPCWSTR  pszDir,
LPWSTR  pszName,
BOOL pfMustCopy,
UINT  uFlags 
)

Definition at line 3506 of file ordinal.c.

3508{
3509 return SHGetNewLinkInfoW(pszLinkTo, pszDir, pszName, pfMustCopy, uFlags);
3510}
_In_ LPCSTR pszDir
Definition: shellapi.h:581
_In_ LPCSTR _Out_ BOOL * pfMustCopy
Definition: shellapi.h:583
BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
Definition: shellord.c:2346

◆ SHGetObjectCompatFlags()

DWORD WINAPI SHGetObjectCompatFlags ( IUnknown pUnk,
const CLSID clsid 
)

Definition at line 6199 of file ordinal.c.

6200{
6201 static const WCHAR compatpathW[] =
6202 {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
6203 'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
6204 'S','h','e','l','l','C','o','m','p','a','t','i','b','i','l','i','t','y','\\',
6205 'O','b','j','e','c','t','s','\\','%','s',0};
6206 WCHAR strW[sizeof(compatpathW)/sizeof(WCHAR) + 38 /* { CLSID } */];
6207 DWORD ret, length = sizeof(strW)/sizeof(WCHAR);
6208 OLECHAR *clsid_str;
6209 HKEY key;
6210 INT i;
6211
6212 TRACE("%p %s\n", pUnk, debugstr_guid(clsid));
6213
6214 if (!pUnk && !clsid) return 0;
6215
6216 if (pUnk && !clsid)
6217 {
6218 FIXME("iface not handled\n");
6219 return 0;
6220 }
6221
6222 StringFromCLSID(clsid, &clsid_str);
6223 sprintfW(strW, compatpathW, clsid_str);
6224 CoTaskMemFree(clsid_str);
6225
6227 if (ret != ERROR_SUCCESS) return 0;
6228
6229 /* now collect flag values */
6230 ret = 0;
6231 for (i = 0; RegEnumValueW(key, i, strW, &length, NULL, NULL, NULL, NULL) == ERROR_SUCCESS; i++)
6232 {
6233 INT left, right, res, x;
6234
6235 /* search in table */
6236 left = 0;
6237 right = sizeof(objcompat_table) / sizeof(struct objcompat_entry) - 1;
6238
6239 while (right >= left) {
6240 x = (left + right) / 2;
6242 if (res == 0)
6243 {
6244 ret |= objcompat_table[x].value;
6245 break;
6246 }
6247 else if (res < 0)
6248 right = x - 1;
6249 else
6250 left = x + 1;
6251 }
6252
6253 length = sizeof(strW)/sizeof(WCHAR);
6254 }
6255
6256 return ret;
6257}
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
Definition: reg.c:2850
WCHAR OLECHAR
Definition: compat.h:2292
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
Definition: compobj.c:2412
static const struct objcompat_entry objcompat_table[]
Definition: ordinal.c:6157
GLuint res
Definition: glext.h:9613
GLdouble GLdouble right
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
WCHAR strW[12]
Definition: clipboard.c:2029
#define strcmpW(s1, s2)
Definition: unicode.h:38
#define sprintfW
Definition: unicode.h:58
Definition: copy.c:22
Definition: name.c:39
Definition: ordinal.c:6151

Referenced by init_pointers().

◆ SHGetPathFromIDListWrapW()

BOOL WINAPI SHGetPathFromIDListWrapW ( LPCITEMIDLIST  pidl,
LPWSTR  pszPath 
)

Definition at line 3385 of file ordinal.c.

3386{
3387 return SHGetPathFromIDListW(pidl, pszPath);
3388}
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1344

Referenced by _ILIsNetworkPlace().

◆ SHGetRestriction()

DWORD WINAPI SHGetRestriction ( LPCWSTR  lpSubKey,
LPCWSTR  lpSubName,
LPCWSTR  lpValue 
)

Definition at line 2696 of file ordinal.c.

2697{
2698 DWORD retval, datsize = sizeof(retval);
2699 HKEY hKey;
2700
2701 if (!lpSubKey)
2702 lpSubKey = strRegistryPolicyW;
2703
2704 retval = RegOpenKeyW(HKEY_LOCAL_MACHINE, lpSubKey, &hKey);
2705 if (retval != ERROR_SUCCESS)
2706 retval = RegOpenKeyW(HKEY_CURRENT_USER, lpSubKey, &hKey);
2707 if (retval != ERROR_SUCCESS)
2708 return 0;
2709
2710 SHGetValueW(hKey, lpSubName, lpValue, NULL, &retval, &datsize);
2712 return retval;
2713}
static const WCHAR strRegistryPolicyW[]
Definition: ordinal.c:2678

Referenced by SHRestrictionLookup().

◆ SHGetShellKey()

HKEY WINAPI SHGetShellKey ( DWORD  flags,
LPCWSTR  sub_key,
BOOL  create 
)

Definition at line 4506 of file ordinal.c.

4507{
4508#ifndef __REACTOS__
4509 enum _shellkey_flags {
4510 SHKEY_Root_HKCU = 0x1,
4511 SHKEY_Root_HKLM = 0x2,
4512 SHKEY_Key_Explorer = 0x00,
4513 SHKEY_Key_Shell = 0x10,
4514 SHKEY_Key_ShellNoRoam = 0x20,
4515 SHKEY_Key_Classes = 0x30,
4516 SHKEY_Subkey_Default = 0x0000,
4518 SHKEY_Subkey_Handlers = 0x2000,
4520 SHKEY_Subkey_Volatile = 0x4000,
4521 SHKEY_Subkey_MUICache = 0x5000,
4522 SHKEY_Subkey_FileExts = 0x6000
4523 };
4524#endif
4525
4526 static const WCHAR explorerW[] = {'S','o','f','t','w','a','r','e','\\',
4527 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4528 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
4529 'E','x','p','l','o','r','e','r','\\'};
4530 static const WCHAR shellW[] = {'S','o','f','t','w','a','r','e','\\',
4531 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4532 'S','h','e','l','l','\\'};
4533 static const WCHAR shell_no_roamW[] = {'S','o','f','t','w','a','r','e','\\',
4534 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4535 'S','h','e','l','l','N','o','R','o','a','m','\\'};
4536 static const WCHAR classesW[] = {'S','o','f','t','w','a','r','e','\\',
4537 'C','l','a','s','s','e','s','\\'};
4538
4539 static const WCHAR localized_resource_nameW[] = {'L','o','c','a',