ReactOS  0.4.14-dev-608-gd495a4f
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 x)
 
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 3400 of file ordinal.c.

◆ FDSA_FLAG_INTERNAL_ALLOC

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

Definition at line 2226 of file ordinal.c.

◆ GET_RGB

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

Definition at line 3754 of file ordinal.c.

◆ IShellBrowser_EnableModeless

#define IShellBrowser_EnableModeless   IShellBrowser_EnableModelessSB

Definition at line 3399 of file ordinal.c.

◆ IsIface

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

Definition at line 3398 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 5271 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_LIMITEDQI

#define OBJCOMPAT_CTXMENU_LIMITEDQI   0x00000080

Definition at line 5270 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_NOVERBS

#define OBJCOMPAT_CTXMENU_NOVERBS   0x00000040

Definition at line 5269 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_XPQCMFLAGS

#define OBJCOMPAT_CTXMENU_XPQCMFLAGS   0x00001000

Definition at line 5274 of file ordinal.c.

◆ OBJCOMPAT_NEEDSFILESYSANCESTOR

#define OBJCOMPAT_NEEDSFILESYSANCESTOR   0x00000010

Definition at line 5267 of file ordinal.c.

◆ OBJCOMPAT_NEEDSSTORAGEANCESTOR

#define OBJCOMPAT_NEEDSSTORAGEANCESTOR   0x00000200

Definition at line 5272 of file ordinal.c.

◆ OBJCOMPAT_NO_WEBVIEW

#define OBJCOMPAT_NO_WEBVIEW   0x00000002

Definition at line 5264 of file ordinal.c.

◆ OBJCOMPAT_NOIPROPERTYSTORE

#define OBJCOMPAT_NOIPROPERTYSTORE   0x00002000

Definition at line 5275 of file ordinal.c.

◆ OBJCOMPAT_NOLEGACYWEBVIEW

#define OBJCOMPAT_NOLEGACYWEBVIEW   0x00000400

Definition at line 5273 of file ordinal.c.

◆ OBJCOMPAT_NOTAFILESYSTEM

#define OBJCOMPAT_NOTAFILESYSTEM   0x00000020

Definition at line 5268 of file ordinal.c.

◆ OBJCOMPAT_OTNEEDSSFCACHE

#define OBJCOMPAT_OTNEEDSSFCACHE   0x00000001

Definition at line 5263 of file ordinal.c.

◆ OBJCOMPAT_PINDLL

#define OBJCOMPAT_PINDLL   0x00000008

Definition at line 5266 of file ordinal.c.

◆ OBJCOMPAT_UNBINDABLE

#define OBJCOMPAT_UNBINDABLE   0x00000004

Definition at line 5265 of file ordinal.c.

◆ SHELL_NO_POLICY

#define SHELL_NO_POLICY   0xffffffff

Definition at line 2626 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 4715 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 3942 of file ordinal.c.

3943 {
3944  return CLSIDFromString((LPCOLESTR)idstr, id);
3945 }
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338

◆ ColorAdjustLuma()

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

Definition at line 3638 of file ordinal.c.

3639 {
3640  TRACE("(0x%8x,%d,%d)\n", cRGB, dwLuma, bUnknown);
3641 
3642  if (dwLuma)
3643  {
3644  WORD wH, wL, wS;
3645 
3646  ColorRGBToHLS(cRGB, &wH, &wL, &wS);
3647 
3648  FIXME("Ignoring luma adjustment\n");
3649 
3650  /* FIXME: The adjustment is not linear */
3651 
3652  cRGB = ColorHLSToRGB(wH, wL, wS);
3653  }
3654  return cRGB;
3655 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
Definition: ordinal.c:4174
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
Definition: ordinal.c:3772
unsigned short WORD
Definition: ntddk_ex.h:93

◆ ColorHLSToRGB()

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

Definition at line 3772 of file ordinal.c.

3773 {
3774  WORD wRed;
3775 
3776  if (wSaturation)
3777  {
3778  WORD wGreen, wBlue, wMid1, wMid2;
3779 
3780  if (wLuminosity > 120)
3781  wMid2 = wSaturation + wLuminosity - (wSaturation * wLuminosity + 120) / 240;
3782  else
3783  wMid2 = ((wSaturation + 240) * wLuminosity + 120) / 240;
3784 
3785  wMid1 = wLuminosity * 2 - wMid2;
3786 
3787  wRed = GET_RGB(wHue + 80);
3788  wGreen = GET_RGB(wHue);
3789  wBlue = GET_RGB(wHue - 80);
3790 
3791  return RGB(wRed, wGreen, wBlue);
3792  }
3793 
3794  wRed = wLuminosity * 255 / 240;
3795  return RGB(wRed, wRed, wRed);
3796 }
#define GET_RGB(h)
Definition: ordinal.c:3754
#define RGB(r, g, b)
Definition: wingdi.h:2939
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 4174 of file ordinal.c.

4176 {
4177  int wR, wG, wB, wMax, wMin, wHue, wLuminosity, wSaturation;
4178 
4179  TRACE("(%08x,%p,%p,%p)\n", cRGB, pwHue, pwLuminance, pwSaturation);
4180 
4181  wR = GetRValue(cRGB);
4182  wG = GetGValue(cRGB);
4183  wB = GetBValue(cRGB);
4184 
4185  wMax = max(wR, max(wG, wB));
4186  wMin = min(wR, min(wG, wB));
4187 
4188  /* Luminosity */
4189  wLuminosity = ((wMax + wMin) * 240 + 255) / 510;
4190 
4191  if (wMax == wMin)
4192  {
4193  /* Achromatic case */
4194  wSaturation = 0;
4195  /* Hue is now unrepresentable, but this is what native returns... */
4196  wHue = 160;
4197  }
4198  else
4199  {
4200  /* Chromatic case */
4201  int wDelta = wMax - wMin, wRNorm, wGNorm, wBNorm;
4202 
4203  /* Saturation */
4204  if (wLuminosity <= 120)
4205  wSaturation = ((wMax + wMin)/2 + wDelta * 240) / (wMax + wMin);
4206  else
4207  wSaturation = ((510 - wMax - wMin)/2 + wDelta * 240) / (510 - wMax - wMin);
4208 
4209  /* Hue */
4210  wRNorm = (wDelta/2 + wMax * 40 - wR * 40) / wDelta;
4211  wGNorm = (wDelta/2 + wMax * 40 - wG * 40) / wDelta;
4212  wBNorm = (wDelta/2 + wMax * 40 - wB * 40) / wDelta;
4213 
4214  if (wR == wMax)
4215  wHue = wBNorm - wGNorm;
4216  else if (wG == wMax)
4217  wHue = 80 + wRNorm - wBNorm;
4218  else
4219  wHue = 160 + wGNorm - wRNorm;
4220  if (wHue < 0)
4221  wHue += 240;
4222  else if (wHue > 240)
4223  wHue -= 240;
4224  }
4225  if (pwHue)
4226  *pwHue = wHue;
4227  if (pwLuminance)
4228  *pwLuminance = wLuminosity;
4229  if (pwSaturation)
4230  *pwSaturation = wSaturation;
4231 }
#define max(a, b)
Definition: svc.c:63
#define GetRValue(rgb)
Definition: wingdi.h:2934
#define GetGValue(rgb)
Definition: wingdi.h:2935
#define TRACE(s)
Definition: solgame.cpp:4
#define min(a, b)
Definition: monoChain.cc:55
#define GetBValue(rgb)
Definition: wingdi.h:2936

Referenced by ColorAdjustLuma().

◆ ConnectToConnectionPoint()

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

Definition at line 1140 of file ordinal.c.

1143 {
1144  HRESULT hRet;
1145  IConnectionPointContainer* lpContainer;
1146  IConnectionPoint *lpCP;
1147 
1148  if(!lpUnknown || (fConnect && !lpUnkSink))
1149  return E_FAIL;
1150 
1151  if(lppCP)
1152  *lppCP = NULL;
1153 
1154  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer,
1155  (void**)&lpContainer);
1156  if (SUCCEEDED(hRet))
1157  {
1158  hRet = IConnectionPointContainer_FindConnectionPoint(lpContainer, riid, &lpCP);
1159 
1160  if (SUCCEEDED(hRet))
1161  {
1162  if(!fConnect)
1163  hRet = IConnectionPoint_Unadvise(lpCP, *lpCookie);
1164  else
1165  hRet = IConnectionPoint_Advise(lpCP, lpUnkSink, lpCookie);
1166 
1167  if (FAILED(hRet))
1168  *lpCookie = 0;
1169 
1170  if (lppCP && SUCCEEDED(hRet))
1171  *lppCP = lpCP; /* Caller keeps the interface */
1172  else
1173  IConnectionPoint_Release(lpCP); /* Release it */
1174  }
1175 
1176  IConnectionPointContainer_Release(lpContainer);
1177  }
1178  return hRet;
1179 }
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:77
#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 3739 of file ordinal.c.

3740 {
3741  wHue = wHue > 240 ? wHue - 240 : wHue < 0 ? wHue + 240 : wHue;
3742 
3743  if (wHue > 160)
3744  return wMid1;
3745  else if (wHue > 120)
3746  wHue = 160 - wHue;
3747  else if (wHue > 40)
3748  return wMid2;
3749 
3750  return ((wHue * (wMid2 - wMid1) + 20) / 40) + wMid1;
3751 }

◆ DragQueryFileWrapW()

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

Definition at line 3312 of file ordinal.c.

3313 {
3314  return DragQueryFileW(hDrop, lFile, lpszFile, lLength);
3315 }
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 3544 of file ordinal.c.

3546 {
3547  return ExtractIconW(hInstance, lpszExeFileName, nIconIndex);
3548 }
HICON WINAPI ExtractIconW(HINSTANCE hInstance, LPCWSTR lpszFile, UINT nIconIndex)
Definition: shell32_main.c:878
HINSTANCE hInstance
Definition: charmap.c:20

◆ FDSA_DeleteItem()

BOOL WINAPI FDSA_DeleteItem ( FDSA_info info,
DWORD  where 
)

Definition at line 2315 of file ordinal.c.

2316 {
2317  TRACE("(%p 0x%08x)\n", info, where);
2318 
2319  if(where >= info->num_items)
2320  return FALSE;
2321 
2322  if(where < info->num_items - 1)
2323  {
2324  memmove((char*)info->mem + where * info->block_size,
2325  (char*)info->mem + (where + 1) * info->block_size,
2326  (info->num_items - where - 1) * info->block_size);
2327  }
2328  memset((char*)info->mem + (info->num_items - 1) * info->block_size,
2329  0, info->block_size);
2330  info->num_items--;
2331  return TRUE;
2332 }
#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 2259 of file ordinal.c.

2260 {
2261  TRACE("(%p)\n", info);
2262 
2263  if(info->flags & FDSA_FLAG_INTERNAL_ALLOC)
2264  {
2265  HeapFree(GetProcessHeap(), 0, info->mem);
2266  return FALSE;
2267  }
2268 
2269  return TRUE;
2270 }
#define TRUE
Definition: types.h:120
#define FDSA_FLAG_INTERNAL_ALLOC
Definition: ordinal.c:2226
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define HeapFree(x, y, z)
Definition: compat.h:402

◆ FDSA_Initialize()

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

Definition at line 2233 of file ordinal.c.

2235 {
2236  TRACE("(0x%08x 0x%08x %p %p 0x%08x)\n", block_size, inc, info, mem, init_blocks);
2237 
2238  if(inc == 0)
2239  inc = 1;
2240 
2241  if(mem)
2242  memset(mem, 0, block_size * init_blocks);
2243 
2244  info->num_items = 0;
2245  info->inc = inc;
2246  info->mem = mem;
2247  info->blocks_alloced = init_blocks;
2248  info->block_size = block_size;
2249  info->flags = 0;
2250 
2251  return TRUE;
2252 }
#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 2277 of file ordinal.c.

2278 {
2279  TRACE("(%p 0x%08x %p)\n", info, where, block);
2280  if(where > info->num_items)
2281  where = info->num_items;
2282 
2283  if(info->num_items >= info->blocks_alloced)
2284  {
2285  DWORD size = (info->blocks_alloced + info->inc) * info->block_size;
2286  if(info->flags & 0x1)
2288  else
2289  {
2290  void *old_mem = info->mem;
2292  memcpy(info->mem, old_mem, info->blocks_alloced * info->block_size);
2293  }
2294  info->blocks_alloced += info->inc;
2295  info->flags |= 0x1;
2296  }
2297 
2298  if(where < info->num_items)
2299  {
2300  memmove((char*)info->mem + (where + 1) * info->block_size,
2301  (char*)info->mem + where * info->block_size,
2302  (info->num_items - where) * info->block_size);
2303  }
2304  memcpy((char*)info->mem + where * info->block_size, block, info->block_size);
2305 
2306  info->num_items++;
2307  return where;
2308 }
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:403
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:401
#define HEAP_ZERO_MEMORY
Definition: compat.h:123

◆ FixSlashesAndColonW()

VOID WINAPI FixSlashesAndColonW ( LPWSTR  lpwstr)

Definition at line 4343 of file ordinal.c.

4344 {
4345  while (*lpwstr)
4346  {
4347  if (*lpwstr == '/')
4348  *lpwstr = '\\';
4349  lpwstr++;
4350  }
4351 }

◆ GetAcceptLanguagesA()

HRESULT WINAPI GetAcceptLanguagesA ( LPSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 524 of file ordinal.c.

525 {
526  WCHAR *langbufW;
527  DWORD buflenW, convlen;
528  HRESULT retval;
529 
530  TRACE("(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
531 
532  if(!langbuf || !buflen || !*buflen) return E_FAIL;
533 
534  buflenW = *buflen;
535  langbufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * buflenW);
536  retval = GetAcceptLanguagesW(langbufW, &buflenW);
537 
538  if (retval == S_OK)
539  {
540  convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf, *buflen, NULL, NULL);
541  convlen--; /* do not count the terminating 0 */
542  }
543  else /* copy partial string anyway */
544  {
545  convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, *buflen, langbuf, *buflen, NULL, NULL);
546  if (convlen < *buflen)
547  {
548  langbuf[convlen] = 0;
549  convlen--; /* do not count the terminating 0 */
550  }
551  else
552  {
553  convlen = *buflen;
554  }
555  }
556  *buflen = buflenW ? convlen : 0;
557 
558  HeapFree(GetProcessHeap(), 0, langbufW);
559  return retval;
560 }
#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:465
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
unsigned long DWORD
Definition: ntddk_ex.h:95
#define S_OK
Definition: intsafe.h:59
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by init_pointers().

◆ GetAcceptLanguagesW()

HRESULT WINAPI GetAcceptLanguagesW ( LPWSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 465 of file ordinal.c.

466 {
467  static const WCHAR szkeyW[] = {
468  'S','o','f','t','w','a','r','e','\\',
469  'M','i','c','r','o','s','o','f','t','\\',
470  'I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r','\\',
471  'I','n','t','e','r','n','a','t','i','o','n','a','l',0};
472  static const WCHAR valueW[] = {
473  'A','c','c','e','p','t','L','a','n','g','u','a','g','e',0};
474  DWORD mystrlen, mytype;
475  DWORD len;
476  HKEY mykey;
477  LCID mylcid;
478  WCHAR *mystr;
479  LONG lres;
480 
481  TRACE("(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
482 
483  if(!langbuf || !buflen || !*buflen)
484  return E_FAIL;
485 
486  mystrlen = (*buflen > 20) ? *buflen : 20 ;
487  len = mystrlen * sizeof(WCHAR);
488  mystr = HeapAlloc(GetProcessHeap(), 0, len);
489  mystr[0] = 0;
490  RegOpenKeyW(HKEY_CURRENT_USER, szkeyW, &mykey);
491  lres = RegQueryValueExW(mykey, valueW, 0, &mytype, (PBYTE)mystr, &len);
492  RegCloseKey(mykey);
493  len = lstrlenW(mystr);
494 
495  if (!lres && (*buflen > len)) {
496  lstrcpyW(langbuf, mystr);
497  *buflen = len;
498  HeapFree(GetProcessHeap(), 0, mystr);
499  return S_OK;
500  }
501 
502  /* Did not find a value in the registry or the user buffer is too small */
503  mylcid = GetUserDefaultLCID();
504  LcidToRfc1766W(mylcid, mystr, mystrlen);
505  len = lstrlenW(mystr);
506 
507  memcpy( langbuf, mystr, min(*buflen, len+1)*sizeof(WCHAR) );
508  HeapFree(GetProcessHeap(), 0, mystr);
509 
510  if (*buflen > len) {
511  *buflen = len;
512  return S_OK;
513  }
514 
515  *buflen = 0;
517 }
#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:415
#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:403
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:414
#define min(a, b)
Definition: monoChain.cc:55
BYTE * PBYTE
Definition: pedump.c:66
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by GetAcceptLanguagesA().

◆ GetFileVersionInfoSizeWrapW()

DWORD WINAPI GetFileVersionInfoSizeWrapW ( LPCWSTR  filename,
LPDWORD  handle 
)

Definition at line 3371 of file ordinal.c.

3372 {
3374 }
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 3381 of file ordinal.c.

3383 {
3385 }
static SIZE_T datasize
Definition: asm.c:30
const char * filename
Definition: ioapi.h:135
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 4306 of file ordinal.c.

4307 {
4308  MENUITEMINFOW mi;
4309  INT nCount = GetMenuItemCount(hMenu), nIter = 0;
4310 
4311  TRACE("%p %u\n", hMenu, wID);
4312 
4313  while (nIter < nCount)
4314  {
4315  mi.cbSize = sizeof(mi);
4316  mi.fMask = MIIM_ID;
4317  if (GetMenuItemInfoW(hMenu, nIter, TRUE, &mi) && mi.wID == wID)
4318  {
4319  TRACE("ret %d\n", nIter);
4320  return nIter;
4321  }
4322  nIter++;
4323  }
4324 
4325  return -1;
4326 }
#define TRUE
Definition: types.h:120
static MONITORINFO mi
Definition: win.c:7339
int32_t INT
Definition: typedefs.h:56
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 3713 of file ordinal.c.

3714 {
3715  return GetOpenFileNameW(ofn);
3716 }
OPENFILENAME ofn
Definition: main.cpp:37
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
Definition: filedlg.c:4565

◆ GetSaveFileNameWrapW()

BOOL WINAPI GetSaveFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3662 of file ordinal.c.

3663 {
3664  return GetSaveFileNameW(ofn);
3665 }
OPENFILENAME ofn
Definition: main.cpp:37
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
Definition: filedlg.c:4630

◆ GetShellSecurityDescriptor()

PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor ( const PSHELL_USER_PERMISSION apUserPerm,
int  cUserPerm 
)

Definition at line 4853 of file ordinal.c.

4854 {
4855  PSID *sidlist;
4856  PSID cur_user = NULL;
4857  BYTE tuUser[2000];
4858  DWORD acl_size;
4859  int sid_count, i;
4860  PSECURITY_DESCRIPTOR psd = NULL;
4861 
4862  TRACE("%p %d\n", apUserPerm, cUserPerm);
4863 
4864  if (apUserPerm == NULL || cUserPerm <= 0)
4865  return NULL;
4866 
4867  sidlist = HeapAlloc(GetProcessHeap(), 0, cUserPerm * sizeof(PSID));
4868  if (!sidlist)
4869  return NULL;
4870 
4871  acl_size = sizeof(ACL);
4872 
4873  for(sid_count = 0; sid_count < cUserPerm; sid_count++)
4874  {
4875  static SHELL_USER_SID null_sid = {{SECURITY_NULL_SID_AUTHORITY}, 0, 0};
4876  PSHELL_USER_PERMISSION perm = apUserPerm[sid_count];
4877  PSHELL_USER_SID sid = &perm->susID;
4878  PSID pSid;
4879  BOOL ret = TRUE;
4880 
4881  if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID)))
4882  { /* current user's SID */
4883  if (!cur_user)
4884  {
4885  HANDLE Token;
4886  DWORD bufsize = sizeof(tuUser);
4887 
4889  if (ret)
4890  {
4891  ret = GetTokenInformation(Token, TokenUser, (void*)tuUser, bufsize, &bufsize );
4892  if (ret)
4893  cur_user = ((PTOKEN_USER)tuUser)->User.Sid;
4894  CloseHandle(Token);
4895  }
4896  }
4897  pSid = cur_user;
4898  } else if (sid->dwUserID==0) /* one sub-authority */
4899  ret = AllocateAndInitializeSid(&sid->sidAuthority, 1, sid->dwUserGroupID, 0,
4900  0, 0, 0, 0, 0, 0, &pSid);
4901  else
4902  ret = AllocateAndInitializeSid(&sid->sidAuthority, 2, sid->dwUserGroupID, sid->dwUserID,
4903  0, 0, 0, 0, 0, 0, &pSid);
4904  if (!ret)
4905  goto free_sids;
4906 
4907  sidlist[sid_count] = pSid;
4908  /* increment acl_size (1 ACE for non-inheritable and 2 ACEs for inheritable records */
4909  acl_size += (sizeof(ACCESS_ALLOWED_ACE)-sizeof(DWORD) + GetLengthSid(pSid)) * (perm->fInherit ? 2 : 1);
4910  }
4911 
4912  psd = LocalAlloc(0, sizeof(SECURITY_DESCRIPTOR) + acl_size);
4913 
4914  if (psd != NULL)
4915  {
4916  PACL pAcl = (PACL)(((BYTE*)psd)+sizeof(SECURITY_DESCRIPTOR));
4917 
4919  goto error;
4920 
4921  if (!InitializeAcl(pAcl, acl_size, ACL_REVISION))
4922  goto error;
4923 
4924  for(i = 0; i < sid_count; i++)
4925  {
4926  PSHELL_USER_PERMISSION sup = apUserPerm[i];
4927  PSID sid = sidlist[i];
4928 
4929  switch(sup->dwAccessType)
4930  {
4932  if (!AddAccessAllowedAce(pAcl, ACL_REVISION, sup->dwAccessMask, sid))
4933  goto error;
4934  if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION,
4935  (BYTE)sup->dwInheritMask, sup->dwInheritAccessMask, sid))
4936  goto error;
4937  break;
4939  if (!AddAccessDeniedAce(pAcl, ACL_REVISION, sup->dwAccessMask, sid))
4940  goto error;
4941  if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION,
4942  (BYTE)sup->dwInheritMask, sup->dwInheritAccessMask, sid))
4943  goto error;
4944  break;
4945  default:
4946  goto error;
4947  }
4948  }
4949 
4950  if (!SetSecurityDescriptorDacl(psd, TRUE, pAcl, FALSE))
4951  goto error;
4952  }
4953  goto free_sids;
4954 
4955 error:
4956  LocalFree(psd);
4957  psd = NULL;
4958 free_sids:
4959  for(i = 0; i < sid_count; i++)
4960  {
4961  if (!cur_user || sidlist[i] != cur_user)
4962  FreeSid(sidlist[i]);
4963  }
4964  HeapFree(GetProcessHeap(), 0, sidlist);
4965 
4966  return psd;
4967 }
#define TRUE
Definition: types.h:120
#define CloseHandle
Definition: compat.h:406
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:403
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
unsigned char BYTE
Definition: mem.h:68
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
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:402
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:4828

Referenced by init_pointers().

◆ GetStringType3ExW()

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

Definition at line 730 of file ordinal.c.

731 {
733 }
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 4720 of file ordinal.c.

4721 {
4722  static DWORD version;
4723 
4724  if (!version)
4725  {
4726  DllGetVersion_func pDllGetVersion;
4727  HMODULE dll = LoadLibraryA("shell32.dll");
4728  if (!dll) return 0;
4729 
4730  pDllGetVersion = (DllGetVersion_func)GetProcAddress(dll, "DllGetVersion");
4731  if (pDllGetVersion)
4732  {
4733  DLLVERSIONINFO dvi;
4734  dvi.cbSize = sizeof(DLLVERSIONINFO);
4735  if (pDllGetVersion(&dvi) == S_OK) version = dvi.dwMajorVersion;
4736  }
4737  FreeLibrary( dll );
4738  if (!version) version = 3; /* old shell dlls don't have DllGetVersion */
4739  }
4740  return version;
4741 }
static HMODULE dll
Definition: str.c:188
HRESULT(WINAPI * DllGetVersion_func)(DLLVERSIONINFO *)
Definition: ordinal.c:4715
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:413
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:418

◆ GUIDFromStringA()

BOOL WINAPI GUIDFromStringA ( LPCSTR  idstr,
CLSID id 
)

Definition at line 2784 of file ordinal.c.

2785 {
2786  WCHAR wClsid[40];
2787  MultiByteToWideChar(CP_ACP, 0, idstr, -1, wClsid, sizeof(wClsid)/sizeof(WCHAR));
2788  return SUCCEEDED(CLSIDFromString(wClsid, id));
2789 }
#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 2796 of file ordinal.c.

2797 {
2798  return SUCCEEDED(CLSIDFromString((LPCOLESTR)idstr, id));
2799 }
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 3048 of file ordinal.c.

3051 {
3052  IID iid;
3053  HRESULT result;
3054 
3055  FIXME("(%p)->(0x%x %p %x %x) partial stub\n", iCP, dispId, dispParams, unknown1, unknown2);
3056 
3057  result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3058  if (SUCCEEDED(result))
3059  result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3060  else
3061  result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3062 
3063  return result;
3064 }
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3009
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:77
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 3105 of file ordinal.c.

3106 {
3107  IEnumConnections *lpEnum;
3108  HRESULT hRet = E_NOINTERFACE;
3109 
3110  TRACE("(%p,0x%8X)\n", lpCP, dispID);
3111 
3112  /* Get an enumerator for the connections */
3113  if (lpCP)
3114  hRet = IConnectionPoint_EnumConnections(lpCP, &lpEnum);
3115 
3116  if (SUCCEEDED(hRet))
3117  {
3118  IPropertyNotifySink *lpSink;
3119  CONNECTDATA connData;
3120  ULONG ulFetched;
3121 
3122  /* Call OnChanged() for every notify sink in the connection point */
3123  while (IEnumConnections_Next(lpEnum, 1, &connData, &ulFetched) == S_OK)
3124  {
3125  if (SUCCEEDED(IUnknown_QueryInterface(connData.pUnk, &IID_IPropertyNotifySink, (void**)&lpSink)) &&
3126  lpSink)
3127  {
3128  IPropertyNotifySink_OnChanged(lpSink, dispID);
3129  IPropertyNotifySink_Release(lpSink);
3130  }
3131  IUnknown_Release(connData.pUnk);
3132  }
3133 
3134  IEnumConnections_Release(lpEnum);
3135  }
3136  return hRet;
3137 }
#define E_NOINTERFACE
Definition: winerror.h:2364
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#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 3072 of file ordinal.c.

3076 {
3077  IID iid;
3078  HRESULT result;
3079 
3080  TRACE("(%p)->(0x%x %p)\n",iCP,dispId,dispParams);
3081 
3082  result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3083  if (SUCCEEDED(result))
3084  result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3085  else
3086  result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3087 
3088  return result;
3089 }
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3009
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
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 643 of file ordinal.c.

644 {
645  WORD CharType;
646 
647  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_BLANK);
648 }
#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 681 of file ordinal.c.

682 {
683  WORD CharType;
684 
685  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_CNTRL);
686 }
#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 700 of file ordinal.c.

701 {
702  WORD CharType;
703 
704  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_DIGIT);
705 }
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 662 of file ordinal.c.

663 {
664  WORD CharType;
665 
666  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_PUNCT);
667 }
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 719 of file ordinal.c.

720 {
721  WORD CharType;
722 
723  return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_XDIGIT);
724 }
#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 3959 of file ordinal.c.

3960 {
3962  DWORD platform, majorv, minorv;
3963 
3965  if(!GetVersionExA(&osvi)) {
3966  ERR("GetVersionEx failed\n");
3967  return FALSE;
3968  }
3969 
3970  majorv = osvi.dwMajorVersion;
3971  minorv = osvi.dwMinorVersion;
3973 
3974 #define ISOS_RETURN(x) \
3975  TRACE("(0x%x) ret=%d\n",feature,(x)); \
3976  return (x);
3977 
3978  switch(feature) {
3979  case OS_WIN32SORGREATER:
3982  case OS_NT:
3984  case OS_WIN95ORGREATER:
3986  case OS_NT4ORGREATER:
3987  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 4)
3989  case OS_WIN2000ORGREATER:
3990  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
3991  case OS_WIN98ORGREATER:
3992  ISOS_RETURN(platform == VER_PLATFORM_WIN32_WINDOWS && minorv >= 10)
3993  case OS_WIN98_GOLD:
3994  ISOS_RETURN(platform == VER_PLATFORM_WIN32_WINDOWS && minorv == 10)
3995  case OS_WIN2000PRO:
3996  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
3997  case OS_WIN2000SERVER:
3998  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
3999  case OS_WIN2000ADVSERVER:
4000  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4001  case OS_WIN2000DATACENTER:
4002  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4003  case OS_WIN2000TERMINAL:
4004  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4005  case OS_EMBEDDED:
4006  FIXME("(OS_EMBEDDED) What should we return here?\n");
4007  return FALSE;
4008  case OS_TERMINALCLIENT:
4009  FIXME("(OS_TERMINALCLIENT) What should we return here?\n");
4010  return FALSE;
4012  FIXME("(OS_TERMINALREMOTEADMIN) What should we return here?\n");
4013  return FALSE;
4014  case OS_WIN95_GOLD:
4016  case OS_MEORGREATER:
4017  ISOS_RETURN(platform == VER_PLATFORM_WIN32_WINDOWS && minorv >= 90)
4018  case OS_XPORGREATER:
4019  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4020  case OS_HOME:
4021  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4022  case OS_PROFESSIONAL:
4024  case OS_DATACENTER:
4026  case OS_ADVSERVER:
4027  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4028  case OS_SERVER:
4030  case OS_TERMINALSERVER:
4033  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && minorv >= 1 && majorv >= 5)
4034  case OS_FASTUSERSWITCHING:
4035  FIXME("(OS_FASTUSERSWITCHING) What should we return here?\n");
4036  return TRUE;
4037  case OS_WELCOMELOGONUI:
4038  FIXME("(OS_WELCOMELOGONUI) What should we return here?\n");
4039  return FALSE;
4040  case OS_DOMAINMEMBER:
4041  FIXME("(OS_DOMAINMEMBER) What should we return here?\n");
4042  return TRUE;
4043  case OS_ANYSERVER:
4045  case OS_WOW6432:
4046  {
4047  BOOL is_wow64;
4049  return is_wow64;
4050  }
4051  case OS_WEBSERVER:
4055  case OS_TABLETPC:
4056  FIXME("(OS_TABLETPC) What should we return here?\n");
4057  return FALSE;
4058  case OS_SERVERADMINUI:
4059  FIXME("(OS_SERVERADMINUI) What should we return here?\n");
4060  return FALSE;
4061  case OS_MEDIACENTER:
4062  FIXME("(OS_MEDIACENTER) What should we return here?\n");
4063  return FALSE;
4064  case OS_APPLIANCE:
4065  FIXME("(OS_APPLIANCE) What should we return here?\n");
4066  return FALSE;
4067  case 0x25: /*OS_VISTAORGREATER*/
4068  ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 6)
4069  }
4070 
4071 #undef ISOS_RETURN
4072 
4073  WARN("(0x%x) unknown parameter\n",feature);
4074 
4075  return FALSE;
4076 }
#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:111
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:110
#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:1974
#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:109
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 2182 of file ordinal.c.

2183 {
2184  FIXME("(%p,%d,%p) - stub!\n", pguidCmdGroup, cCmds, prgCmds);
2185  return DRAGDROP_E_NOTREGISTERED;
2186 }
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652
#define FIXME(fmt,...)
Definition: debug.h:110

◆ IUnknown_AtomicRelease()

void WINAPI IUnknown_AtomicRelease ( IUnknown **  lpUnknown)

Definition at line 1192 of file ordinal.c.

1193 {
1194  TRACE("(%p)\n", lpUnknown);
1195 
1196  if(!lpUnknown || !*lpUnknown) return;
1197 
1198  TRACE("doing Release\n");
1199 
1200  IUnknown_Release(*lpUnknown);
1201  *lpUnknown = NULL;
1202 }
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 3144 of file ordinal.c.

3150 {
3151  HRESULT result;
3152  IConnectionPoint *iCP;
3154  DISPPARAMS dispParams = {buffer, NULL, cParams, 0};
3156 
3157  if (!container)
3158  return E_NOINTERFACE;
3159 
3160  result = IUnknown_QueryInterface(container, &IID_IConnectionPointContainer,(LPVOID*) &iCPC);
3161  if (FAILED(result))
3162  return result;
3163 
3164  result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP);
3165  IConnectionPointContainer_Release(iCPC);
3166  if(FAILED(result))
3167  return result;
3168 
3169  __ms_va_start(valist, cParams);
3170  SHPackDispParamsV(&dispParams, buffer, cParams, valist);
3172 
3173  result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams);
3174  IConnectionPoint_Release(iCP);
3175 
3176  return result;
3177 }
#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:3009
HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
Definition: ordinal.c:2939
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:77
#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 3193 of file ordinal.c.

3194 {
3196  HRESULT hRet = E_NOINTERFACE;
3197 
3198  TRACE("(%p,0x%8X)\n", lpUnknown, dispID);
3199 
3200  if (lpUnknown)
3201  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer, (void**)&lpCPC);
3202 
3203  if (SUCCEEDED(hRet))
3204  {
3205  IConnectionPoint* lpCP;
3206 
3207  hRet = IConnectionPointContainer_FindConnectionPoint(lpCPC, &IID_IPropertyNotifySink, &lpCP);
3208  IConnectionPointContainer_Release(lpCPC);
3209 
3210  hRet = IConnectionPoint_OnChanged(lpCP, dispID);
3211  IConnectionPoint_Release(lpCP);
3212  }
3213  return hRet;
3214 }
#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:77
HRESULT WINAPI IConnectionPoint_OnChanged(IConnectionPoint *lpCP, DISPID dispID)
Definition: ordinal.c:3105
const GUID IID_IPropertyNotifySink
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IUnknown_EnableModeless()

HRESULT WINAPI IUnknown_EnableModeless ( IUnknown lpUnknown,
BOOL  bModeless 
)

Definition at line 3421 of file ordinal.c.

3422 {
3423  IUnknown *lpObj;
3424  HRESULT hRet;
3425 
3426  TRACE("(%p,%d)\n", lpUnknown, bModeless);
3427 
3428  if (!lpUnknown)
3429  return E_FAIL;
3430 
3433  else if (IsIface(IOleInPlaceFrame))
3435  else if (IsIface(IShellBrowser))
3439  else if (IsIface(IDocHostUIHandler))
3441  else
3442  return hRet;
3443 
3444  IUnknown_Release(lpObj);
3445  return S_OK;
3446 }
#define EnableModeless(type)
Definition: ordinal.c:3400
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#define S_OK
Definition: intsafe.h:59
#define IsIface(type)
Definition: ordinal.c:3398

◆ IUnknown_Exec()

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

Definition at line 1034 of file ordinal.c.

1037 {
1038  HRESULT hRet = E_FAIL;
1039 
1040  TRACE("(%p,%p,%d,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, nCmdID,
1041  nCmdexecopt, pvaIn, pvaOut);
1042 
1043  if (lpUnknown)
1044  {
1045  IOleCommandTarget* lpOle;
1046 
1047  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1048  (void**)&lpOle);
1049  if (SUCCEEDED(hRet) && lpOle)
1050  {
1051  hRet = IOleCommandTarget_Exec(lpOle, pguidCmdGroup, nCmdID,
1052  nCmdexecopt, pvaIn, pvaOut);
1053  IOleCommandTarget_Release(lpOle);
1054  }
1055  }
1056  return hRet;
1057 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#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 1404 of file ordinal.c.

1405 {
1406  IPersist *persist;
1407  HRESULT hr;
1408 
1409  TRACE("(%p, %p)\n", lpUnknown, clsid);
1410 
1411  if (!lpUnknown)
1412  {
1413  memset(clsid, 0, sizeof(*clsid));
1414  return E_FAIL;
1415  }
1416 
1417  hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersist, (void**)&persist);
1418  if (hr != S_OK)
1419  {
1420  hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersistFolder, (void**)&persist);
1421  if (hr != S_OK)
1422  return hr;
1423  }
1424 
1425  hr = IPersist_GetClassID(persist, clsid);
1426  IPersist_Release(persist);
1427  return hr;
1428 }
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:77
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 2547 of file ordinal.c.

2548 {
2549  HRESULT hRet = E_INVALIDARG;
2550  LPOBJECTWITHSITE lpSite = NULL;
2551 
2552  TRACE("(%p,%s,%p)\n", lpUnknown, debugstr_guid(iid), lppSite);
2553 
2554  if (lpUnknown && iid && lppSite)
2555  {
2556  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IObjectWithSite,
2557  (void**)&lpSite);
2558  if (SUCCEEDED(hRet) && lpSite)
2559  {
2560  hRet = IObjectWithSite_GetSite(lpSite, iid, lppSite);
2561  IObjectWithSite_Release(lpSite);
2562  }
2563  }
2564  return hRet;
2565 }
#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:77
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 1283 of file ordinal.c.

1284 {
1285  IUnknown *lpOle;
1286  HRESULT hRet = E_FAIL;
1287 
1288  TRACE("(%p,%p)\n", lpUnknown, lphWnd);
1289 
1290  if (!lpUnknown)
1291  return hRet;
1292 
1293  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleWindow, (void**)&lpOle);
1294 
1295  if (FAILED(hRet))
1296  {
1297  hRet = IUnknown_QueryInterface(lpUnknown,&IID_IShellView, (void**)&lpOle);
1298 
1299  if (FAILED(hRet))
1300  {
1301  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInternetSecurityMgrSite,
1302  (void**)&lpOle);
1303  }
1304  }
1305 
1306  if (SUCCEEDED(hRet))
1307  {
1308  /* Laziness here - Since GetWindow() is the first method for the above 3
1309  * interfaces, we use the same call for them all.
1310  */
1311  hRet = IOleWindow_GetWindow((IOleWindow*)lpOle, lphWnd);
1312  IUnknown_Release(lpOle);
1313  if (lphWnd)
1314  TRACE("Returning HWND=%p\n", *lphWnd);
1315  }
1316 
1317  return hRet;
1318 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
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 1900 of file ordinal.c.

1902 {
1903  /* FIXME: {D12F26B2-D90A-11D0-830D-00AA005B4383} - What object does this represent? */
1904  static const DWORD service_id[] = { 0xd12f26b2, 0x11d0d90a, 0xaa000d83, 0x83435b00 };
1905  /* FIXME: {D12F26B1-D90A-11D0-830D-00AA005B4383} - Also Unknown/undocumented */
1906  static const DWORD function_id[] = { 0xd12f26b1, 0x11d0d90a, 0xaa000d83, 0x83435b00 };
1907  HRESULT hRet = E_INVALIDARG;
1908  LPUNKNOWN lpUnkInner = NULL; /* FIXME: Real type is unknown */
1909 
1910  TRACE("(%p,%p,%p,%p,%p)\n", lpUnknown, lpArg1, lpArg2, lpArg3, lpArg4);
1911 
1912  if (lpUnknown && lpArg4)
1913  {
1914  hRet = IUnknown_QueryService(lpUnknown, (REFGUID)service_id,
1915  (REFGUID)function_id, (void**)&lpUnkInner);
1916 
1917  if (SUCCEEDED(hRet) && lpUnkInner)
1918  {
1919  /* FIXME: The type of service object requested is unknown, however
1920  * testing shows that its first method is called with 4 parameters.
1921  * Fake this by using IParseDisplayName_ParseDisplayName since the
1922  * signature and position in the vtable matches our unknown object type.
1923  */
1924  hRet = IParseDisplayName_ParseDisplayName((LPPARSEDISPLAYNAME)lpUnkInner,
1925  lpArg1, lpArg2, lpArg3, lpArg4);
1926  IUnknown_Release(lpUnkInner);
1927  }
1928  }
1929  return hRet;
1930 }
Definition: scsiwmi.h:51
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1448
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:77
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 4136 of file ordinal.c.

4137 {
4138  IInputObject* lpInput = NULL;
4139  HRESULT hRet = E_INVALIDARG;
4140 
4141  TRACE("(%p)\n", lpUnknown);
4142  if (lpUnknown)
4143  {
4144  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4145  (void**)&lpInput);
4146  if (SUCCEEDED(hRet) && lpInput)
4147  {
4148  hRet = IInputObject_HasFocusIO(lpInput);
4149  IInputObject_Release(lpInput);
4150  }
4151  }
4152  return hRet;
4153 }
#define IInputObject_Release(p)
Definition: shlobj.h:629
#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:632
LONG HRESULT
Definition: typedefs.h:77
#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 4594 of file ordinal.c.

4595 {
4596  IInputObjectSite *pIOS = NULL;
4597  HRESULT hRet = E_INVALIDARG;
4598 
4599  TRACE("(%p, %p, %s)\n", lpUnknown, pFocusObject, bFocus ? "TRUE" : "FALSE");
4600 
4601  if (lpUnknown)
4602  {
4603  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObjectSite,
4604  (void **)&pIOS);
4605  if (SUCCEEDED(hRet) && pIOS)
4606  {
4607  hRet = IInputObjectSite_OnFocusChangeIS(pIOS, pFocusObject, bFocus);
4609  }
4610  }
4611  return hRet;
4612 }
#define IInputObjectSite_Release(p)
Definition: shlobj.h:653
#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:77
#define IInputObjectSite_OnFocusChangeIS(p, a, b)
Definition: shlobj.h:655
#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 1878 of file ordinal.c.

1879 {
1880  IOleControlSite* lpCSite = NULL;
1881  HRESULT hRet = E_FAIL;
1882 
1883  TRACE("(%p, %d)\n", lpUnknown, fGotFocus);
1884  if (lpUnknown)
1885  {
1886  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
1887  (void**)&lpCSite);
1888  if (SUCCEEDED(hRet) && lpCSite)
1889  {
1890  hRet = IOleControlSite_OnFocus(lpCSite, fGotFocus);
1891  IOleControlSite_Release(lpCSite);
1892  }
1893  }
1894  return hRet;
1895 }
#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:77
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IUnknown_ProfferService()

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

Definition at line 1539 of file ordinal.c.

1540 {
1541  IProfferService *proffer;
1542  HRESULT hr;
1543 
1544  TRACE("%p %s %p %p\n", lpUnknown, debugstr_guid(service), pService, pCookie);
1545 
1546  hr = IUnknown_QueryService(lpUnknown, &IID_IProfferService, &IID_IProfferService, (void**)&proffer);
1547  if (hr == S_OK)
1548  {
1549  if (pService)
1550  hr = IProfferService_ProfferService(proffer, service, pService, pCookie);
1551  else
1552  {
1553  hr = IProfferService_RevokeService(proffer, *pCookie);
1554  *pCookie = 0;
1555  }
1556 
1557  IProfferService_Release(proffer);
1558  }
1559 
1560  return hr;
1561 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1448
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#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 1448 of file ordinal.c.

1450 {
1451  IServiceProvider* pService = NULL;
1452  HRESULT hRet;
1453 
1454  if (!lppOut)
1455  return E_FAIL;
1456 
1457  *lppOut = NULL;
1458 
1459  if (!lpUnknown)
1460  return E_FAIL;
1461 
1462  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IServiceProvider,
1463  (LPVOID*)&pService);
1464 
1465  if (hRet == S_OK && pService)
1466  {
1467  TRACE("QueryInterface returned (IServiceProvider*)%p\n", pService);
1468 
1469  /* Get a Service interface from the object */
1470  hRet = IServiceProvider_QueryService(pService, sid, riid, lppOut);
1471 
1472  TRACE("(IServiceProvider*)%p returned (IUnknown*)%p\n", pService, *lppOut);
1473 
1474  IServiceProvider_Release(pService);
1475  }
1476  return hRet;
1477 }
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:77
#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 1500 of file ordinal.c.

1502 {
1504  HRESULT hr;
1505 
1506  TRACE("%p %s %s %d %08x %p %p\n", lpUnknown, debugstr_guid(service),
1507  debugstr_guid(group), cmdId, cmdOpt, pIn, pOut);
1508 
1509  hr = IUnknown_QueryService(lpUnknown, service, &IID_IOleCommandTarget, (void**)&target);
1510  if (hr == S_OK)
1511  {
1512  hr = IOleCommandTarget_Exec(target, group, cmdId, cmdOpt, pIn, pOut);
1513  IOleCommandTarget_Release(target);
1514  }
1515 
1516  TRACE("<-- hr=0x%08x\n", hr);
1517 
1518  return hr;
1519 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1448
#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:77
#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 5183 of file ordinal.c.

5185 {
5186  FIXME("%p %s %p semi-STUB\n", lpUnknown, debugstr_guid(riid), lppOut);
5187  return IUnknown_QueryService(lpUnknown,&IID_IWebBrowserApp,riid,lppOut);
5188 }
REFIID riid
Definition: precomp.h:44
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1448
#define FIXME(fmt,...)
Definition: debug.h:110
#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 995 of file ordinal.c.

997 {
998  HRESULT hRet = E_FAIL;
999 
1000  TRACE("(%p,%p,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, cCmds, prgCmds, pCmdText);
1001 
1002  if (lpUnknown)
1003  {
1004  IOleCommandTarget* lpOle;
1005 
1006  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1007  (void**)&lpOle);
1008 
1009  if (SUCCEEDED(hRet) && lpOle)
1010  {
1011  hRet = IOleCommandTarget_QueryStatus(lpOle, pguidCmdGroup, cCmds,
1012  prgCmds, pCmdText);
1013  IOleCommandTarget_Release(lpOle);
1014  }
1015  }
1016  return hRet;
1017 }
#define E_FAIL
Definition: ddrawi.h:102
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#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 2137 of file ordinal.c.

2138 {
2139  TRACE("(%p,%p)\n", lppDest, lpUnknown);
2140 
2141  IUnknown_AtomicRelease(lppDest);
2142 
2143  if (lpUnknown)
2144  {
2145  IUnknown_AddRef(lpUnknown);
2146  *lppDest = lpUnknown;
2147  }
2148 }
#define TRACE(s)
Definition: solgame.cpp:4
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
Definition: ordinal.c:1192

◆ IUnknown_SetOwner()

HRESULT WINAPI IUnknown_SetOwner ( IUnknown iface,
IUnknown pUnk 
)

Definition at line 1332 of file ordinal.c.

1333 {
1334  IShellService *service;
1335  HRESULT hr;
1336 
1337  TRACE("(%p, %p)\n", iface, pUnk);
1338 
1339  if (!iface) return E_FAIL;
1340 
1341  hr = IUnknown_QueryInterface(iface, &IID_IShellService, (void**)&service);
1342  if (hr == S_OK)
1343  {
1344  hr = IShellService_SetOwner(service, pUnk);
1345  IShellService_Release(service);
1346  }
1347 
1348  return hr;
1349 }
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:77
#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 1358 of file ordinal.c.

1361 {
1362  HRESULT hr;
1363  IObjectWithSite *iobjwithsite;
1364  IInternetSecurityManager *isecmgr;
1365 
1366  if (!obj) return E_FAIL;
1367 
1368  hr = IUnknown_QueryInterface(obj, &IID_IObjectWithSite, (LPVOID *)&iobjwithsite);
1369  TRACE("IID_IObjectWithSite QI ret=%08x, %p\n", hr, iobjwithsite);
1370  if (SUCCEEDED(hr))
1371  {
1372  hr = IObjectWithSite_SetSite(iobjwithsite, site);
1373  TRACE("done IObjectWithSite_SetSite ret=%08x\n", hr);
1374  IObjectWithSite_Release(iobjwithsite);
1375  }
1376  else
1377  {
1378  hr = IUnknown_QueryInterface(obj, &IID_IInternetSecurityManager, (LPVOID *)&isecmgr);
1379  TRACE("IID_IInternetSecurityManager QI ret=%08x, %p\n", hr, isecmgr);
1380  if (FAILED(hr)) return hr;
1381 
1382  hr = IInternetSecurityManager_SetSecuritySite(isecmgr, (IInternetSecurityMgrSite *)site);
1383  TRACE("done IInternetSecurityManager_SetSecuritySite ret=%08x\n", hr);
1384  IInternetSecurityManager_Release(isecmgr);
1385  }
1386  return hr;
1387 }
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:77
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 4104 of file ordinal.c.

4105 {
4106  IInputObject* lpInput = NULL;
4107  HRESULT hRet = E_INVALIDARG;
4108 
4109  TRACE("(%p,%p)\n", lpUnknown, lpMsg);
4110  if (lpUnknown)
4111  {
4112  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4113  (void**)&lpInput);
4114  if (SUCCEEDED(hRet) && lpInput)
4115  {
4116  hRet = IInputObject_TranslateAcceleratorIO(lpInput, lpMsg);
4117  IInputObject_Release(lpInput);
4118  }
4119  }
4120  return hRet;
4121 }
#define IInputObject_TranslateAcceleratorIO(p, a)
Definition: shlobj.h:633
#define IInputObject_Release(p)
Definition: shlobj.h:629
#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:77
#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 1845 of file ordinal.c.

1846 {
1847  IOleControlSite* lpCSite = NULL;
1848  HRESULT hRet = E_INVALIDARG;
1849 
1850  TRACE("(%p,%p,0x%08x)\n", lpUnknown, lpMsg, dwModifiers);
1851  if (lpUnknown)
1852  {
1853  hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
1854  (void**)&lpCSite);
1855  if (SUCCEEDED(hRet) && lpCSite)
1856  {
1857  hRet = IOleControlSite_TranslateAccelerator(lpCSite, lpMsg, dwModifiers);
1858  IOleControlSite_Release(lpCSite);
1859  }
1860  }
1861  return hRet;
1862 }
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:77
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IUnknown_UIActivateIO()

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

Definition at line 1580 of file ordinal.c.

1581 {
1582  IInputObject* object = NULL;
1583  HRESULT ret;
1584 
1585  if (!unknown)
1586  return E_FAIL;
1587 
1588  /* Get an IInputObject interface from the object */
1589  ret = IUnknown_QueryInterface(unknown, &IID_IInputObject, (LPVOID*) &object);
1590 
1591  if (ret == S_OK)
1592  {
1593  ret = IInputObject_UIActivateIO(object, activate, msg);
1594  IInputObject_Release(object);
1595  }
1596 
1597  return ret;
1598 }
#define E_FAIL
Definition: ddrawi.h:102
#define IInputObject_UIActivateIO(p, a, b)
Definition: shlobj.h:631
#define IInputObject_Release(p)
Definition: shlobj.h:629
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:77
Definition: id3.c:18
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 2169 of file ordinal.c.

2172 {
2173  FIXME("(%p,%d,%p,%d,%d,%p,%p) - stub!\n", lpUnknown, iUnk, pguidCmdGroup,
2174  nCmdID, nCmdexecopt, pvaIn, pvaOut);
2175  return DRAGDROP_E_NOTREGISTERED;
2176 }
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652
#define FIXME(fmt,...)
Definition: debug.h:110

◆ MayQSForward()

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

Definition at line 2154 of file ordinal.c.

2157 {
2158  FIXME("(%p,%p,%p,%d,%p,%p) - stub\n",
2159  lpUnknown, lpReserved, riidCmdGrp, cCmds, prgCmds, pCmdText);
2160 
2161  /* FIXME: Calls IsQSForward & IUnknown_QueryStatus */
2162  return DRAGDROP_E_NOTREGISTERED;
2163 }
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:2652
#define FIXME(fmt,...)
Definition: debug.h:110

◆ MLClearMLHInstance()

DWORD WINAPI MLClearMLHInstance ( DWORD  x)

Definition at line 3900 of file ordinal.c.

3901 {
3902  FIXME("(0x%08x)stub\n", x);
3903  return 0xabba1247;
3904 }
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define FIXME(fmt,...)
Definition: debug.h:110

◆ MLFreeLibrary()

BOOL WINAPI MLFreeLibrary ( HMODULE  hModule)

Definition at line 3863 of file ordinal.c.

3864 {
3865  FIXME("(%p) semi-stub\n", hModule);
3866  return FreeLibrary(hModule);
3867 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define FreeLibrary(x)
Definition: compat.h:413
HMODULE hModule
Definition: animate.c:44

Referenced by MLBuildResURLW().

◆ MLIsMLHInstance()

BOOL WINAPI MLIsMLHInstance ( HINSTANCE  hInst)

Definition at line 3881 of file ordinal.c.

3882 {
3883  FIXME("(%p) stub\n", hInst);
3884  return FALSE;
3885 }
#define FIXME(fmt,...)
Definition: debug.h:110
HINSTANCE hInst
Definition: dxdiag.c:13

◆ MLLoadLibraryA()

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

Definition at line 3564 of file ordinal.c.

3565 {
3566  /* FIXME: Native appears to do DPA_Create and a DPA_InsertPtr for
3567  * each call here.
3568  * FIXME: Native shows calls to:
3569  * SHRegGetUSValue for "Software\Microsoft\Internet Explorer\International"
3570  * CheckVersion
3571  * RegOpenKeyExA for "HKLM\Software\Microsoft\Internet Explorer"
3572  * RegQueryValueExA for "LPKInstalled"
3573  * RegCloseKey
3574  * RegOpenKeyExA for "HKCU\Software\Microsoft\Internet Explorer\International"
3575  * RegQueryValueExA for "ResourceLocale"
3576  * RegCloseKey
3577  * RegOpenKeyExA for "HKLM\Software\Microsoft\Active Setup\Installed Components\{guid}"
3578  * RegQueryValueExA for "Locale"
3579  * RegCloseKey
3580  * and then tests the Locale ("en" for me).
3581  * code below
3582  * after the code then a DPA_Create (first time) and DPA_InsertPtr are done.
3583  */
3584  CHAR mod_path[2*MAX_PATH];
3585  LPSTR ptr;
3586  DWORD len;
3587 
3588  FIXME("(%s,%p,%d) semi-stub!\n", debugstr_a(new_mod), inst_hwnd, dwCrossCodePage);
3589  len = GetModuleFileNameA(inst_hwnd, mod_path, sizeof(mod_path));
3590  if (!len || len >= sizeof(mod_path)) return NULL;
3591 
3592  ptr = strrchr(mod_path, '\\');
3593  if (ptr) {
3594  strcpy(ptr+1, new_mod);
3595  TRACE("loading %s\n", debugstr_a(mod_path));
3596  return LoadLibraryA(mod_path);
3597  }
3598  return NULL;
3599 }
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:548
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
#define FIXME(fmt,...)
Definition: debug.h:110
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 3606 of file ordinal.c.

3607 {
3608  WCHAR mod_path[2*MAX_PATH];
3609  LPWSTR ptr;
3610  DWORD len;
3611 
3612  FIXME("(%s,%p,%d) semi-stub!\n", debugstr_w(new_mod), inst_hwnd, dwCrossCodePage);
3613  len = GetModuleFileNameW(inst_hwnd, mod_path, sizeof(mod_path) / sizeof(WCHAR));
3614  if (!len || len >= sizeof(mod_path) / sizeof(WCHAR)) return NULL;
3615 
3616  ptr = strrchrW(mod_path, '\\');
3617  if (ptr) {
3618  strcpyW(ptr+1, new_mod);
3619  TRACE("loading %s\n", debugstr_w(mod_path));
3620  return LoadLibraryW(mod_path);
3621  }
3622  return NULL;
3623 }
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:609
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
static PVOID ptr
Definition: dispmode.c:27
#define LoadLibraryW(x)
Definition: compat.h:412
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 3891 of file ordinal.c.

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

◆ PageSetupDlgWrapW()

BOOL WINAPI PageSetupDlgWrapW ( LPPAGESETUPDLGW  pagedlg)

Definition at line 3693 of file ordinal.c.

3694 {
3695  return PageSetupDlgW(pagedlg);
3696 }
BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW setupdlg)
Definition: printdlg.c:3925

◆ PathSkipLeadingSlashesA()

LPCSTR WINAPI PathSkipLeadingSlashesA ( LPCSTR  lpszSrc)

Definition at line 1216 of file ordinal.c.

1217 {
1218  if (lpszSrc && lpszSrc[0] == '/' && lpszSrc[1] == '/')
1219  lpszSrc += 2;
1220  return lpszSrc;
1221 }

◆ PlaySoundWrapW()

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

Definition at line 3221 of file ordinal.c.

3222 {
3223  return PlaySoundW(pszSound, hmod, fdwSound);
3224 }
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 3703 of file ordinal.c.

3704 {
3705  return PrintDlgW(printdlg);
3706 }
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 2343 of file ordinal.c.

2348 {
2349  HRESULT ret;
2350  IUnknown *a_vtbl;
2351  const QITAB *xmove;
2352 
2353  TRACE("(%p %p %s %p)\n", base, table, debugstr_guid(riid), ppv);
2354  if (ppv) {
2355  xmove = table;
2356  while (xmove->piid) {
2357  TRACE("trying (offset %d) %s\n", xmove->dwOffset, debugstr_guid(xmove->piid));
2358  if (IsEqualIID(riid, xmove->piid)) {
2359  a_vtbl = (IUnknown*)(xmove->dwOffset + (LPBYTE)base);
2360  TRACE("matched, returning (%p)\n", a_vtbl);
2361  *ppv = a_vtbl;
2362  IUnknown_AddRef(a_vtbl);
2363  return S_OK;
2364  }
2365  xmove++;
2366  }
2367 
2368  if (IsEqualIID(riid, &IID_IUnknown)) {
2369  a_vtbl = (IUnknown*)(table->dwOffset + (LPBYTE)base);
2370  TRACE("returning first for IUnknown (%p)\n", a_vtbl);
2371  *ppv = a_vtbl;
2372  IUnknown_AddRef(a_vtbl);
2373  return S_OK;
2374  }
2375  *ppv = 0;
2376  ret = E_NOINTERFACE;
2377  } else
2378  ret = E_POINTER;
2379 
2380  TRACE("-- 0x%08x\n", ret);
2381  return ret;
2382 }
#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:52
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:77
const GUID IID_IUnknown
int ret
const IID * piid
Definition: shlwapi.h:2074
#define S_OK
Definition: intsafe.h:59
int dwOffset
Definition: shlwapi.h:2075
#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 295 of file ordinal.c.

296 {
297  static const WCHAR szProperty[] = { '{','D','0','F','C','A','4','2','0',
298  '-','D','3','F','5','-','1','1','C','F', '-','B','2','1','1','-','0',
299  '0','A','A','0','0','4','A','E','8','3','7','}','\0' };
300  BSTR property;
301  IEnumFORMATETC* pIEnumFormatEtc = NULL;
302  VARIANTARG var;
303  HRESULT hr;
304  IWebBrowserApp* pBrowser;
305 
306  TRACE("(%p, %p)\n", lpBC, lpUnknown);
307 
308  hr = IUnknown_QueryService(lpUnknown, &IID_IWebBrowserApp, &IID_IWebBrowserApp, (void**)&pBrowser);
309  if (FAILED(hr))
310  return hr;
311 
312  V_VT(&var) = VT_EMPTY;
313 
314  /* The property we get is the browsers clipboard enumerator */
315  property = SysAllocString(szProperty);
316  hr = IWebBrowserApp_GetProperty(pBrowser, property, &var);
318  if (FAILED(hr)) goto exit;
319 
320  if (V_VT(&var) == VT_EMPTY)
321  {
322  /* Iterate through accepted documents and RegisterClipBoardFormatA() them */
323  char szKeyBuff[128], szValueBuff[128];
324  DWORD dwKeySize, dwValueSize, dwRet = 0, dwCount = 0, dwNumValues, dwType;
325  FORMATETC* formatList, *format;
326  HKEY hDocs;
327 
328  TRACE("Registering formats and creating IEnumFORMATETC instance\n");
329 
330  if (!RegOpenKeyA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\Current"
331  "Version\\Internet Settings\\Accepted Documents", &hDocs))
332  {
333  hr = E_FAIL;
334  goto exit;
335  }
336 
337  /* Get count of values in key */
338  while (!dwRet)
339  {
340  dwKeySize = sizeof(szKeyBuff);
341  dwRet = RegEnumValueA(hDocs,dwCount,szKeyBuff,&dwKeySize,0,&dwType,0,0);
342  dwCount++;
343  }
344 
345  dwNumValues = dwCount;
346 
347  /* Note: dwCount = number of items + 1; The extra item is the end node */
348  format = formatList = HeapAlloc(GetProcessHeap(), 0, dwCount * sizeof(FORMATETC));
349  if (!formatList)
350  {
351  RegCloseKey(hDocs);
352  hr = E_OUTOFMEMORY;
353  goto exit;
354  }
355 
356  if (dwNumValues > 1)
357  {
358  dwRet = 0;
359  dwCount = 0;
360 
361  dwNumValues--;
362 
363  /* Register clipboard formats for the values and populate format list */
364  while(!dwRet && dwCount < dwNumValues)
365  {
366  dwKeySize = sizeof(szKeyBuff);
367  dwValueSize = sizeof(szValueBuff);
368  dwRet = RegEnumValueA(hDocs, dwCount, szKeyBuff, &dwKeySize, 0, &dwType,
369  (PBYTE)szValueBuff, &dwValueSize);
370  if (!dwRet)
371  {
372  HeapFree(GetProcessHeap(), 0, formatList);
373  RegCloseKey(hDocs);
374  hr = E_FAIL;
375  goto exit;
376  }
377 
378  format->cfFormat = RegisterClipboardFormatA(szValueBuff);
379  format->ptd = NULL;
380  format->dwAspect = 1;
381  format->lindex = 4;
382  format->tymed = -1;
383 
384  format++;
385  dwCount++;
386  }
387  }
388 
389  RegCloseKey(hDocs);
390 
391  /* Terminate the (maybe empty) list, last entry has a cfFormat of 0 */
392  format->cfFormat = 0;
393  format->ptd = NULL;
394  format->dwAspect = 1;
395  format->lindex = 4;
396  format->tymed = -1;
397 
398  /* Create a clipboard enumerator */
399  hr = CreateFormatEnumerator(dwNumValues, formatList, &pIEnumFormatEtc);
400  HeapFree(GetProcessHeap(), 0, formatList);
401  if (FAILED(hr)) goto exit;
402 
403  /* Set our enumerator as the browsers property */
404  V_VT(&var) = VT_UNKNOWN;
405  V_UNKNOWN(&var) = (IUnknown*)pIEnumFormatEtc;
406 
407  property = SysAllocString(szProperty);
408  hr = IWebBrowserApp_PutProperty(pBrowser, property, var);
410  if (FAILED(hr))
411  {
412  IEnumFORMATETC_Release(pIEnumFormatEtc);
413  goto exit;
414  }
415  }
416 
417  if (V_VT(&var) == VT_UNKNOWN)
418  {
419  /* Our variant is holding the clipboard enumerator */
420  IUnknown* pIUnknown = V_UNKNOWN(&var);
421  IEnumFORMATETC* pClone = NULL;
422 
423  TRACE("Retrieved IEnumFORMATETC property\n");
424 
425  /* Get an IEnumFormatEtc interface from the variants value */
426  pIEnumFormatEtc = NULL;
427  hr = IUnknown_QueryInterface(pIUnknown, &IID_IEnumFORMATETC, (void**)&pIEnumFormatEtc);
428  if (hr == S_OK && pIEnumFormatEtc)
429  {
430  /* Clone and register the enumerator */
431  hr = IEnumFORMATETC_Clone(pIEnumFormatEtc, &pClone);
432  if (hr == S_OK && pClone)
433  {
434  RegisterFormatEnumerator(lpBC, pClone, 0);
435 
436  IEnumFORMATETC_Release(pClone);
437  }
438 
439  IUnknown_Release(pIUnknown);
440  }
441  IUnknown_Release(V_UNKNOWN(&var));
442  }
443 
444 exit:
445  IWebBrowserApp_Release(pBrowser);
446  return hr;
447 }
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3257
HRESULT hr
Definition: shlfolder.c:183
OLECHAR * BSTR
Definition: compat.h:1942
#define E_FAIL
Definition: ddrawi.h:102
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1448
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:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
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:402
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ SHAboutInfoA()

BOOL WINAPI SHAboutInfoA ( LPSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 862 of file ordinal.c.

863 {
864  WCHAR buff[2084];
865 
866  TRACE("(%p,%d)\n", lpszDest, dwDestLen);
867 
868  if (lpszDest && SHAboutInfoW(buff, dwDestLen))
869  {
870  WideCharToMultiByte(CP_ACP, 0, buff, -1, lpszDest, dwDestLen, NULL, NULL);
871  return TRUE;
872  }
873  return FALSE;
874 }
#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:881
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 881 of file ordinal.c.

882 {
883  static const WCHAR szIEKey[] = { 'S','O','F','T','W','A','R','E','\\',
884  'M','i','c','r','o','s','o','f','t','\\','I','n','t','e','r','n','e','t',
885  ' ','E','x','p','l','o','r','e','r','\0' };
886  static const WCHAR szWinNtKey[] = { 'S','O','F','T','W','A','R','E','\\',
887  'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s',' ',
888  'N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\0' };
889  static const WCHAR szWinKey[] = { 'S','O','F','T','W','A','R','E','\\',
890  'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
891  'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\0' };
892  static const WCHAR szRegKey[] = { 'S','O','F','T','W','A','R','E','\\',
893  'M','i','c','r','o','s','o','f','t','\\','I','n','t','e','r','n','e','t',
894  ' ','E','x','p','l','o','r','e','r','\\',
895  'R','e','g','i','s','t','r','a','t','i','o','n','\0' };
896  static const WCHAR szVersion[] = { 'V','e','r','s','i','o','n','\0' };
897  static const WCHAR szCustomized[] = { 'C','u','s','t','o','m','i','z','e','d',
898  'V','e','r','s','i','o','n','\0' };
899  static const WCHAR szOwner[] = { 'R','e','g','i','s','t','e','r','e','d',
900  'O','w','n','e','r','\0' };
901  static const WCHAR szOrg[] = { 'R','e','g','i','s','t','e','r','e','d',
902  'O','r','g','a','n','i','z','a','t','i','o','n','\0' };
903  static const WCHAR szProduct[] = { 'P','r','o','d','u','c','t','I','d','\0' };
904  static const WCHAR szUpdate[] = { 'I','E','A','K',
905  'U','p','d','a','t','e','U','r','l','\0' };
906  static const WCHAR szHelp[] = { 'I','E','A','K',
907  'H','e','l','p','S','t','r','i','n','g','\0' };
908  WCHAR buff[2084];
909  HKEY hReg;
910  DWORD dwType, dwLen;
911 
912  TRACE("(%p,%d)\n", lpszDest, dwDestLen);
913 
914  if (!lpszDest)
915  return FALSE;
916 
917  *lpszDest = '\0';
918 
919  /* Try the NT key first, followed by 95/98 key */
920  if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, szWinNtKey, 0, KEY_READ, &hReg) &&
921  RegOpenKeyExW(HKEY_LOCAL_MACHINE, szWinKey, 0, KEY_READ, &hReg))
922  return FALSE;
923 
924  /* OS Version */
925  buff[0] = '\0';
926  dwLen = 30;
927  if (!SHGetValueW(HKEY_LOCAL_MACHINE, szIEKey, szVersion, &dwType, buff, &dwLen))
928  {
929  DWORD dwStrLen = strlenW(buff);
930  dwLen = 30 - dwStrLen;
932  szCustomized, &dwType, buff+dwStrLen, &dwLen);
933  }
934  StrCatBuffW(lpszDest, buff, dwDestLen);
935 
936  /* ~Registered Owner */
937  buff[0] = '~';
938  dwLen = 256;
939  if (SHGetValueW(hReg, szOwner, 0, &dwType, buff+1, &dwLen))
940  buff[1] = '\0';
941  StrCatBuffW(lpszDest, buff, dwDestLen);
942 
943  /* ~Registered Organization */
944  dwLen = 256;
945  if (SHGetValueW(hReg, szOrg, 0, &dwType, buff+1, &dwLen))
946  buff[1] = '\0';
947  StrCatBuffW(lpszDest, buff, dwDestLen);
948 
949  /* FIXME: Not sure where this number comes from */
950  buff[0] = '~';
951  buff[1] = '0';
952  buff[2] = '\0';
953  StrCatBuffW(lpszDest, buff, dwDestLen);
954 
955  /* ~Product Id */
956  dwLen = 256;
957  if (SHGetValueW(HKEY_LOCAL_MACHINE, szRegKey, szProduct, &dwType, buff+1, &dwLen))
958  buff[1] = '\0';
959  StrCatBuffW(lpszDest, buff, dwDestLen);
960 
961  /* ~IE Update Url */
962  dwLen = 2048;
963  if(SHGetValueW(HKEY_LOCAL_MACHINE, szWinKey, szUpdate, &dwType, buff+1, &dwLen))
964  buff[1] = '\0';
965  StrCatBuffW(lpszDest, buff, dwDestLen);
966 
967  /* ~IE Help String */
968  dwLen = 256;
969  if(SHGetValueW(hReg, szHelp, 0, &dwType, buff+1, &dwLen))
970  buff[1] = '\0';
971  StrCatBuffW(lpszDest, buff, dwDestLen);
972 
973  RegCloseKey(hReg);
974  return TRUE;
975 }
#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:406
#define MapViewOfFile
Definition: compat.h:410
#define INVALID_HANDLE_VALUE
Definition: compat.h:399
#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:435
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:411
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 init_pointers(), MakeSharedPacket(), SHChangeNotify(), and SHELL_ArgifyW().

◆ SHBrowseForFolderWrapW()

LPITEMIDLIST WINAPI SHBrowseForFolderWrapW ( LPBROWSEINFOW  lpBi)

Definition at line 3322 of file ordinal.c.

3323 {
3324  return SHBrowseForFolderW(lpBi);
3325 }
LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
Definition: brsfolder.c:1156

◆ SHChangeNotifyWrap()

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

Definition at line 4816 of file ordinal.c.

4817 {
4818  SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2);
4819 }
UINT uFlags
Definition: api.c:59
void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
Definition: changenotify.c:340

◆ SHCheckMenuItem()

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

Definition at line 1747 of file ordinal.c.

1748 {
1749  TRACE("%p, %u, %d\n", hMenu, uID, bCheck);
1750  return CheckMenuItem(hMenu, uID, bCheck ? MF_CHECKED : MF_UNCHECKED);
1751 }
#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 4367 of file ordinal.c.

4369 {
4370  return CoCreateInstance(rclsid, pUnkOuter, dwClsContext, iid, ppv);
4371 }
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 4986 of file ordinal.c.

4988 {
4989  FIXME("%p %s %d %s %p STUB\n", hKey, debugstr_w(subkey), grfMode,
4990  debugstr_guid(riid), ppv);
4991 
4992  return E_NOTIMPL;
4993 }
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:110
#define debugstr_guid
Definition: kernel32.h:35
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ SHCreateShellPalette()

HPALETTE WINAPI SHCreateShellPalette ( HDC  hdc)

Definition at line 4236 of file ordinal.c.

4237 {
4238  FIXME("stub\n");
4239  return CreateHalftonePalette(hdc);
4240 }
#define FIXME(fmt,...)
Definition: debug.h:110
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 2584 of file ordinal.c.

2586 {
2587  static const char szClass[] = "WorkerA";
2588  WNDCLASSA wc;
2589  HWND hWnd;
2590 
2591  TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2592  wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2593 
2594  /* Create Window class */
2595  wc.style = 0;
2597  wc.cbClsExtra = 0;
2598  wc.cbWndExtra = sizeof(LONG_PTR);
2600  wc.hIcon = NULL;
2602  wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2603  wc.lpszMenuName = NULL;
2604  wc.lpszClassName = szClass;
2605 
2606  SHRegisterClassA(&wc);
2607 
2608  hWnd = CreateWindowExA(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2609  hWndParent, hMenu, shlwapi_hInstance, 0);
2610  if (hWnd)
2611  {
2612  SetWindowLongPtrW(hWnd, 0, wnd_extra);
2614  }
2615 
2616  return hWnd;
2617 }
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:1764
#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 2872 of file ordinal.c.

2874 {
2875  static const WCHAR szClass[] = { 'W', 'o', 'r', 'k', 'e', 'r', 'W', 0 };
2876  WNDCLASSW wc;
2877  HWND hWnd;
2878 
2879  TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2880  wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2881 
2882  /* If our OS is natively ANSI, use the ANSI version */
2883  if (GetVersion() & 0x80000000) /* not NT */
2884  {
2885  TRACE("fallback to ANSI, ver 0x%08x\n", GetVersion());
2886  return SHCreateWorkerWindowA(wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2887  }
2888 
2889  /* Create Window class */
2890  wc.style = 0;
2892  wc.cbClsExtra = 0;
2893  wc.cbWndExtra = sizeof(LONG_PTR);
2895  wc.hIcon = NULL;
2897  wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2898  wc.lpszMenuName = NULL;
2899  wc.lpszClassName = szClass;
2900 
2901  SHRegisterClassW(&wc);
2902 
2903  hWnd = CreateWindowExW(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2904  hWndParent, hMenu, shlwapi_hInstance, 0);
2905  if (hWnd)
2906  {
2907  SetWindowLongPtrW(hWnd, 0, wnd_extra);
2909  }
2910 
2911  return hWnd;
2912 }
DWORD WINAPI SHRegisterClassW(WNDCLASSW *lpWndClass)
Definition: ordinal.c:2464
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:2584
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 3464 of file ordinal.c.

3466 {
3467  return SHDefExtractIconW(pszIconFile, iIndex, uFlags, phiconLarge, phiconSmall, nIconSize);
3468 }
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 2537 of file ordinal.c.

2538 {
2539  if (IsWindowUnicode(hWnd))
2540  return DefWindowProcW(hWnd, uMessage, wParam, lParam);
2541  return DefWindowProcA(hWnd, uMessage, wParam, lParam);
2542 }
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 3342 of file ordinal.c.

3343 {
3344  return ShellExecuteExW(lpExecInfo);
3345 }
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
Definition: shlexec.cpp:2235

◆ ShellMessageBoxWrapW()

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

Definition at line 4754 of file ordinal.c.

4756 {
4757  WCHAR *szText = NULL, szTitle[100];
4758  LPCWSTR pszText, pszTitle = szTitle;
4759  LPWSTR pszTemp;
4761  int ret;
4762 
4763  __ms_va_start(args, uType);
4764 
4765  TRACE("(%p,%p,%p,%p,%08x)\n", hInstance, hWnd, lpText, lpCaption, uType);
4766 
4767  if (IS_INTRESOURCE(lpCaption))
4768  LoadStringW(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)/sizeof(szTitle[0]));
4769  else
4770  pszTitle = lpCaption;
4771 
4772  if (IS_INTRESOURCE(lpText))
4773  {
4774  const WCHAR *ptr;
4775  UINT len = LoadStringW(hInstance, LOWORD(lpText), (LPWSTR)&ptr, 0);
4776 
4777  if (len)
4778  {
4779  szText = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
4780  if (szText) LoadStringW(hInstance, LOWORD(lpText), szText, len + 1);
4781  }
4782  pszText = szText;
4783  if (!pszText) {
4784  WARN("Failed to load id %d\n", LOWORD(lpText));
4785  __ms_va_end(args);
4786  return 0;
4787  }
4788  }
4789  else
4790  pszText = lpText;
4791 
4793  pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args);
4794 
4795  __ms_va_end(args);
4796 
4797  ret = MessageBoxW(hWnd, pszTemp, pszTitle, uType);
4798 
4800  LocalFree(pszTemp);
4801  return ret;
4802 }