ReactOS  0.4.15-dev-439-g292f67a
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 3446 of file ordinal.c.

◆ FDSA_FLAG_INTERNAL_ALLOC

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

Definition at line 2272 of file ordinal.c.

◆ GET_RGB

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

Definition at line 3800 of file ordinal.c.

◆ IShellBrowser_EnableModeless

#define IShellBrowser_EnableModeless   IShellBrowser_EnableModelessSB

Definition at line 3445 of file ordinal.c.

◆ IsIface

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

Definition at line 3444 of file ordinal.c.

◆ ISOS_RETURN

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

◆ OBJCOMPAT_COCREATESHELLFOLDERONLY

#define OBJCOMPAT_COCREATESHELLFOLDERONLY   0x00000100

Definition at line 5329 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_LIMITEDQI

#define OBJCOMPAT_CTXMENU_LIMITEDQI   0x00000080

Definition at line 5328 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_NOVERBS

#define OBJCOMPAT_CTXMENU_NOVERBS   0x00000040

Definition at line 5327 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_XPQCMFLAGS

#define OBJCOMPAT_CTXMENU_XPQCMFLAGS   0x00001000

Definition at line 5332 of file ordinal.c.

◆ OBJCOMPAT_NEEDSFILESYSANCESTOR

#define OBJCOMPAT_NEEDSFILESYSANCESTOR   0x00000010

Definition at line 5325 of file ordinal.c.

◆ OBJCOMPAT_NEEDSSTORAGEANCESTOR

#define OBJCOMPAT_NEEDSSTORAGEANCESTOR   0x00000200

Definition at line 5330 of file ordinal.c.

◆ OBJCOMPAT_NO_WEBVIEW

#define OBJCOMPAT_NO_WEBVIEW   0x00000002

Definition at line 5322 of file ordinal.c.

◆ OBJCOMPAT_NOIPROPERTYSTORE

#define OBJCOMPAT_NOIPROPERTYSTORE   0x00002000

Definition at line 5333 of file ordinal.c.

◆ OBJCOMPAT_NOLEGACYWEBVIEW

#define OBJCOMPAT_NOLEGACYWEBVIEW   0x00000400

Definition at line 5331 of file ordinal.c.

◆ OBJCOMPAT_NOTAFILESYSTEM

#define OBJCOMPAT_NOTAFILESYSTEM   0x00000020

Definition at line 5326 of file ordinal.c.

◆ OBJCOMPAT_OTNEEDSSFCACHE

#define OBJCOMPAT_OTNEEDSSFCACHE   0x00000001

Definition at line 5321 of file ordinal.c.

◆ OBJCOMPAT_PINDLL

#define OBJCOMPAT_PINDLL   0x00000008

Definition at line 5324 of file ordinal.c.

◆ OBJCOMPAT_UNBINDABLE

#define OBJCOMPAT_UNBINDABLE   0x00000004

Definition at line 5323 of file ordinal.c.

◆ SHELL_NO_POLICY

#define SHELL_NO_POLICY   0xffffffff

Definition at line 2672 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 4773 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 3988 of file ordinal.c.

3989 {
3990  return CLSIDFromString((LPCOLESTR)idstr, id);
3991 }
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338

◆ ColorAdjustLuma()

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

Definition at line 3684 of file ordinal.c.

3685 {
3686  TRACE("(0x%8x,%d,%d)\n", cRGB, dwLuma, bUnknown);
3687 
3688  if (dwLuma)
3689  {
3690  WORD wH, wL, wS;
3691 
3692  ColorRGBToHLS(cRGB, &wH, &wL, &wS);
3693 
3694  FIXME("Ignoring luma adjustment\n");
3695 
3696  /* FIXME: The adjustment is not linear */
3697 
3698  cRGB = ColorHLSToRGB(wH, wL, wS);
3699  }
3700  return cRGB;
3701 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define TRACE(s)
Definition: solgame.cpp:4
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
Definition: ordinal.c:4220
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
Definition: ordinal.c:3818
unsigned short WORD
Definition: ntddk_ex.h:93

◆ ColorHLSToRGB()

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

Definition at line 3818 of file ordinal.c.

3819 {
3820  WORD wRed;
3821 
3822  if (wSaturation)
3823  {
3824  WORD wGreen, wBlue, wMid1, wMid2;
3825 
3826  if (wLuminosity > 120)
3827  wMid2 = wSaturation + wLuminosity - (wSaturation * wLuminosity + 120) / 240;
3828  else
3829  wMid2 = ((wSaturation + 240) * wLuminosity + 120) / 240;
3830 
3831  wMid1 = wLuminosity * 2 - wMid2;
3832 
3833  wRed = GET_RGB(wHue + 80);
3834  wGreen = GET_RGB(wHue);
3835  wBlue = GET_RGB(wHue - 80);
3836 
3837  return RGB(wRed, wGreen, wBlue);
3838  }
3839 
3840  wRed = wLuminosity * 255 / 240;
3841  return RGB(wRed, wRed, wRed);
3842 }
#define RGB(r, g, b)
Definition: precomp.h:62
#define GET_RGB(h)
Definition: ordinal.c:3800
unsigned short WORD
Definition: ntddk_ex.h:93

Referenced by ColorAdjustLuma().

◆ ColorRGBToHLS()

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

Definition at line 4220 of file ordinal.c.

4222 {
4223  int wR, wG, wB, wMax, wMin, wHue, wLuminosity, wSaturation;
4224 
4225  TRACE("(%08x,%p,%p,%p)\n", cRGB, pwHue, pwLuminance, pwSaturation);
4226 
4227  wR = GetRValue(cRGB);
4228  wG = GetGValue(cRGB);
4229  wB = GetBValue(cRGB);
4230 
4231  wMax = max(wR, max(wG, wB));
4232  wMin = min(wR, min(wG, wB));
4233 
4234  /* Luminosity */
4235  wLuminosity = ((wMax + wMin) * 240 + 255) / 510;
4236 
4237  if (wMax == wMin)
4238  {
4239  /* Achromatic case */
4240  wSaturation = 0;
4241  /* Hue is now unrepresentable, but this is what native returns... */
4242  wHue = 160;
4243  }
4244  else
4245  {
4246  /* Chromatic case */
4247  int wDelta = wMax - wMin, wRNorm, wGNorm, wBNorm;
4248 
4249  /* Saturation */
4250  if (wLuminosity <= 120)
4251  wSaturation = ((wMax + wMin)/2 + wDelta * 240) / (wMax + wMin);
4252  else
4253  wSaturation = ((510 - wMax - wMin)/2 + wDelta * 240) / (510 - wMax - wMin);
4254 
4255  /* Hue */
4256  wRNorm = (wDelta/2 + wMax * 40 - wR * 40) / wDelta;
4257  wGNorm = (wDelta/2 + wMax * 40 - wG * 40) / wDelta;
4258  wBNorm = (wDelta/2 + wMax * 40 - wB * 40) / wDelta;
4259 
4260  if (wR == wMax)
4261  wHue = wBNorm - wGNorm;
4262  else if (wG == wMax)
4263  wHue = 80 + wRNorm - wBNorm;
4264  else
4265  wHue = 160 + wGNorm - wRNorm;
4266  if (wHue < 0)
4267  wHue += 240;
4268  else if (wHue > 240)
4269  wHue -= 240;
4270  }
4271  if (pwHue)
4272  *pwHue = wHue;
4273  if (pwLuminance)
4274  *pwLuminance = wLuminosity;
4275  if (pwSaturation)
4276  *pwSaturation = wSaturation;
4277 }
#define max(a, b)
Definition: svc.c:63
#define GetRValue(quad)
Definition: precomp.h:64
#define GetBValue(quad)
Definition: precomp.h:66
#define GetGValue(quad)
Definition: precomp.h:65
#define TRACE(s)
Definition: solgame.cpp:4
#define min(a, b)
Definition: monoChain.cc:55

Referenced by ColorAdjustLuma().

◆ ConnectToConnectionPoint()

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

Definition at line 1186 of file ordinal.c.

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

Referenced by init_pointers().

◆ ConvertHue()

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

Definition at line 3785 of file ordinal.c.

3786 {
3787  wHue = wHue > 240 ? wHue - 240 : wHue < 0 ? wHue + 240 : wHue;
3788 
3789  if (wHue > 160)
3790  return wMid1;
3791  else if (wHue > 120)
3792  wHue = 160 - wHue;
3793  else if (wHue > 40)
3794  return wMid2;
3795 
3796  return ((wHue * (wMid2 - wMid1) + 20) / 40) + wMid1;
3797 }

◆ DragQueryFileWrapW()

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

Definition at line 3358 of file ordinal.c.

3359 {
3360  return DragQueryFileW(hDrop, lFile, lpszFile, lLength);
3361 }
UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszwFile, UINT lLength)
Definition: shellole.c:627

◆ ExtractIconWrapW()

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

Definition at line 3590 of file ordinal.c.

3592 {
3593  return ExtractIconW(hInstance, lpszExeFileName, nIconIndex);
3594 }
HICON WINAPI ExtractIconW(HINSTANCE hInstance, LPCWSTR lpszFile, UINT nIconIndex)
Definition: shell32_main.c:881
HINSTANCE hInstance
Definition: charmap.c:20

◆ FDSA_DeleteItem()

BOOL WINAPI FDSA_DeleteItem ( FDSA_info info,
DWORD  where 
)

Definition at line 2361 of file ordinal.c.

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

◆ FDSA_Destroy()

BOOL WINAPI FDSA_Destroy ( FDSA_info info)

Definition at line 2305 of file ordinal.c.

2306 {
2307  TRACE("(%p)\n", info);
2308 
2309  if(info->flags & FDSA_FLAG_INTERNAL_ALLOC)
2310  {
2311  HeapFree(GetProcessHeap(), 0, info->mem);
2312  return FALSE;
2313  }
2314 
2315  return TRUE;
2316 }
#define TRUE
Definition: types.h:120
#define FDSA_FLAG_INTERNAL_ALLOC
Definition: ordinal.c:2272
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:404
#define HeapFree(x, y, z)
Definition: compat.h:403

◆ FDSA_Initialize()

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

Definition at line 2279 of file ordinal.c.

2281 {
2282  TRACE("(0x%08x 0x%08x %p %p 0x%08x)\n", block_size, inc, info, mem, init_blocks);
2283 
2284  if(inc == 0)
2285  inc = 1;
2286 
2287  if(mem)
2288  memset(mem, 0, block_size * init_blocks);
2289 
2290  info->num_items = 0;
2291  info->inc = inc;
2292  info->mem = mem;
2293  info->blocks_alloced = init_blocks;
2294  info->block_size = block_size;
2295  info->flags = 0;
2296 
2297  return TRUE;
2298 }
#define TRUE
Definition: types.h:120
static DWORD block_size(DWORD block)
Definition: jsutils.c:66
#define TRACE(s)
Definition: solgame.cpp:4
Definition: mem.c:156
#define memset(x, y, z)
Definition: compat.h:39

◆ FDSA_InsertItem()

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

Definition at line 2323 of file ordinal.c.

2324 {
2325  TRACE("(%p 0x%08x %p)\n", info, where, block);
2326  if(where > info->num_items)
2327  where = info->num_items;
2328 
2329  if(info->num_items >= info->blocks_alloced)
2330  {
2331  DWORD size = (info->blocks_alloced + info->inc) * info->block_size;
2332  if(info->flags & 0x1)
2334  else
2335  {
2336  void *old_mem = info->mem;
2338  memcpy(info->mem, old_mem, info->blocks_alloced * info->block_size);
2339  }
2340  info->blocks_alloced += info->inc;
2341  info->flags |= 0x1;
2342  }
2343 
2344  if(where < info->num_items)
2345  {
2346  memmove((char*)info->mem + (where + 1) * info->block_size,
2347  (char*)info->mem + where * info->block_size,
2348  (info->num_items - where) * info->block_size);
2349  }
2350  memcpy((char*)info->mem + where * info->block_size, block, info->block_size);
2351 
2352  info->num_items++;
2353  return where;
2354 }
static unsigned int block
Definition: xmlmemory.c:118
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3706
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
#define GetProcessHeap()
Definition: compat.h:404
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
unsigned long DWORD
Definition: ntddk_ex.h:95
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define HeapReAlloc
Definition: compat.h:402
#define HEAP_ZERO_MEMORY
Definition: compat.h:123

◆ FixSlashesAndColonW()

VOID WINAPI FixSlashesAndColonW ( LPWSTR  lpwstr)

Definition at line 4401 of file ordinal.c.

4402 {
4403  while (*lpwstr)
4404  {
4405  if (*lpwstr == '/')
4406  *lpwstr = '\\';
4407  lpwstr++;
4408  }
4409 }

◆ GetAcceptLanguagesA()

HRESULT WINAPI GetAcceptLanguagesA ( LPSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 570 of file ordinal.c.

571 {
572  WCHAR *langbufW;
573  DWORD buflenW, convlen;
574  HRESULT retval;
575 
576  TRACE("(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
577 
578  if(!langbuf || !buflen || !*buflen) return E_FAIL;
579 
580  buflenW = *buflen;
581  langbufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * buflenW);
582  retval = GetAcceptLanguagesW(langbufW, &buflenW);
583 
584  if (retval == S_OK)
585  {
586  convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf, *buflen, NULL, NULL);
587  convlen--; /* do not count the terminating 0 */
588  }
589  else /* copy partial string anyway */
590  {
591  convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, *buflen, langbuf, *buflen, NULL, NULL);
592  if (convlen < *buflen)
593  {
594  langbuf[convlen] = 0;
595  convlen--; /* do not count the terminating 0 */
596  }
597  else
598  {
599  convlen = *buflen;
600  }
601  }
602  *buflen = buflenW ? convlen : 0;
603 
604  HeapFree(GetProcessHeap(), 0, langbufW);
605  return retval;
606 }
#define WideCharToMultiByte
Definition: compat.h:101
#define CP_ACP
Definition: compat.h:99
#define E_FAIL
Definition: ddrawi.h:102
smooth NULL
Definition: ftsmooth.c:416
HRESULT WINAPI GetAcceptLanguagesW(LPWSTR langbuf, LPDWORD buflen)
Definition: ordinal.c:511
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:404
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:78
unsigned long DWORD
Definition: ntddk_ex.h:95
#define S_OK
Definition: intsafe.h:59
#define HeapFree(x, y, z)
Definition: compat.h:403

Referenced by init_pointers().

◆ GetAcceptLanguagesW()

HRESULT WINAPI GetAcceptLanguagesW ( LPWSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 511 of file ordinal.c.

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

Referenced by GetAcceptLanguagesA().

◆ GetFileVersionInfoSizeWrapW()

DWORD WINAPI GetFileVersionInfoSizeWrapW ( LPCWSTR  filename,
LPDWORD  handle 
)

Definition at line 3417 of file ordinal.c.

3418 {
3420 }
const char * filename
Definition: ioapi.h:135
DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR filename, LPDWORD handle)
Definition: version.c:611

◆ GetFileVersionInfoWrapW()

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

Definition at line 3427 of file ordinal.c.

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

◆ GetMenuPosFromID()

INT WINAPI GetMenuPosFromID ( HMENU  hMenu,
UINT  wID 
)

Definition at line 4364 of file ordinal.c.

4365 {
4366  MENUITEMINFOW mi;
4367  INT nCount = GetMenuItemCount(hMenu), nIter = 0;
4368 
4369  TRACE("%p %u\n", hMenu, wID);
4370 
4371  while (nIter < nCount)
4372  {
4373  mi.cbSize = sizeof(mi);
4374  mi.fMask = MIIM_ID;
4375  if (GetMenuItemInfoW(hMenu, nIter, TRUE, &mi) && mi.wID == wID)
4376  {
4377  TRACE("ret %d\n", nIter);
4378  return nIter;
4379  }
4380  nIter++;
4381  }
4382 
4383  return -1;
4384 }
#define TRUE
Definition: types.h:120
static MONITORINFO mi
Definition: win.c:7339
int32_t INT
Definition: typedefs.h:57
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
#define MIIM_ID
Definition: winuser.h:717
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
#define TRACE(s)
Definition: solgame.cpp:4
DWORD cbSize
Definition: winuser.h:3759

Referenced by SHMenuIndexFromID().

◆ GetOpenFileNameWrapW()

BOOL WINAPI GetOpenFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3759 of file ordinal.c.

3760 {
3761  return GetOpenFileNameW(ofn);
3762 }
OPENFILENAME ofn
Definition: main.cpp:37
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
Definition: filedlg.c:4577

◆ GetSaveFileNameWrapW()

BOOL WINAPI GetSaveFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3708 of file ordinal.c.

3709 {
3710  return GetSaveFileNameW(ofn);
3711 }
OPENFILENAME ofn
Definition: main.cpp:37
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
Definition: filedlg.c:4642

◆ GetShellSecurityDescriptor()

PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor ( const PSHELL_USER_PERMISSION apUserPerm,
int  cUserPerm 
)

Definition at line 4911 of file ordinal.c.

4912 {
4913  PSID *sidlist;
4914  PSID cur_user = NULL;
4915  BYTE tuUser[2000];
4916  DWORD acl_size;
4917  int sid_count, i;
4918  PSECURITY_DESCRIPTOR psd = NULL;
4919 
4920  TRACE("%p %d\n", apUserPerm, cUserPerm);
4921 
4922  if (apUserPerm == NULL || cUserPerm <= 0)
4923  return NULL;
4924 
4925  sidlist = HeapAlloc(GetProcessHeap(), 0, cUserPerm * sizeof(PSID));
4926  if (!sidlist)
4927  return NULL;
4928 
4929  acl_size = sizeof(ACL);
4930 
4931  for(sid_count = 0; sid_count < cUserPerm; sid_count++)
4932  {
4933  static SHELL_USER_SID null_sid = {{SECURITY_NULL_SID_AUTHORITY}, 0, 0};
4934  PSHELL_USER_PERMISSION perm = apUserPerm[sid_count];
4935  PSHELL_USER_SID sid = &perm->susID;
4936  PSID pSid;
4937  BOOL ret = TRUE;
4938 
4939  if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID)))
4940  { /* current user's SID */
4941  if (!cur_user)
4942  {
4943  HANDLE Token;
4944  DWORD bufsize = sizeof(tuUser);
4945 
4947  if (ret)
4948  {
4949  ret = GetTokenInformation(Token, TokenUser, (void*)tuUser, bufsize, &bufsize );
4950  if (ret)
4951  cur_user = ((PTOKEN_USER)tuUser)->User.Sid;
4952  CloseHandle(Token);
4953  }
4954  }
4955  pSid = cur_user;
4956  } else if (sid->dwUserID==0) /* one sub-authority */
4957  ret = AllocateAndInitializeSid(&sid->sidAuthority, 1, sid->dwUserGroupID, 0,
4958  0, 0, 0, 0, 0, 0, &pSid);
4959  else
4960  ret = AllocateAndInitializeSid(&sid->sidAuthority, 2, sid->dwUserGroupID, sid->dwUserID,
4961  0, 0, 0, 0, 0, 0, &pSid);
4962  if (!ret)
4963  goto free_sids;
4964 
4965  sidlist[sid_count] = pSid;
4966  /* increment acl_size (1 ACE for non-inheritable and 2 ACEs for inheritable records */
4967  acl_size += (sizeof(ACCESS_ALLOWED_ACE)-sizeof(DWORD) + GetLengthSid(pSid)) * (perm->fInherit ? 2 : 1);
4968  }
4969 
4970  psd = LocalAlloc(0, sizeof(SECURITY_DESCRIPTOR) + acl_size);
4971 
4972  if (psd != NULL)
4973  {
4974  PACL pAcl = (PACL)(((BYTE*)psd)+sizeof(SECURITY_DESCRIPTOR));
4975 
4977  goto error;
4978 
4979  if (!InitializeAcl(pAcl, acl_size, ACL_REVISION))
4980  goto error;
4981 
4982  for(i = 0; i < sid_count; i++)
4983  {
4984  PSHELL_USER_PERMISSION sup = apUserPerm[i];
4985  PSID sid = sidlist[i];
4986 
4987  switch(sup->dwAccessType)
4988  {
4990  if (!AddAccessAllowedAce(pAcl, ACL_REVISION, sup->dwAccessMask, sid))
4991  goto error;
4992  if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION,
4993  (BYTE)sup->dwInheritMask, sup->dwInheritAccessMask, sid))
4994  goto error;
4995  break;
4997  if (!AddAccessDeniedAce(pAcl, ACL_REVISION, sup->dwAccessMask, sid))
4998  goto error;
4999  if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION,
5000  (BYTE)sup->dwInheritMask, sup->dwInheritAccessMask, sid))
5001  goto error;
5002  break;
5003  default:
5004  goto error;
5005  }
5006  }
5007 
5008  if (!SetSecurityDescriptorDacl(psd, TRUE, pAcl, FALSE))
5009  goto error;
5010  }
5011  goto free_sids;
5012 
5013 error:
5014  LocalFree(psd);
5015  psd = NULL;
5016 free_sids:
5017  for(i = 0; i < sid_count; i++)
5018  {
5019  if (!cur_user || sidlist[i] != cur_user)
5020  FreeSid(sidlist[i]);
5021  }
5022  HeapFree(GetProcessHeap(), 0, sidlist);
5023 
5024  return psd;
5025 }
#define TRUE
Definition: types.h:120
#define CloseHandle
Definition: compat.h:407
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
#define error(str)
Definition: mkdosfs.c:1605
BOOL WINAPI InitializeAcl(PACL pAcl, DWORD nAclLength, DWORD dwAclRevision)
Definition: security.c:885
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision)
Definition: security.c:808
BOOL WINAPI AddAccessAllowedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:942
static void free_sids(PSID *sids, int count)
Definition: acl.c:155
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
BOOL WINAPI AddAccessAllowedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:918
FT_UInt sid
Definition: cffcmap.c:139
struct _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE
#define SECURITY_NULL_SID_AUTHORITY
Definition: setypes.h:496
GLenum GLuint GLsizei bufsize
Definition: glext.h:7473
#define SECURITY_DESCRIPTOR_REVISION
Definition: setypes.h:58
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
unsigned int BOOL
Definition: ntddk_ex.h:94
PVOID WINAPI FreeSid(PSID pSid)
Definition: security.c:577
struct _ACL ACL
smooth NULL
Definition: ftsmooth.c:416
BOOL WINAPI AddAccessDeniedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:993
struct _ACL * PACL
Definition: security.c:104
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI AddAccessDeniedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:969
#define GetProcessHeap()
Definition: compat.h:404
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define TOKEN_QUERY
Definition: setypes.h:874
DWORD WINAPI GetLengthSid(PSID pSid)
Definition: security.c:798
HANDLE WINAPI GetCurrentProcess(VOID)
Definition: proc.c:1138
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ACCESS_ALLOWED_ACE_TYPE
Definition: setypes.h:685
#define ACCESS_DENIED_ACE_TYPE
Definition: setypes.h:686
int ret
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
unsigned char BYTE
Definition: xxhash.c:193
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted)
Definition: sec.c:262
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:296
static PSID pSid
Definition: security.c:74
#define ACL_REVISION
Definition: setypes.h:39
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
Definition: security.c:413
struct _TOKEN_USER * PTOKEN_USER
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1373
#define HeapFree(x, y, z)
Definition: compat.h:403
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:553
SHELL_USER_SID susID
Definition: ordinal.c:4886

Referenced by init_pointers().

◆ GetStringType3ExW()

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

Definition at line 776 of file ordinal.c.

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

◆ GetUIVersion()

DWORD WINAPI GetUIVersion ( void  )

Definition at line 4778 of file ordinal.c.

4779 {
4780  static DWORD version;
4781 
4782  if (!version)
4783  {
4784  DllGetVersion_func pDllGetVersion;
4785  HMODULE dll = LoadLibraryA("shell32.dll");
4786  if (!dll) return 0;
4787 
4788  pDllGetVersion = (DllGetVersion_func)GetProcAddress(dll, "DllGetVersion");
4789  if (pDllGetVersion)
4790  {
4791  DLLVERSIONINFO dvi;
4792  dvi.cbSize = sizeof(DLLVERSIONINFO);
4793  if (pDllGetVersion(&dvi) == S_OK) version = dvi.dwMajorVersion;
4794  }
4795  FreeLibrary( dll );
4796  if (!version) version = 3; /* old shell dlls don't have DllGetVersion */
4797  }
4798  return version;
4799 }
static HMODULE dll
Definition: str.c:188
HRESULT(WINAPI * DllGetVersion_func)(DLLVERSIONINFO *)
Definition: ordinal.c:4773
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
DWORD dwMajorVersion
Definition: shlwapi.h:1955
static const WCHAR version[]
Definition: asmname.c:66
#define FreeLibrary(x)
Definition: compat.h:414
unsigned long DWORD
Definition: ntddk_ex.h:95
#define S_OK
Definition: intsafe.h:59
struct _DllVersionInfo DLLVERSIONINFO
#define GetProcAddress(x, y)
Definition: compat.h:419

◆ GUIDFromStringA()

BOOL WINAPI GUIDFromStringA ( LPCSTR  idstr,
CLSID id 
)

Definition at line 2830 of file ordinal.c.

2831 {
2832  WCHAR wClsid[40];
2833  MultiByteToWideChar(CP_ACP, 0, idstr, -1, wClsid, sizeof(wClsid)/sizeof(WCHAR));
2834  return SUCCEEDED(CLSIDFromString(wClsid, id));
2835 }
#define CP_ACP
Definition: compat.h:99
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MultiByteToWideChar
Definition: compat.h:100
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by init_pointers().

◆ GUIDFromStringW()

BOOL WINAPI GUIDFromStringW ( LPCWSTR  idstr,
CLSID id 
)

Definition at line 2842 of file ordinal.c.

2843 {
2844  return SUCCEEDED(CLSIDFromString((LPCOLESTR)idstr, id));
2845 }
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IConnectionPoint_InvokeWithCancel()

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

Definition at line 3094 of file ordinal.c.

3097 {
3098  IID iid;
3099  HRESULT result;
3100 
3101  FIXME("(%p)->(0x%x %p %x %x) partial stub\n", iCP, dispId, dispParams, unknown1, unknown2);
3102 
3103  result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3104  if (SUCCEEDED(result))
3105  result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3106  else
3107  result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3108 
3109  return result;
3110 }
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3055
#define FIXME(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:78
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by init_pointers().

◆ IConnectionPoint_OnChanged()

HRESULT WINAPI IConnectionPoint_OnChanged ( IConnectionPoint lpCP,
DISPID  dispID 
)

Definition at line 3151 of file ordinal.c.

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

Referenced by IUnknown_CPContainerOnChanged().

◆ IConnectionPoint_SimpleInvoke()

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

Definition at line 3118 of file ordinal.c.

3122 {
3123  IID iid;
3124  HRESULT result;
3125 
3126  TRACE("(%p)->(0x%x %p)\n",iCP,dispId,dispParams);
3127 
3128  result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3129  if (SUCCEEDED(result))
3130  result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3131  else
3132  result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3133 
3134  return result;
3135 }
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3055
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by init_pointers().

◆ IsCharBlankW()

BOOL WINAPI IsCharBlankW ( WCHAR  wc)

Definition at line 689 of file ordinal.c.

690 {
691  WORD CharType;
692 
693  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_BLANK);
694 }
#define C1_BLANK
Definition: unicode.h:37
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: lang.c:1699
unsigned short WORD
Definition: ntddk_ex.h:93
#define CT_CTYPE1
Definition: winnls.h:234

◆ IsCharCntrlW()

BOOL WINAPI IsCharCntrlW ( WCHAR  wc)

Definition at line 727 of file ordinal.c.

728 {
729  WORD CharType;
730 
731  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_CNTRL);
732 }
#define C1_CNTRL
Definition: unicode.h:36
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: lang.c:1699
unsigned short WORD
Definition: ntddk_ex.h:93
#define CT_CTYPE1
Definition: winnls.h:234

◆ IsCharDigitW()

BOOL WINAPI IsCharDigitW ( WCHAR  wc)

Definition at line 746 of file ordinal.c.

747 {
748  WORD CharType;
749 
750  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_DIGIT);
751 }
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: lang.c:1699
#define C1_DIGIT
Definition: unicode.h:33
unsigned short WORD
Definition: ntddk_ex.h:93
#define CT_CTYPE1
Definition: winnls.h:234

◆ IsCharPunctW()

BOOL WINAPI IsCharPunctW ( WCHAR  wc)

Definition at line 708 of file ordinal.c.

709 {
710  WORD CharType;
711 
712  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_PUNCT);
713 }
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: lang.c:1699
unsigned short WORD
Definition: ntddk_ex.h:93
#define CT_CTYPE1
Definition: winnls.h:234
#define C1_PUNCT
Definition: unicode.h:35

◆ IsCharXDigitW()

BOOL WINAPI IsCharXDigitW ( WCHAR  wc)

Definition at line 765 of file ordinal.c.

766 {
767  WORD CharType;
768 
769  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_XDIGIT);
770 }
#define C1_XDIGIT
Definition: unicode.h:38
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: lang.c:1699
unsigned short WORD
Definition: ntddk_ex.h:93
#define CT_CTYPE1
Definition: winnls.h:234

◆ IsOS()

BOOL WINAPI IsOS ( DWORD  feature)

Definition at line 4005 of file ordinal.c.

4006 {
4008  DWORD platform, majorv, minorv;
4009 
4011  if(!GetVersionExA(&osvi)) {
4012  ERR("GetVersionEx failed\n");
4013  return FALSE;
4014  }
4015 
4016  majorv = osvi.dwMajorVersion;
4017  minorv = osvi.dwMinorVersion;
4019 
4020 #define ISOS_RETURN(x) \
4021  TRACE("(0x%x) ret=%d\n",feature,(x)); \
4022  return (x);
4023 
4024  switch(feature) {
4025  case OS_WIN32SORGREATER:
4028  case OS_NT:
4030  case OS_WIN95ORGREATER:
4032  case OS_NT4ORGREATER:
4033  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 4)
4035  case OS_WIN2000ORGREATER:
4036  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4037  case OS_WIN98ORGREATER:
4038  ISOS_RETURN(platform == VER_PLATFORM_WIN32_WINDOWS && minorv >= 10)
4039  case OS_WIN98_GOLD:
4040  ISOS_RETURN(platform == VER_PLATFORM_WIN32_WINDOWS && minorv == 10)
4041  case OS_WIN2000PRO:
4042  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4043  case OS_WIN2000SERVER:
4044  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4045  case OS_WIN2000ADVSERVER:
4046  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4047  case OS_WIN2000DATACENTER:
4048  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4049  case OS_WIN2000TERMINAL:
4050  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4051  case OS_EMBEDDED:
4052  FIXME("(OS_EMBEDDED) What should we return here?\n");
4053  return FALSE;
4054  case OS_TERMINALCLIENT:
4055  FIXME("(OS_TERMINALCLIENT) What should we return here?\n");
4056  return FALSE;
4058  FIXME("(OS_TERMINALREMOTEADMIN) What should we return here?\n");
4059  return FALSE;
4060  case OS_WIN95_GOLD:
4062  case OS_MEORGREATER:
4063  ISOS_RETURN(platform == VER_PLATFORM_WIN32_WINDOWS && minorv >= 90)
4064  case OS_XPORGREATER:
4065  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4066  case OS_HOME:
4067  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4068  case OS_PROFESSIONAL:
4070  case OS_DATACENTER:
4072  case OS_ADVSERVER:
4073  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4074  case OS_SERVER:
4076  case OS_TERMINALSERVER:
4079  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && minorv >= 1 && majorv >= 5)
4080  case OS_FASTUSERSWITCHING:
4081  FIXME("(OS_FASTUSERSWITCHING) What should we return here?\n");
4082  return TRUE;
4083  case OS_WELCOMELOGONUI:
4084  FIXME("(OS_WELCOMELOGONUI) What should we return here?\n");
4085  return FALSE;
4086  case OS_DOMAINMEMBER:
4087  FIXME("(OS_DOMAINMEMBER) What should we return here?\n");
4088  return TRUE;
4089  case OS_ANYSERVER:
4091  case OS_WOW6432:
4092  {
4093  BOOL is_wow64;
4095  return is_wow64;
4096  }
4097  case OS_WEBSERVER:
4101  case OS_TABLETPC:
4102  FIXME("(OS_TABLETPC) What should we return here?\n");
4103  return FALSE;
4104  case OS_SERVERADMINUI:
4105  FIXME("(OS_SERVERADMINUI) What should we return here?\n");
4106  return FALSE;
4107  case OS_MEDIACENTER:
4108  FIXME("(OS_MEDIACENTER) What should we return here?\n");
4109  return FALSE;
4110  case OS_APPLIANCE:
4111  FIXME("(OS_APPLIANCE) What should we return here?\n");
4112  return FALSE;
4113  case 0x25: /*OS_VISTAORGREATER*/
4114  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 6)
4115  }
4116 
4117 #undef ISOS_RETURN
4118 
4119  WARN("(0x%x) unknown parameter\n",feature);
4120 
4121  return FALSE;
4122 }
#define OS_WIN98ORGREATER
Definition: shlwapi.h:2021
INTERNETFEATURELIST feature
Definition: misc.c:1719
#define OS_WIN2000DATACENTER
Definition: shlwapi.h:2027
#define OS_WIN2000ADVSERVER
Definition: shlwapi.h:2026
#define OS_DOMAINMEMBER
Definition: shlwapi.h:2044
return
Definition: dirsup.c:529
#define OS_TERMINALCLIENT
Definition: shlwapi.h:2030
#define OS_WIN2000ORGREATER_ALT
Definition: shlwapi.h:2020
#define VER_PLATFORM_WIN32_NT
Definition: rtltypes.h:236
#define TRUE
Definition: types.h:120
ULONG dwMajorVersion
Definition: rtltypes.h:234
#define OS_PROFESSIONAL
Definition: shlwapi.h:2036
#define OS_APPLIANCE
Definition: shlwapi.h:2052
#define OS_WIN2000PRO
Definition: shlwapi.h:2024
#define OS_WIN32SORGREATER
Definition: shlwapi.h:2016
#define OS_ADVSERVER
Definition: shlwapi.h:2038
OSVERSIONINFO osvi
Definition: ver.c:28
#define OS_NT4ORGREATER
Definition: shlwapi.h:2019
#define OS_WIN98_GOLD
Definition: shlwapi.h:2022
#define WARN(fmt,...)
Definition: debug.h:112
GLdouble n
Definition: glext.h:7729
#define OS_PERSONALTERMINALSERVER
Definition: shlwapi.h:2041
#define OS_SMALLBUSINESSSERVER
Definition: shlwapi.h:2048
#define OS_WIN2000ORGREATER
Definition: shlwapi.h:2023
#define OS_WIN95_GOLD
Definition: shlwapi.h:2032
#define VER_PLATFORM_WIN32s
Definition: rtltypes.h:234
#define OS_WELCOMELOGONUI
Definition: shlwapi.h:2043
#define OS_TABLETPC
Definition: shlwapi.h:2049
unsigned int BOOL
Definition: ntddk_ex.h:94
#define OS_NT
Definition: shlwapi.h:2017
#define OS_WEBSERVER
Definition: shlwapi.h:2047
#define FIXME(fmt,...)
Definition: debug.h:111
#define OS_WIN2000TERMINAL
Definition: shlwapi.h:2028
#define OS_TERMINALSERVER
Definition: shlwapi.h:2040
#define OS_ANYSERVER
Definition: shlwapi.h:2045
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:233
#define ISOS_RETURN(x)
BOOL WINAPI GetVersionExA(IN LPOSVERSIONINFOA lpVersionInformation)
Definition: version.c:69
platform
Definition: msipriv.h:356
#define OS_WIN2000SERVER
Definition: shlwapi.h:2025
BOOL WINAPI IsWow64Process(IN HANDLE hProcess, OUT PBOOL Wow64Process)
Definition: proc.c:1976
#define OS_SERVERADMINUI
Definition: shlwapi.h:2050
#define OS_TERMINALREMOTEADMIN
Definition: shlwapi.h:2031
HANDLE WINAPI GetCurrentProcess(VOID)
Definition: proc.c:1138
static BOOL is_wow64
Definition: loader.c:55
#define OS_XPORGREATER
Definition: shlwapi.h:2034
#define OS_HOME
Definition: shlwapi.h:2035
unsigned long DWORD
Definition: ntddk_ex.h:95
#define OS_WOW6432
Definition: shlwapi.h:2046
ULONG dwMinorVersion
Definition: rtltypes.h:235
#define OS_WIN95ORGREATER
Definition: shlwapi.h:2018
#define ERR(fmt,...)
Definition: debug.h:110
struct _OSVERSIONINFOA OSVERSIONINFOA
ULONG dwPlatformId
Definition: rtltypes.h:237
#define VER_PLATFORM_WIN32_WINDOWS
Definition: rtltypes.h:235
#define OS_SERVER
Definition: shlwapi.h:2039
#define OS_EMBEDDED
Definition: shlwapi.h:2029
#define OS_MEDIACENTER
Definition: shlwapi.h:2051
#define OS_FASTUSERSWITCHING
Definition: shlwapi.h:2042
#define OS_DATACENTER
Definition: shlwapi.h:2037
#define OS_MEORGREATER
Definition: shlwapi.h:2033

◆ IsQSForward()

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

Definition at line 2228 of file ordinal.c.

2229 {
2230  FIXME("(%p,%d,%p) - stub!\n", pguidCmdGroup, cCmds, prgCmds);
2231  return DRAGDROP_E_NOTREGISTERED;
2232 }
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652
#define FIXME(fmt,...)
Definition: debug.h:111

◆ IUnknown_AtomicRelease()

void WINAPI IUnknown_AtomicRelease ( IUnknown **  lpUnknown)

Definition at line 1238 of file ordinal.c.

1239 {
1240  TRACE("(%p)\n", lpUnknown);
1241 
1242  if(!lpUnknown || !*lpUnknown) return;
1243 
1244  TRACE("doing Release\n");
1245 
1246  IUnknown_Release(*lpUnknown);
1247  *lpUnknown = NULL;
1248 }
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4

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 3190 of file ordinal.c.

3196 {
3197  HRESULT result;
3198  IConnectionPoint *iCP;
3200  DISPPARAMS dispParams = {buffer, NULL, cParams, 0};
3202 
3203  if (!container)
3204  return E_NOINTERFACE;
3205 
3206  result = IUnknown_QueryInterface(container, &IID_IConnectionPointContainer,(LPVOID*) &iCPC);
3207  if (FAILED(result))
3208  return result;
3209 
3210  result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP);
3211  IConnectionPointContainer_Release(iCPC);
3212  if(FAILED(result))
3213  return result;
3214 
3215  __ms_va_start(valist, cParams);
3216  SHPackDispParamsV(&dispParams, buffer, cParams, valist);
3218 
3219  result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams);
3220  IConnectionPoint_Release(iCP);
3221 
3222  return result;
3223 }
#define E_NOINTERFACE
Definition: winerror.h:2364
static static const char __ms_va_list
Definition: printf.c:76
REFIID riid
Definition: precomp.h:44
const GUID IID_IConnectionPointContainer
GLuint buffer
Definition: glext.h:5915
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3055
HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
Definition: ordinal.c:2985
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:78
#define __ms_va_end(list)
Definition: windef.h:458
#define __ms_va_start(list, arg)
Definition: windef.h:457
struct stdole::DISPPARAMS DISPPARAMS
static __ms_va_list valist
Definition: printf.c:64
GLuint64EXT * result
Definition: glext.h:11304

◆ IUnknown_CPContainerOnChanged()

HRESULT WINAPI IUnknown_CPContainerOnChanged ( IUnknown lpUnknown,
DISPID  dispID 
)

Definition at line 3239 of file ordinal.c.

3240 {
3242  HRESULT hRet = E_NOINTERFACE;
3243 
3244  TRACE("(%p,0x%8X)\n", lpUnknown, dispID);
3245 
3246  if (lpUnknown)
3247  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer, (void**)&lpCPC);
3248 
3249  if (SUCCEEDED(hRet))
3250  {
3251  IConnectionPoint* lpCP;
3252 
3253  hRet = IConnectionPointContainer_FindConnectionPoint(lpCPC, &IID_IPropertyNotifySink, &lpCP);
3254  IConnectionPointContainer_Release(lpCPC);
3255 
3256  hRet = IConnectionPoint_OnChanged(lpCP, dispID);
3257  IConnectionPoint_Release(lpCP);
3258  }
3259  return hRet;
3260 }
#define E_NOINTERFACE
Definition: winerror.h:2364
const GUID IID_IConnectionPointContainer
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
HRESULT WINAPI IConnectionPoint_OnChanged(IConnectionPoint *lpCP, DISPID dispID)
Definition: ordinal.c:3151
const GUID IID_IPropertyNotifySink
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IUnknown_EnableModeless()

HRESULT WINAPI IUnknown_EnableModeless ( IUnknown lpUnknown,
BOOL  bModeless 
)

Definition at line 3467 of file ordinal.c.

3468 {
3469  IUnknown *lpObj;
3470  HRESULT hRet;
3471 
3472  TRACE("(%p,%d)\n", lpUnknown, bModeless);
3473 
3474  if (!lpUnknown)
3475  return E_FAIL;
3476 
3479  else if (IsIface(IOleInPlaceFrame))
3481  else if (IsIface(IShellBrowser))
3485  else if (IsIface(IDocHostUIHandler))
3487  else
3488  return hRet;
3489 
3490  IUnknown_Release(lpObj);
3491  return S_OK;
3492 }
#define EnableModeless(type)
Definition: ordinal.c:3446
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59
#define IsIface(type)
Definition: ordinal.c:3444

◆ IUnknown_Exec()

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

Definition at line 1080 of file ordinal.c.

1083 {
1084  HRESULT hRet = E_FAIL;
1085 
1086  TRACE("(%p,%p,%d,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, nCmdID,
1087  nCmdexecopt, pvaIn, pvaOut);
1088 
1089  if (lpUnknown)
1090  {
1091  IOleCommandTarget* lpOle;
1092 
1093  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1094  (void**)&lpOle);
1095  if (SUCCEEDED(hRet) && lpOle)
1096  {
1097  hRet = IOleCommandTarget_Exec(lpOle, pguidCmdGroup, nCmdID,
1098  nCmdexecopt, pvaIn, pvaOut);
1099  IOleCommandTarget_Release(lpOle);
1100  }
1101  }
1102  return hRet;
1103 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by CTrayBandSite::AddBand(), CTrayWindow::CheckTrayWndPosition(), CInternetToolbar::CreateMenuBar(), CMenuSite::Exec(), CBaseBar::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 1450 of file ordinal.c.

1451 {
1452  IPersist *persist;
1453  HRESULT hr;
1454 
1455  TRACE("(%p, %p)\n", lpUnknown, clsid);
1456 
1457  if (!lpUnknown)
1458  {
1459  memset(clsid, 0, sizeof(*clsid));
1460  return E_FAIL;
1461  }
1462 
1463  hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersist, (void**)&persist);
1464  if (hr != S_OK)
1465  {
1466  hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersistFolder, (void**)&persist);
1467  if (hr != S_OK)
1468  return hr;
1469  }
1470 
1471  hr = IPersist_GetClassID(persist, clsid);
1472  IPersist_Release(persist);
1473  return hr;
1474 }
HRESULT hr
Definition: shlfolder.c:183
const GUID IID_IPersist
Definition: proxy.cpp:14
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
REFCLSID clsid
Definition: msctf.c:82
#define S_OK
Definition: intsafe.h:59
#define memset(x, y, z)
Definition: compat.h:39

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

◆ IUnknown_GetSite()

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

Definition at line 2593 of file ordinal.c.

2594 {
2595  HRESULT hRet = E_INVALIDARG;
2596  LPOBJECTWITHSITE lpSite = NULL;
2597 
2598  TRACE("(%p,%s,%p)\n", lpUnknown, debugstr_guid(iid), lppSite);
2599 
2600  if (lpUnknown && iid && lppSite)
2601  {
2602  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IObjectWithSite,
2603  (void**)&lpSite);
2604  if (SUCCEEDED(hRet) && lpSite)
2605  {
2606  hRet = IObjectWithSite_GetSite(lpSite, iid, lppSite);
2607  IObjectWithSite_Release(lpSite);
2608  }
2609  }
2610  return hRet;
2611 }
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
const IID IID_IObjectWithSite
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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

◆ IUnknown_GetWindow()

HRESULT WINAPI IUnknown_GetWindow ( IUnknown lpUnknown,
HWND lphWnd 
)

Definition at line 1329 of file ordinal.c.

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

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(), CToolsBand::SetSite(), CISFBand::SetSite(), CSearchBar::SetSite(), CAddressBand::SetSite(), CExplorerBand::SetSite(), CInternetToolbar::SetSite(), and CTaskBand::SetSite().

◆ IUnknown_HandleIRestrict()

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

Definition at line 1946 of file ordinal.c.

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

◆ IUnknown_HasFocusIO()

HRESULT WINAPI IUnknown_HasFocusIO ( IUnknown lpUnknown)

Definition at line 4182 of file ordinal.c.

4183 {
4184  IInputObject* lpInput = NULL;
4185  HRESULT hRet = E_INVALIDARG;
4186 
4187  TRACE("(%p)\n", lpUnknown);
4188  if (lpUnknown)
4189  {
4190  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4191  (void**)&lpInput);
4192  if (SUCCEEDED(hRet) && lpInput)
4193  {
4194  hRet = IInputObject_HasFocusIO(lpInput);
4195  IInputObject_Release(lpInput);
4196  }
4197  }
4198  return hRet;
4199 }
#define IInputObject_Release(p)
Definition: shlobj.h:638
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define IInputObject_HasFocusIO(p)
Definition: shlobj.h:641
LONG HRESULT
Definition: typedefs.h:78
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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

◆ IUnknown_OnFocusChangeIS()

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

Definition at line 4652 of file ordinal.c.

4653 {
4654  IInputObjectSite *pIOS = NULL;
4655  HRESULT hRet = E_INVALIDARG;
4656 
4657  TRACE("(%p, %p, %s)\n", lpUnknown, pFocusObject, bFocus ? "TRUE" : "FALSE");
4658 
4659  if (lpUnknown)
4660  {
4661  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObjectSite,
4662  (void **)&pIOS);
4663  if (SUCCEEDED(hRet) && pIOS)
4664  {
4665  hRet = IInputObjectSite_OnFocusChangeIS(pIOS, pFocusObject, bFocus);
4667  }
4668  }
4669  return hRet;
4670 }
#define IInputObjectSite_Release(p)
Definition: shlobj.h:662
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define IInputObjectSite_OnFocusChangeIS(p, a, b)
Definition: shlobj.h:664
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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

◆ IUnknown_OnFocusOCS()

HRESULT WINAPI IUnknown_OnFocusOCS ( IUnknown lpUnknown,
BOOL  fGotFocus 
)

Definition at line 1924 of file ordinal.c.

1925 {
1926  IOleControlSite* lpCSite = NULL;
1927  HRESULT hRet = E_FAIL;
1928 
1929  TRACE("(%p, %d)\n", lpUnknown, fGotFocus);
1930  if (lpUnknown)
1931  {
1932  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
1933  (void**)&lpCSite);
1934  if (SUCCEEDED(hRet) && lpCSite)
1935  {
1936  hRet = IOleControlSite_OnFocus(lpCSite, fGotFocus);
1937  IOleControlSite_Release(lpCSite);
1938  }
1939  }
1940  return hRet;
1941 }
#define E_FAIL
Definition: ddrawi.h:102
const GUID IID_IOleControlSite
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IUnknown_ProfferService()

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

Definition at line 1585 of file ordinal.c.

1586 {
1587  IProfferService *proffer;
1588  HRESULT hr;
1589 
1590  TRACE("%p %s %p %p\n", lpUnknown, debugstr_guid(service), pService, pCookie);
1591 
1592  hr = IUnknown_QueryService(lpUnknown, &IID_IProfferService, &IID_IProfferService, (void**)&proffer);
1593  if (hr == S_OK)
1594  {
1595  if (pService)
1596  hr = IProfferService_ProfferService(proffer, service, pService, pCookie);
1597  else
1598  {
1599  hr = IProfferService_RevokeService(proffer, *pCookie);
1600  *pCookie = 0;
1601  }
1602 
1603  IProfferService_Release(proffer);
1604  }
1605 
1606  return hr;
1607 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1494
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59

Referenced by init_pointers().

◆ IUnknown_QueryService()

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

Definition at line 1494 of file ordinal.c.

1496 {
1497  IServiceProvider* pService = NULL;
1498  HRESULT hRet;
1499 
1500  if (!lppOut)
1501  return E_FAIL;
1502 
1503  *lppOut = NULL;
1504 
1505  if (!lpUnknown)
1506  return E_FAIL;
1507 
1508  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IServiceProvider,
1509  (LPVOID*)&pService);
1510 
1511  if (hRet == S_OK && pService)
1512  {
1513  TRACE("QueryInterface returned (IServiceProvider*)%p\n", pService);
1514 
1515  /* Get a Service interface from the object */
1516  hRet = IServiceProvider_QueryService(pService, sid, riid, lppOut);
1517 
1518  TRACE("(IServiceProvider*)%p returned (IUnknown*)%p\n", pService, *lppOut);
1519 
1520  IServiceProvider_Release(pService);
1521  }
1522  return hRet;
1523 }
REFIID riid
Definition: precomp.h:44
FT_UInt sid
Definition: cffcmap.c:139
#define E_FAIL
Definition: ddrawi.h:102
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59

Referenced by CDefViewBckgrndMenu::_bIsDesktopBrowserMenu(), CDefView::_MergeToolbar(), CMenuDeskBar::_OnActivate(), CDefaultContextMenu::BrowserFlagsFromVerb(), CExplorerBand::DestroyExplorerBand(), CDefaultContextMenu::DoCreateNewFolder(), CDefaultContextMenu::DoRename(), CFSDropTarget::Drop(), CAddressEditBox::Execute(), CExplorerBand::ExecuteCommand(), CBandProxy::FindBrowserWindow(), CShellBrowser::GetMenuBand(), CSearchBar::GetSearchResultsFolder(), CAddressEditBox::Init(), CExplorerBand::InitializeExplorerBand(), CAddressEditBox::Invoke(), CDefViewBckgrndMenu::InvokeCommand(), CNetConUiObject::InvokeCommand(), CMenuFocusManager::IsTrackedWindowOrParent(), IUnknown_HandleIRestrict(), IUnknown_ProfferService(), IUnknown_QueryServiceExec(), IUnknown_QueryServiceForWebBrowserApp(), CExplorerBand::NavigateToCurrentFolder(), CSearchBar::OnInitDialog(), CInternetToolbar::OnMenuDropDown(), CSearchBar::OnSearchButtonClicked(), CInternetToolbar::OnTravelBack(), CInternetToolbar::OnTravelForward(), CAddressEditBox::ParseNow(), CMenuDeskBar::Popup(), CMenuSite::QueryService(), CMenuDeskBar::QueryService(), CExplorerBand::QueryService(), CInternetToolbar::QueryService(), RegisterDefaultAcceptHeaders(), CNewMenu::SelectNewItem(), CAddressEditBox::SetOwner(), CMenuDeskBar::SetSite(), CMenuBand::SetSite(), CInternetToolbar::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 1546 of file ordinal.c.

1548 {
1550  HRESULT hr;
1551 
1552  TRACE("%p %s %s %d %08x %p %p\n", lpUnknown, debugstr_guid(service),
1553  debugstr_guid(group), cmdId, cmdOpt, pIn, pOut);
1554 
1555  hr = IUnknown_QueryService(lpUnknown, service, &IID_IOleCommandTarget, (void**)&target);
1556  if (hr == S_OK)
1557  {
1558  hr = IOleCommandTarget_Exec(target, group, cmdId, cmdOpt, pIn, pOut);
1559  IOleCommandTarget_Release(target);
1560  }
1561 
1562  TRACE("<-- hr=0x%08x\n", hr);
1563 
1564  return hr;
1565 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1494
#define debugstr_guid
Definition: kernel32.h:35
GLboolean GLuint group
Definition: glext.h:11120
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59
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 5241 of file ordinal.c.

5243 {
5244  FIXME("%p %s %p semi-STUB\n", lpUnknown, debugstr_guid(riid), lppOut);
5245  return IUnknown_QueryService(lpUnknown,&IID_IWebBrowserApp,riid,lppOut);
5246 }
REFIID riid
Definition: precomp.h:44
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1494
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35

◆ IUnknown_QueryStatus()

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

Definition at line 1041 of file ordinal.c.

1043 {
1044  HRESULT hRet = E_FAIL;
1045 
1046  TRACE("(%p,%p,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, cCmds, prgCmds, pCmdText);
1047 
1048  if (lpUnknown)
1049  {
1050  IOleCommandTarget* lpOle;
1051 
1052  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1053  (void**)&lpOle);
1054 
1055  if (SUCCEEDED(hRet) && lpOle)
1056  {
1057  hRet = IOleCommandTarget_QueryStatus(lpOle, pguidCmdGroup, cCmds,
1058  prgCmds, pCmdText);
1059  IOleCommandTarget_Release(lpOle);
1060  }
1061  }
1062  return hRet;
1063 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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 2183 of file ordinal.c.

2184 {
2185  TRACE("(%p,%p)\n", lppDest, lpUnknown);
2186 
2187  IUnknown_AtomicRelease(lppDest);
2188 
2189  if (lpUnknown)
2190  {
2191  IUnknown_AddRef(lpUnknown);
2192  *lppDest = lpUnknown;
2193  }
2194 }
#define TRACE(s)
Definition: solgame.cpp:4
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
Definition: ordinal.c:1238

◆ IUnknown_SetOwner()

HRESULT WINAPI IUnknown_SetOwner ( IUnknown iface,
IUnknown pUnk 
)

Definition at line 1378 of file ordinal.c.

1379 {
1380  IShellService *service;
1381  HRESULT hr;
1382 
1383  TRACE("(%p, %p)\n", iface, pUnk);
1384 
1385  if (!iface) return E_FAIL;
1386 
1387  hr = IUnknown_QueryInterface(iface, &IID_IShellService, (void**)&service);
1388  if (hr == S_OK)
1389  {
1390  hr = IShellService_SetOwner(service, pUnk);
1391  IShellService_Release(service);
1392  }
1393 
1394  return hr;
1395 }
HRESULT hr
Definition: shlfolder.c:183
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59
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 1404 of file ordinal.c.

1407 {
1408  HRESULT hr;
1409  IObjectWithSite *iobjwithsite;
1410  IInternetSecurityManager *isecmgr;
1411 
1412  if (!obj) return E_FAIL;
1413 
1414  hr = IUnknown_QueryInterface(obj, &IID_IObjectWithSite, (LPVOID *)&iobjwithsite);
1415  TRACE("IID_IObjectWithSite QI ret=%08x, %p\n", hr, iobjwithsite);
1416  if (SUCCEEDED(hr))
1417  {
1418  hr = IObjectWithSite_SetSite(iobjwithsite, site);
1419  TRACE("done IObjectWithSite_SetSite ret=%08x\n", hr);
1420  IObjectWithSite_Release(iobjwithsite);
1421  }
1422  else
1423  {
1424  hr = IUnknown_QueryInterface(obj, &IID_IInternetSecurityManager, (LPVOID *)&isecmgr);
1425  TRACE("IID_IInternetSecurityManager QI ret=%08x, %p\n", hr, isecmgr);
1426  if (FAILED(hr)) return hr;
1427 
1428  hr = IInternetSecurityManager_SetSecuritySite(isecmgr, (IInternetSecurityMgrSite *)site);
1429  TRACE("done IInternetSecurityManager_SetSecuritySite ret=%08x\n", hr);
1430  IInternetSecurityManager_Release(isecmgr);
1431  }
1432  return hr;
1433 }
HRESULT hr
Definition: shlfolder.c:183
static IActiveScriptSite * site
Definition: script.c:149
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
const IID IID_IObjectWithSite
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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

◆ IUnknown_TranslateAcceleratorIO()

HRESULT WINAPI IUnknown_TranslateAcceleratorIO ( IUnknown lpUnknown,
LPMSG  lpMsg 
)

Definition at line 4150 of file ordinal.c.

4151 {
4152  IInputObject* lpInput = NULL;
4153  HRESULT hRet = E_INVALIDARG;
4154 
4155  TRACE("(%p,%p)\n", lpUnknown, lpMsg);
4156  if (lpUnknown)
4157  {
4158  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4159  (void**)&lpInput);
4160  if (SUCCEEDED(hRet) && lpInput)
4161  {
4162  hRet = IInputObject_TranslateAcceleratorIO(lpInput, lpMsg);
4163  IInputObject_Release(lpInput);
4164  }
4165  }
4166  return hRet;
4167 }
#define IInputObject_TranslateAcceleratorIO(p, a)
Definition: shlobj.h:642
#define IInputObject_Release(p)
Definition: shlobj.h:638
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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

◆ IUnknown_TranslateAcceleratorOCS()

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

Definition at line 1891 of file ordinal.c.

1892 {
1893  IOleControlSite* lpCSite = NULL;
1894  HRESULT hRet = E_INVALIDARG;
1895 
1896  TRACE("(%p,%p,0x%08x)\n", lpUnknown, lpMsg, dwModifiers);
1897  if (lpUnknown)
1898  {
1899  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
1900  (void**)&lpCSite);
1901  if (SUCCEEDED(hRet) && lpCSite)
1902  {
1903  hRet = IOleControlSite_TranslateAccelerator(lpCSite, lpMsg, dwModifiers);
1904  IOleControlSite_Release(lpCSite);
1905  }
1906  }
1907  return hRet;
1908 }
const GUID IID_IOleControlSite
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IUnknown_UIActivateIO()

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

Definition at line 1626 of file ordinal.c.

1627 {
1628  IInputObject* object = NULL;
1629  HRESULT ret;
1630 
1631  if (!unknown)
1632  return E_FAIL;
1633 
1634  /* Get an IInputObject interface from the object */
1635  ret = IUnknown_QueryInterface(unknown, &IID_IInputObject, (LPVOID*) &object);
1636 
1637  if (ret == S_OK)
1638  {
1639  ret = IInputObject_UIActivateIO(object, activate, msg);
1640  IInputObject_Release(object);
1641  }
1642 
1643  return ret;
1644 }
#define E_FAIL
Definition: ddrawi.h:102
#define IInputObject_UIActivateIO(p, a, b)
Definition: shlobj.h:640
#define IInputObject_Release(p)
Definition: shlobj.h:638
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:78
Definition: id3.c:95
int ret
#define S_OK
Definition: intsafe.h:59
#define msg(x)
Definition: auth_time.c:54

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

◆ MayExecForward()

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

Definition at line 2215 of file ordinal.c.

2218 {
2219  FIXME("(%p,%d,%p,%d,%d,%p,%p) - stub!\n", lpUnknown, iUnk, pguidCmdGroup,
2220  nCmdID, nCmdexecopt, pvaIn, pvaOut);
2221  return DRAGDROP_E_NOTREGISTERED;
2222 }
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652
#define FIXME(fmt,...)
Definition: debug.h:111

◆ MayQSForward()

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

Definition at line 2200 of file ordinal.c.

2203 {
2204  FIXME("(%p,%p,%p,%d,%p,%p) - stub\n",
2205  lpUnknown, lpReserved, riidCmdGrp, cCmds, prgCmds, pCmdText);
2206 
2207  /* FIXME: Calls IsQSForward & IUnknown_QueryStatus */
2208  return DRAGDROP_E_NOTREGISTERED;
2209 }
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652
#define FIXME(fmt,...)
Definition: debug.h:111

◆ MLClearMLHInstance()

DWORD WINAPI MLClearMLHInstance ( DWORD  x)

Definition at line 3946 of file ordinal.c.

3947 {
3948  FIXME("(0x%08x)stub\n", x);
3949  return 0xabba1247;
3950 }
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define FIXME(fmt,...)
Definition: debug.h:111

◆ MLFreeLibrary()

BOOL WINAPI MLFreeLibrary ( HMODULE  hModule)

Definition at line 3909 of file ordinal.c.

3910 {
3911  FIXME("(%p) semi-stub\n", hModule);
3912  return FreeLibrary(hModule);
3913 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define FreeLibrary(x)
Definition: compat.h:414
HMODULE hModule
Definition: animate.c:44

Referenced by MLBuildResURLW().

◆ MLIsMLHInstance()

BOOL WINAPI MLIsMLHInstance ( HINSTANCE  hInst)

Definition at line 3927 of file ordinal.c.

3928 {
3929  FIXME("(%p) stub\n", hInst);
3930  return FALSE;
3931 }
#define FIXME(fmt,...)
Definition: debug.h:111
HINSTANCE hInst
Definition: dxdiag.c:13

◆ MLLoadLibraryA()

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

Definition at line 3610 of file ordinal.c.

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

◆ MLLoadLibraryW()

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

Definition at line 3652 of file ordinal.c.

3653 {
3654  WCHAR mod_path[2*MAX_PATH];
3655  LPWSTR ptr;
3656  DWORD len;
3657 
3658  FIXME("(%s,%p,%d) semi-stub!\n", debugstr_w(new_mod), inst_hwnd, dwCrossCodePage);
3659  len = GetModuleFileNameW(inst_hwnd, mod_path, sizeof(mod_path) / sizeof(WCHAR));
3660  if (!len || len >= sizeof(mod_path) / sizeof(WCHAR)) return NULL;
3661 
3662  ptr = strrchrW(mod_path, '\\');
3663  if (ptr) {
3664  strcpyW(ptr+1, new_mod);
3665  TRACE("loading %s\n", debugstr_w(mod_path));
3666  return LoadLibraryW(mod_path);
3667  }
3668  return NULL;
3669 }
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:600
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static PVOID ptr
Definition: dispmode.c:27
#define LoadLibraryW(x)
Definition: compat.h:413
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:26
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
WINE_UNICODE_INLINE WCHAR * strrchrW(const WCHAR *str, WCHAR ch)
Definition: unicode.h:254
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by MLBuildResURLW().

◆ MLSetMLHInstance()

DWORD WINAPI MLSetMLHInstance ( HINSTANCE  hInst,
HANDLE  hHeap 
)

Definition at line 3937 of file ordinal.c.

3938 {
3939  FIXME("(%p,%p) stub\n", hInst, hHeap);
3940  return E_FAIL; /* This is what is used if shlwapi not loaded */
3941 }
#define E_FAIL
Definition: ddrawi.h:102
#define FIXME(fmt,...)
Definition: debug.h:111
HINSTANCE hInst
Definition: dxdiag.c:13

◆ PageSetupDlgWrapW()

BOOL WINAPI PageSetupDlgWrapW ( LPPAGESETUPDLGW  pagedlg)

Definition at line 3739 of file ordinal.c.

3740 {
3741  return PageSetupDlgW(pagedlg);
3742 }
BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW setupdlg)
Definition: printdlg.c:3925

◆ PathSkipLeadingSlashesA()

LPCSTR WINAPI PathSkipLeadingSlashesA ( LPCSTR  lpszSrc)

Definition at line 1262 of file ordinal.c.

1263 {
1264  if (lpszSrc && lpszSrc[0] == '/' && lpszSrc[1] == '/')
1265  lpszSrc += 2;
1266  return lpszSrc;
1267 }

◆ PlaySoundWrapW()

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

Definition at line 3267 of file ordinal.c.

3268 {
3269  return PlaySoundW(pszSound, hmod, fdwSound);
3270 }
static PEXPLICIT_ACCESSW *static HMODULE hmod
Definition: security.c:141
BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound)
Definition: playsound.c:531

◆ PrintDlgWrapW()

BOOL WINAPI PrintDlgWrapW ( LPPRINTDLGW  printdlg)

Definition at line 3749 of file ordinal.c.

3750 {
3751  return PrintDlgW(printdlg);
3752 }
BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd)
Definition: printdlg.c:2390

◆ QISearch()

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

Definition at line 2389 of file ordinal.c.

2394 {
2395  HRESULT ret;
2396  IUnknown *a_vtbl;
2397  const QITAB *xmove;
2398 
2399  TRACE("(%p %p %s %p)\n", base, table, debugstr_guid(riid), ppv);
2400  if (ppv) {
2401  xmove = table;
2402  while (xmove->piid) {
2403  TRACE("trying (offset %d) %s\n", xmove->dwOffset, debugstr_guid(xmove->piid));
2404  if (IsEqualIID(riid, xmove->piid)) {
2405  a_vtbl = (IUnknown*)(xmove->dwOffset + (LPBYTE)base);
2406  TRACE("matched, returning (%p)\n", a_vtbl);
2407  *ppv = a_vtbl;
2408  IUnknown_AddRef(a_vtbl);
2409  return S_OK;
2410  }
2411  xmove++;
2412  }
2413 
2414  if (IsEqualIID(riid, &IID_IUnknown)) {
2415  a_vtbl = (IUnknown*)(table->dwOffset + (LPBYTE)base);
2416  TRACE("returning first for IUnknown (%p)\n", a_vtbl);
2417  *ppv = a_vtbl;
2418  IUnknown_AddRef(a_vtbl);
2419  return S_OK;
2420  }
2421  *ppv = 0;
2422  ret = E_NOINTERFACE;
2423  } else
2424  ret = E_POINTER;
2425 
2426  TRACE("-- 0x%08x\n", ret);
2427  return ret;
2428 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: glext.h:5644
unsigned char * LPBYTE
Definition: typedefs.h:53
GLuint base
Definition: 3dtext.c:35
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
const GUID IID_IUnknown
int ret
const IID * piid
Definition: shlwapi.h:2074
DWORD dwOffset
Definition: shlwapi.h:2076
#define S_OK
Definition: intsafe.h:59
#define E_POINTER
Definition: winerror.h:2365
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

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

◆ RegisterDefaultAcceptHeaders()

HRESULT WINAPI RegisterDefaultAcceptHeaders ( LPBC  lpBC,
IUnknown lpUnknown 
)

Definition at line 341 of file ordinal.c.

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

◆ SHAboutInfoA()

BOOL WINAPI SHAboutInfoA ( LPSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 908 of file ordinal.c.

909 {
910  WCHAR buff[2084];
911 
912  TRACE("(%p,%d)\n", lpszDest, dwDestLen);
913 
914  if (lpszDest && SHAboutInfoW(buff, dwDestLen))
915  {
916  WideCharToMultiByte(CP_ACP, 0, buff, -1, lpszDest, dwDestLen, NULL, NULL);
917  return TRUE;
918  }
919  return FALSE;
920 }
#define TRUE
Definition: types.h:120
#define WideCharToMultiByte
Definition: compat.h:101
#define CP_ACP
Definition: compat.h:99
BOOL WINAPI SHAboutInfoW(LPWSTR, DWORD)
Definition: ordinal.c:927
smooth NULL
Definition: ftsmooth.c:416
WCHAR lpszDest[260]
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
static unsigned char buff[32768]
Definition: fatten.c:17

◆ SHAboutInfoW()

BOOL WINAPI SHAboutInfoW ( LPWSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 927 of file ordinal.c.

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

Referenced by SHAboutInfoA().

◆ SHAllocShared()

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

Definition at line 162 of file ordinal.c.

163 {
164  HANDLE hMap;
165  LPVOID pMapped;
166  HANDLE hRet = NULL;
167 
168  TRACE("(%p,%d,%d)\n", lpvData, dwSize, dwProcId);
169 
170  /* Create file mapping of the correct length */
172  dwSize + sizeof(dwSize), NULL);
173  if (!hMap)
174  return hRet;
175 
176  /* Get a view in our process address space */
177  pMapped = MapViewOfFile(hMap, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0);
178 
179  if (pMapped)
180  {
181  /* Write size of data, followed by the data, to the view */
182  *((DWORD*)pMapped) = dwSize;
183  if (lpvData)
184  memcpy((char *) pMapped + sizeof(dwSize), lpvData, dwSize);
185 
186  /* Release view. All further views mapped will be opaque */
187  UnmapViewOfFile(pMapped);
188  hRet = SHMapHandle(hMap, GetCurrentProcessId(), dwProcId,
190  }
191 
192  CloseHandle(hMap);
193  return hRet;
194 }
#define CloseHandle
Definition: compat.h:407
#define MapViewOfFile
Definition: compat.h:411
#define INVALID_HANDLE_VALUE
Definition: compat.h:400
#define DUPLICATE_SAME_ACCESS
smooth NULL
Definition: ftsmooth.c:416
#define FILE_MAP_ALL_ACCESS
Definition: winbase.h:156
#define FILE_MAP_READ
Definition: compat.h:436
HANDLE WINAPI SHMapHandle(HANDLE hShared, DWORD dwSrcProcId, DWORD dwDstProcId, DWORD dwAccess, DWORD dwOptions)
Definition: ordinal.c:91
#define TRACE(s)
Definition: solgame.cpp:4
#define FILE_MAP_WRITE
Definition: winbase.h:154
unsigned long DWORD
Definition: ntddk_ex.h:95
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define UnmapViewOfFile
Definition: compat.h:412
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:54
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
DWORD WINAPI GetCurrentProcessId(VOID)
Definition: proc.c:1158

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

◆ SHBrowseForFolderWrapW()

LPITEMIDLIST WINAPI SHBrowseForFolderWrapW ( LPBROWSEINFOW  lpBi)

Definition at line 3368 of file ordinal.c.

3369 {
3370  return SHBrowseForFolderW(lpBi);
3371 }
LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
Definition: brsfolder.c:1309

◆ SHChangeNotifyWrap()

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

Definition at line 4874 of file ordinal.c.

4875 {
4876  SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2);
4877 }
UINT uFlags
Definition: api.c:59
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)

◆ SHCheckMenuItem()

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

Definition at line 1793 of file ordinal.c.

1794 {
1795  TRACE("%p, %u, %d\n", hMenu, uID, bCheck);
1796  return CheckMenuItem(hMenu, uID, bCheck ? MF_CHECKED : MF_UNCHECKED);
1797 }
#define MF_CHECKED
Definition: winuser.h:132
#define TRACE(s)
Definition: solgame.cpp:4
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define MF_UNCHECKED
Definition: winuser.h:204

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

◆ SHCoCreateInstanceAC()

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

Definition at line 4425 of file ordinal.c.

4427 {
4428  return CoCreateInstance(rclsid, pUnkOuter, dwClsContext, iid, ppv);
4429 }
REFIID LPVOID * ppv
Definition: atlbase.h:39
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 5044 of file ordinal.c.

5046 {
5047  FIXME("%p %s %d %s %p STUB\n", hKey, debugstr_w(subkey), grfMode,
5048  debugstr_guid(riid), ppv);
5049 
5050  return E_NOTIMPL;
5051 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ SHCreateShellPalette()

HPALETTE WINAPI SHCreateShellPalette ( HDC  hdc)

Definition at line 4282 of file ordinal.c.

4283 {
4284  FIXME("stub\n");
4285  return CreateHalftonePalette(hdc);
4286 }
#define FIXME(fmt,...)
Definition: debug.h:111
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 2630 of file ordinal.c.

2632 {
2633  static const char szClass[] = "WorkerA";
2634  WNDCLASSA wc;
2635  HWND hWnd;
2636 
2637  TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2638  wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2639 
2640  /* Create Window class */
2641  wc.style = 0;
2643  wc.cbClsExtra = 0;
2644  wc.cbWndExtra = sizeof(LONG_PTR);
2646  wc.hIcon = NULL;
2648  wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2649  wc.lpszMenuName = NULL;
2650  wc.lpszClassName = szClass;
2651 
2652  SHRegisterClassA(&wc);
2653 
2654  hWnd = CreateWindowExA(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2655  hWndParent, hMenu, shlwapi_hInstance, 0);
2656  if (hWnd)
2657  {
2658  SetWindowLongPtrW(hWnd, 0, wnd_extra);
2660  }
2661 
2662  return hWnd;
2663 }
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imm32.c:179
HWND hWnd
Definition: settings.c:17
int cbClsExtra
Definition: winuser.h:3140
LPCSTR lpszMenuName
Definition: winuser.h:3146
HBRUSH hbrBackground
Definition: winuser.h:3145
char * LPSTR
Definition: xmlstorage.h:182
int cbWndExtra
Definition: winuser.h:3141
HCURSOR hCursor
Definition: winuser.h:3144
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define COLOR_BTNFACE
Definition: winuser.h:918
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
Definition: ordinal.c:1810
#define SetWindowLongPtrA
Definition: winuser.h:5320
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LPCSTR lpszClassName
Definition: winuser.h:3147
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2059
#define GWLP_WNDPROC
Definition: treelist.c:66
UINT style
Definition: winuser.h:3138
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static LONG_PTR
Definition: ordinal.c:60
HINSTANCE hInstance
Definition: winuser.h:3142
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
WNDPROC lpfnWndProc
Definition: winuser.h:3139
#define IDC_ARROW
Definition: winuser.h:682
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)
#define SetWindowLongPtrW
Definition: winuser.h:5321
HINSTANCE shlwapi_hInstance
Definition: shlwapi_main.c:33
HICON hIcon
Definition: winuser.h:3143

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 2918 of file ordinal.c.

2920 {
2921  static const WCHAR szClass[] = { 'W', 'o', 'r', 'k', 'e', 'r', 'W', 0 };
2922  WNDCLASSW wc;
2923  HWND hWnd;
2924 
2925  TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2926  wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2927 
2928  /* If our OS is natively ANSI, use the ANSI version */
2929  if (GetVersion() & 0x80000000) /* not NT */
2930  {
2931  TRACE("fallback to ANSI, ver 0x%08x\n", GetVersion());
2932  return SHCreateWorkerWindowA(wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2933  }
2934 
2935  /* Create Window class */
2936  wc.style = 0;
2938  wc.cbClsExtra = 0;
2939  wc.cbWndExtra = sizeof(LONG_PTR);
2941  wc.hIcon = NULL;
2943  wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2944  wc.lpszMenuName = NULL;
2945  wc.lpszClassName = szClass;
2946 
2947  SHRegisterClassW(&wc);
2948 
2949  hWnd = CreateWindowExW(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2950  hWndParent, hMenu, shlwapi_hInstance, 0);
2951  if (hWnd)
2952  {
2953  SetWindowLongPtrW(hWnd, 0, wnd_extra);
2955  }
2956 
2957  return hWnd;
2958 }
DWORD WINAPI SHRegisterClassW(WNDCLASSW *lpWndClass)
Definition: ordinal.c:2510
UINT style
Definition: winuser.h:3151
LPCWSTR lpszMenuName
Definition: winuser.h:3159
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:2630
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imm32.c:179
HWND hWnd
Definition: settings.c:17
int cbClsExtra
Definition: winuser.h:3153
DWORD WINAPI GetVersion(VOID)
Definition: version.c:22
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
WNDPROC lpfnWndProc
Definition: winuser.h:3152
smooth NULL
Definition: ftsmooth.c:416
LPCWSTR lpszClassName
Definition: winuser.h:3160
#define TRACE(s)
Definition: solgame.cpp:4
int cbWndExtra
Definition: winuser.h:3154
__wchar_t WCHAR
Definition: xmlstorage.h:180
HICON hIcon
Definition: winuser.h:3156
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)
#define COLOR_BTNFACE
Definition: winuser.h:918
#define GWLP_WNDPROC
Definition: treelist.c:66
HCURSOR hCursor
Definition: winuser.h:3157
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static LONG_PTR
Definition: ordinal.c:60
HBRUSH hbrBackground
Definition: winuser.h:3158
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
HINSTANCE hInstance
Definition: winuser.h:3155
#define IDC_ARROW
Definition: winuser.h:682
#define SetWindowLongPtrW
Definition: winuser.h:5321
WCHAR * LPWSTR
Definition: xmlstorage.h:184
HINSTANCE shlwapi_hInstance
Definition: shlwapi_main.c:33

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

◆ SHDefExtractIconWrapW()

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

Definition at line 3510 of file ordinal.c.

3512 {
3513  return SHDefExtractIconW(pszIconFile, iIndex, uFlags, phiconLarge, phiconSmall, nIconSize);
3514 }
UINT uFlags
Definition: api.c:59
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
Definition: iconcache.cpp:1032

◆ SHDefWindowProc()

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

Definition at line 2583 of file ordinal.c.

2584 {
2585  if (IsWindowUnicode(hWnd))
2586  return DefWindowProcW(hWnd, uMessage, wParam, lParam);
2587  return DefWindowProcA(hWnd, uMessage, wParam, lParam);
2588 }
HWND hWnd
Definition: settings.c:17
WPARAM wParam
Definition: combotst.c:138
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI IsWindowUnicode(_In_ HWND)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LPARAM lParam
Definition: combotst.c:139

◆ ShellExecuteExWrapW()

BOOL WINAPI ShellExecuteExWrapW ( LPSHELLEXECUTEINFOW  lpExecInfo)

Definition at line 3388 of file ordinal.c.

3389 {
3390  return ShellExecuteExW(lpExecInfo);
3391 }
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
Definition: shlexec.cpp:2263

◆ ShellMessageBoxWrapW()

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

Definition at line 4812 of file ordinal.c.

4814 {
4815  WCHAR *szText = NULL, szTitle[100];
4816  LPCWSTR pszText, pszTitle = szTitle;
4817  LPWSTR pszTemp;
4819  int ret;
4820 
4821  __ms_va_start(args, uType);
4822 
4823  TRACE("(%p,%p,%p,%p,%08x)\n", hInstance, hWnd, lpText, lpCaption, uType);
4824 
4825  if (IS_INTRESOURCE(lpCaption))
4826  LoadStringW(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)/sizeof(szTitle[0]));
4827  else
4828  pszTitle = lpCaption;
4829 
4830  if (IS_INTRESOURCE(lpText))
4831  {
4832  const WCHAR *ptr;
4833  UINT len = LoadStringW(hInstance, LOWORD(lpText), (LPWSTR)&ptr, 0);
4834 
4835  if (len)
4836  {
4837  szText = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
4838  if (szText) LoadStringW(hInstance, LOWORD(lpText), szText, len + 1);
4839  }
4840  pszText = szText;
4841  if (!pszText) {
4842  WARN("Failed to load id %d\n", LOWORD(lpText));
4843  __ms_va_end(args);
4844  return 0;
4845  }
4846  }
4847  else
4848  pszText = lpText;
4849