ReactOS 0.4.16-dev-1946-g52006dd
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 nUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
 
HRESULT WINAPI IsQSForward (REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds)
 
BOOL WINAPI SHIsChildOrSelf (HWND hParent, HWND hChild)
 
BOOL WINAPI FDSA_Initialize (DWORD block_size, DWORD inc, FDSA_info *info, void *mem, DWORD init_blocks)
 
BOOL WINAPI FDSA_Destroy (FDSA_info *info)
 
DWORD WINAPI FDSA_InsertItem (FDSA_info *info, DWORD where, const void *block)
 
BOOL WINAPI FDSA_DeleteItem (FDSA_info *info, DWORD where)
 
HRESULT WINAPI QISearch (void *base, const QITAB *table, REFIID riid, void **ppv)
 
HRESULT WINAPI SHSetDefaultDialogFont (HWND hWnd, INT id)
 
HANDLE WINAPI SHRemoveDefaultDialogFont (HWND hWnd)
 
HMODULE WINAPI SHPinDllOfCLSID (REFIID refiid)
 
DWORD WINAPI SHRegisterClassW (WNDCLASSW *lpWndClass)
 
void WINAPI SHUnregisterClassesA (HINSTANCE hInst, LPCSTR *lppClasses, INT iCount)
 
void WINAPI SHUnregisterClassesW (HINSTANCE hInst, LPCWSTR *lppClasses, INT iCount)
 
LRESULT CALLBACK SHDefWindowProc (HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
 
HRESULT WINAPI IUnknown_GetSite (LPUNKNOWN lpUnknown, REFIID iid, PVOID *lppSite)
 
HWND WINAPI SHCreateWorkerWindowA (WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
 
DWORD WINAPI SHGetRestriction (LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue)
 
DWORD WINAPI SHRestrictionLookup (DWORD policy, LPCWSTR initial, LPPOLICYDATA polTable, LPDWORD polArr)
 
HRESULT WINAPI SHWeakQueryInterface (IUnknown *pUnk, IUnknown *pInner, IID *riid, LPVOID *ppv)
 
VOID WINAPI SHWeakReleaseInterface (IUnknown *lpDest, IUnknown **lppUnknown)
 
BOOL WINAPI GUIDFromStringA (LPCSTR idstr, CLSID *id)
 
BOOL WINAPI GUIDFromStringW (LPCWSTR idstr, CLSID *id)
 
DWORD WINAPI WhichPlatform (void)
 
HWND WINAPI SHCreateWorkerWindowW (WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
 
HRESULT WINAPI SHInvokeDefaultCommand (HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
 
HRESULT WINAPI SHPackDispParamsV (DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
 
HRESULT WINAPIV SHPackDispParams (DISPPARAMS *params, VARIANTARG *args, UINT cnt,...)
 
static HRESULT SHLWAPI_InvokeByIID (IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
 
HRESULT WINAPI IConnectionPoint_InvokeWithCancel (IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams, DWORD unknown1, DWORD unknown2)
 
HRESULT WINAPI IConnectionPoint_SimpleInvoke (IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams)
 
HRESULT WINAPI IConnectionPoint_OnChanged (IConnectionPoint *lpCP, DISPID dispID)
 
HRESULT WINAPIV IUnknown_CPContainerInvokeParam (IUnknown *container, REFIID riid, DISPID dispId, VARIANTARG *buffer, DWORD cParams,...)
 
HRESULT WINAPI IUnknown_CPContainerOnChanged (IUnknown *lpUnknown, DISPID dispID)
 
BOOL WINAPI PlaySoundWrapW (LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound)
 
DWORD WINAPI SHGetIniStringW (LPCWSTR appName, LPCWSTR keyName, LPWSTR out, DWORD outLen, LPCWSTR filename)
 
BOOL WINAPI SHSetIniStringW (LPCWSTR appName, LPCWSTR keyName, LPCWSTR str, LPCWSTR filename)
 
DWORD WINAPI SHGetFileInfoWrapW (LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
 
UINT WINAPI DragQueryFileWrapW (HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength)
 
LPITEMIDLIST WINAPI SHBrowseForFolderWrapW (LPBROWSEINFOW lpBi)
 
BOOL WINAPI SHGetPathFromIDListWrapW (LPCITEMIDLIST pidl, LPWSTR pszPath)
 
BOOL WINAPI ShellExecuteExWrapW (LPSHELLEXECUTEINFOW lpExecInfo)
 
INT WINAPI SHFileOperationWrapW (LPSHFILEOPSTRUCTW lpFileOp)
 
PVOID WINAPI SHInterlockedCompareExchange (PVOID *dest, PVOID xchg, PVOID compare)
 
DWORD WINAPI GetFileVersionInfoSizeWrapW (LPCWSTR filename, LPDWORD handle)
 
BOOL WINAPI GetFileVersionInfoWrapW (LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data)
 
WORD WINAPI VerQueryValueWrapW (LPVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, UINT *puLen)
 
HRESULT WINAPI IUnknown_EnableModeless (IUnknown *lpUnknown, BOOL bModeless)
 
BOOL WINAPI SHGetNewLinkInfoWrapW (LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
 
UINT WINAPI SHDefExtractIconWrapW (LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
 
HICON WINAPI ExtractIconWrapW (HINSTANCE hInstance, LPCWSTR lpszExeFileName, UINT nIconIndex)
 
HMODULE WINAPI MLLoadLibraryA (LPCSTR new_mod, HMODULE inst_hwnd, DWORD dwCrossCodePage)
 
HMODULE WINAPI MLLoadLibraryW (LPCWSTR new_mod, HMODULE inst_hwnd, DWORD dwCrossCodePage)
 
COLORREF WINAPI ColorAdjustLuma (COLORREF cRGB, int dwLuma, BOOL bUnknown)
 
BOOL WINAPI GetSaveFileNameWrapW (LPOPENFILENAMEW ofn)
 
DWORD WINAPI WNetRestoreConnectionWrapW (HWND hwndOwner, LPWSTR lpszDevice)
 
DWORD WINAPI WNetGetLastErrorWrapW (LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize, LPWSTR lpNameBuf, DWORD nNameBufSize)
 
BOOL WINAPI PageSetupDlgWrapW (LPPAGESETUPDLGW pagedlg)
 
BOOL WINAPI PrintDlgWrapW (LPPRINTDLGW printdlg)
 
BOOL WINAPI GetOpenFileNameWrapW (LPOPENFILENAMEW ofn)
 
HRESULT WINAPI SHIShellFolder_EnumObjects (LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum)
 
static WORD ConvertHue (int wHue, WORD wMid1, WORD wMid2)
 
COLORREF WINAPI ColorHLSToRGB (WORD wHue, WORD wLuminosity, WORD wSaturation)
 
DWORD WINAPI SHGetMachineInfo (DWORD dwFlags)
 
DWORD WINAPI SHWinHelpOnDemandW (HWND hwnd, LPCWSTR helpfile, DWORD flags1, VOID *ptr1, DWORD flags2)
 
DWORD WINAPI SHWinHelpOnDemandA (HWND hwnd, LPCSTR helpfile, DWORD flags1, VOID *ptr1, DWORD flags2)
 
BOOL WINAPI MLFreeLibrary (HMODULE hModule)
 
BOOL WINAPI SHFlushSFCacheWrap (void)
 
BOOL WINAPI MLIsMLHInstance (HINSTANCE hInst)
 
DWORD WINAPI MLSetMLHInstance (HINSTANCE hInst, HANDLE hHeap)
 
DWORD WINAPI MLClearMLHInstance (DWORD x)
 
DWORD WINAPI SHSendMessageBroadcastA (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
DWORD WINAPI SHSendMessageBroadcastW (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
HRESULT WINAPI CLSIDFromStringWrap (LPCWSTR idstr, CLSID *id)
 
BOOL WINAPI IsOS (DWORD feature)
 
HRESULT WINAPI SHLoadRegUIStringW (HKEY hkey, LPCWSTR value, LPWSTR buf, DWORD size)
 
HRESULT WINAPI IUnknown_TranslateAcceleratorIO (IUnknown *lpUnknown, LPMSG lpMsg)
 
HRESULT WINAPI IUnknown_HasFocusIO (IUnknown *lpUnknown)
 
VOID WINAPI ColorRGBToHLS (COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
 
HPALETTE WINAPI SHCreateShellPalette (HDC hdc)
 
HRESULT WINAPI SHGetInverseCMAP (LPDWORD dest, DWORD dwSize)
 
BOOL WINAPI SHIsLowMemoryMachine (DWORD dwType)
 
INT WINAPI GetMenuPosFromID (HMENU hMenu, UINT wID)
 
DWORD WINAPI SHMenuIndexFromID (HMENU hMenu, UINT uID)
 
VOID WINAPI FixSlashesAndColonW (LPWSTR lpwstr)
 
DWORD WINAPI SHGetAppCompatFlags (DWORD dwUnknown)
 
HRESULT WINAPI SHCoCreateInstanceAC (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
 
BOOL WINAPI SHSkipJunction (IBindCtx *pbc, const CLSID *pclsid)
 
HKEY WINAPI SHGetShellKey (DWORD flags, LPCWSTR sub_key, BOOL create)
 
BOOL WINAPI SHQueueUserWorkItem (LPTHREAD_START_ROUTINE pfnCallback, LPVOID pContext, LONG lPriority, DWORD_PTR dwTag, DWORD_PTR *pdwId, LPCSTR pszModule, DWORD dwFlags)
 
HANDLE WINAPI SHSetTimerQueueTimer (HANDLE hQueue, WAITORTIMERCALLBACK pfnCallback, LPVOID pContext, DWORD dwDueTime, DWORD dwPeriod, LPCSTR lpszLibrary, DWORD dwFlags)
 
HRESULT WINAPI IUnknown_OnFocusChangeIS (LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
 
HRESULT WINAPI SKAllocValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, LPVOID *data, DWORD *count)
 
HRESULT WINAPI SKDeleteValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value)
 
HRESULT WINAPI SKGetValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, void *data, DWORD *count)
 
HRESULT WINAPI SKSetValueW (DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD type, void *data, DWORD count)
 
DWORD WINAPI GetUIVersion (void)
 
INT WINAPIV ShellMessageBoxWrapW (HINSTANCE hInstance, HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType,...)
 
UINT WINAPI ZoneComputePaneSize (HWND hwnd)
 
void WINAPI SHChangeNotifyWrap (LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
 
PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor (const PSHELL_USER_PERMISSION *apUserPerm, int cUserPerm)
 
HRESULT WINAPI SHCreatePropertyBagOnRegKey (HKEY hKey, LPCWSTR subkey, DWORD grfMode, REFIID riid, void **ppv)
 
HRESULT WINAPI SHGetViewStatePropertyBag (LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
 
INT WINAPI SHFormatDateTimeW (const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
 
INT WINAPI SHFormatDateTimeA (const FILETIME UNALIGNED *fileTime, DWORD *flags, LPSTR buf, UINT size)
 
INT WINAPI ZoneCheckUrlExW (LPWSTR szURL, PVOID pUnknown, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4, DWORD dwUnknown5, DWORD dwUnknown6, DWORD dwUnknown7)
 
INT WINAPI SHVerbExistsNA (LPSTR verb, PVOID pUnknown, PVOID pUnknown2, DWORD dwUnknown3)
 
HRESULT WINAPI IUnknown_QueryServiceForWebBrowserApp (IUnknown *lpUnknown, REFGUID riid, LPVOID *lppOut)
 
HRESULT WINAPI SHPropertyBag_ReadLONG (IPropertyBag *ppb, LPCWSTR pszPropName, LPLONG pValue)
 
DWORD WINAPI SHGetObjectCompatFlags (IUnknown *pUnk, const CLSID *clsid)
 

Variables

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

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 30 of file ordinal.c.

◆ EnableModeless

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

Definition at line 3663 of file ordinal.c.

◆ FDSA_FLAG_INTERNAL_ALLOC

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

Definition at line 2398 of file ordinal.c.

◆ GET_RGB

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

Definition at line 4025 of file ordinal.c.

◆ IShellBrowser_EnableModeless

#define IShellBrowser_EnableModeless   IShellBrowser_EnableModelessSB

Definition at line 3662 of file ordinal.c.

◆ IsIface

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

Definition at line 3661 of file ordinal.c.

◆ ISOS_RETURN

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

◆ OBJCOMPAT_COCREATESHELLFOLDERONLY

#define OBJCOMPAT_COCREATESHELLFOLDERONLY   0x00000100

Definition at line 6444 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_LIMITEDQI

#define OBJCOMPAT_CTXMENU_LIMITEDQI   0x00000080

Definition at line 6443 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_NOVERBS

#define OBJCOMPAT_CTXMENU_NOVERBS   0x00000040

Definition at line 6442 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_XPQCMFLAGS

#define OBJCOMPAT_CTXMENU_XPQCMFLAGS   0x00001000

Definition at line 6447 of file ordinal.c.

◆ OBJCOMPAT_NEEDSFILESYSANCESTOR

#define OBJCOMPAT_NEEDSFILESYSANCESTOR   0x00000010

Definition at line 6440 of file ordinal.c.

◆ OBJCOMPAT_NEEDSSTORAGEANCESTOR

#define OBJCOMPAT_NEEDSSTORAGEANCESTOR   0x00000200

Definition at line 6445 of file ordinal.c.

◆ OBJCOMPAT_NO_WEBVIEW

#define OBJCOMPAT_NO_WEBVIEW   0x00000002

Definition at line 6437 of file ordinal.c.

◆ OBJCOMPAT_NOIPROPERTYSTORE

#define OBJCOMPAT_NOIPROPERTYSTORE   0x00002000

Definition at line 6448 of file ordinal.c.

◆ OBJCOMPAT_NOLEGACYWEBVIEW

#define OBJCOMPAT_NOLEGACYWEBVIEW   0x00000400

Definition at line 6446 of file ordinal.c.

◆ OBJCOMPAT_NOTAFILESYSTEM

#define OBJCOMPAT_NOTAFILESYSTEM   0x00000020

Definition at line 6441 of file ordinal.c.

◆ OBJCOMPAT_OTNEEDSSFCACHE

#define OBJCOMPAT_OTNEEDSSFCACHE   0x00000001

Definition at line 6436 of file ordinal.c.

◆ OBJCOMPAT_PINDLL

#define OBJCOMPAT_PINDLL   0x00000008

Definition at line 6439 of file ordinal.c.

◆ OBJCOMPAT_UNBINDABLE

#define OBJCOMPAT_UNBINDABLE   0x00000004

Definition at line 6438 of file ordinal.c.

◆ SHELL_NO_POLICY

#define SHELL_NO_POLICY   0xffffffff

Definition at line 2841 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 5109 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 4213 of file ordinal.c.

4214{
4215 return CLSIDFromString((LPCOLESTR)idstr, id);
4216}
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338

◆ ColorAdjustLuma()

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

Definition at line 3909 of file ordinal.c.

3910{
3911 TRACE("(0x%8x,%d,%d)\n", cRGB, dwLuma, bUnknown);
3912
3913 if (dwLuma)
3914 {
3915 WORD wH, wL, wS;
3916
3917 ColorRGBToHLS(cRGB, &wH, &wL, &wS);
3918
3919 FIXME("Ignoring luma adjustment\n");
3920
3921 /* FIXME: The adjustment is not linear */
3922
3923 cRGB = ColorHLSToRGB(wH, wL, wS);
3924 }
3925 return cRGB;
3926}
#define FIXME(fmt,...)
Definition: precomp.h:53
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
Definition: ordinal.c:4043
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
Definition: ordinal.c:4506
unsigned short WORD
Definition: ntddk_ex.h:93

◆ ColorHLSToRGB()

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

Definition at line 4043 of file ordinal.c.

4044{
4045 WORD wRed;
4046
4047 if (wSaturation)
4048 {
4049 WORD wGreen, wBlue, wMid1, wMid2;
4050
4051 if (wLuminosity > 120)
4052 wMid2 = wSaturation + wLuminosity - (wSaturation * wLuminosity + 120) / 240;
4053 else
4054 wMid2 = ((wSaturation + 240) * wLuminosity + 120) / 240;
4055
4056 wMid1 = wLuminosity * 2 - wMid2;
4057
4058 wRed = GET_RGB(wHue + 80);
4059 wGreen = GET_RGB(wHue);
4060 wBlue = GET_RGB(wHue - 80);
4061
4062 return RGB(wRed, wGreen, wBlue);
4063 }
4064
4065 wRed = wLuminosity * 255 / 240;
4066 return RGB(wRed, wRed, wRed);
4067}
#define GET_RGB(h)
Definition: ordinal.c:4025
#define RGB(r, g, b)
Definition: precomp.h:71

Referenced by ColorAdjustLuma().

◆ ColorRGBToHLS()

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

Definition at line 4506 of file ordinal.c.

4508{
4509 int wR, wG, wB, wMax, wMin, wHue, wLuminosity, wSaturation;
4510
4511 TRACE("(%08x,%p,%p,%p)\n", cRGB, pwHue, pwLuminance, pwSaturation);
4512
4513 wR = GetRValue(cRGB);
4514 wG = GetGValue(cRGB);
4515 wB = GetBValue(cRGB);
4516
4517 wMax = max(wR, max(wG, wB));
4518 wMin = min(wR, min(wG, wB));
4519
4520 /* Luminosity */
4521 wLuminosity = ((wMax + wMin) * 240 + 255) / 510;
4522
4523 if (wMax == wMin)
4524 {
4525 /* Achromatic case */
4526 wSaturation = 0;
4527 /* Hue is now unrepresentable, but this is what native returns... */
4528 wHue = 160;
4529 }
4530 else
4531 {
4532 /* Chromatic case */
4533 int wDelta = wMax - wMin, wRNorm, wGNorm, wBNorm;
4534
4535 /* Saturation */
4536 if (wLuminosity <= 120)
4537 wSaturation = ((wMax + wMin)/2 + wDelta * 240) / (wMax + wMin);
4538 else
4539 wSaturation = ((510 - wMax - wMin)/2 + wDelta * 240) / (510 - wMax - wMin);
4540
4541 /* Hue */
4542 wRNorm = (wDelta/2 + wMax * 40 - wR * 40) / wDelta;
4543 wGNorm = (wDelta/2 + wMax * 40 - wG * 40) / wDelta;
4544 wBNorm = (wDelta/2 + wMax * 40 - wB * 40) / wDelta;
4545
4546 if (wR == wMax)
4547 wHue = wBNorm - wGNorm;
4548 else if (wG == wMax)
4549 wHue = 80 + wRNorm - wBNorm;
4550 else
4551 wHue = 160 + wGNorm - wRNorm;
4552 if (wHue < 0)
4553 wHue += 240;
4554 else if (wHue > 240)
4555 wHue -= 240;
4556 }
4557 if (pwHue)
4558 *pwHue = wHue;
4559 if (pwLuminance)
4560 *pwLuminance = wLuminosity;
4561 if (pwSaturation)
4562 *pwSaturation = wSaturation;
4563}
#define GetBValue(quad)
Definition: precomp.h:75
#define GetGValue(quad)
Definition: precomp.h:74
#define GetRValue(quad)
Definition: precomp.h:73
#define min(a, b)
Definition: monoChain.cc:55
#define max(a, b)
Definition: svc.c:63

Referenced by ColorAdjustLuma().

◆ ConnectToConnectionPoint()

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

Definition at line 1193 of file ordinal.c.

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

Referenced by init_pointers().

◆ ConvertHue()

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

Definition at line 4010 of file ordinal.c.

4011{
4012 wHue = wHue > 240 ? wHue - 240 : wHue < 0 ? wHue + 240 : wHue;
4013
4014 if (wHue > 160)
4015 return wMid1;
4016 else if (wHue > 120)
4017 wHue = 160 - wHue;
4018 else if (wHue > 40)
4019 return wMid2;
4020
4021 return ((wHue * (wMid2 - wMid1) + 20) / 40) + wMid1;
4022}

◆ DragQueryFileWrapW()

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

Definition at line 3575 of file ordinal.c.

3576{
3577 return DragQueryFileW(hDrop, lFile, lpszFile, lLength);
3578}
UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszwFile, UINT lLength)
Definition: shellole.c:666

◆ ExtractIconWrapW()

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

Definition at line 3815 of file ordinal.c.

3817{
3818 return ExtractIconW(hInstance, lpszExeFileName, nIconIndex);
3819}
HINSTANCE hInstance
Definition: charmap.c:19
HICON WINAPI ExtractIconW(HINSTANCE hInstance, LPCWSTR lpszFile, UINT nIconIndex)
Definition: shell32_main.c:877

◆ FDSA_DeleteItem()

BOOL WINAPI FDSA_DeleteItem ( FDSA_info info,
DWORD  where 
)

Definition at line 2487 of file ordinal.c.

2488{
2489 TRACE("(%p 0x%08x)\n", info, where);
2490
2491 if(where >= info->num_items)
2492 return FALSE;
2493
2494 if(where < info->num_items - 1)
2495 {
2496 memmove((char*)info->mem + where * info->block_size,
2497 (char*)info->mem + (where + 1) * info->block_size,
2498 (info->num_items - where - 1) * info->block_size);
2499 }
2500 memset((char*)info->mem + (info->num_items - 1) * info->block_size,
2501 0, info->block_size);
2502 info->num_items--;
2503 return TRUE;
2504}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
#define memset(x, y, z)
Definition: compat.h:39

◆ FDSA_Destroy()

BOOL WINAPI FDSA_Destroy ( FDSA_info info)

Definition at line 2431 of file ordinal.c.

2432{
2433 TRACE("(%p)\n", info);
2434
2435 if(info->flags & FDSA_FLAG_INTERNAL_ALLOC)
2436 {
2437 HeapFree(GetProcessHeap(), 0, info->mem);
2438 return FALSE;
2439 }
2440
2441 return TRUE;
2442}
#define GetProcessHeap()
Definition: compat.h:736
#define HeapFree(x, y, z)
Definition: compat.h:735
#define FDSA_FLAG_INTERNAL_ALLOC
Definition: ordinal.c:2398

◆ FDSA_Initialize()

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

Definition at line 2405 of file ordinal.c.

2407{
2408 TRACE("(0x%08x 0x%08x %p %p 0x%08x)\n", block_size, inc, info, mem, init_blocks);
2409
2410 if(inc == 0)
2411 inc = 1;
2412
2413 if(mem)
2414 memset(mem, 0, block_size * init_blocks);
2415
2416 info->num_items = 0;
2417 info->inc = inc;
2418 info->mem = mem;
2419 info->blocks_alloced = init_blocks;
2420 info->block_size = block_size;
2421 info->flags = 0;
2422
2423 return TRUE;
2424}
static DWORD block_size(DWORD block)
Definition: jsutils.c:66
Definition: mem.c:349

◆ FDSA_InsertItem()

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

Definition at line 2449 of file ordinal.c.

2450{
2451 TRACE("(%p 0x%08x %p)\n", info, where, block);
2452 if(where > info->num_items)
2453 where = info->num_items;
2454
2455 if(info->num_items >= info->blocks_alloced)
2456 {
2457 DWORD size = (info->blocks_alloced + info->inc) * info->block_size;
2458 if(info->flags & 0x1)
2460 else
2461 {
2462 void *old_mem = info->mem;
2464 memcpy(info->mem, old_mem, info->blocks_alloced * info->block_size);
2465 }
2466 info->blocks_alloced += info->inc;
2467 info->flags |= 0x1;
2468 }
2469
2470 if(where < info->num_items)
2471 {
2472 memmove((char*)info->mem + (where + 1) * info->block_size,
2473 (char*)info->mem + where * info->block_size,
2474 (info->num_items - where) * info->block_size);
2475 }
2476 memcpy((char*)info->mem + where * info->block_size, block, info->block_size);
2477
2478 info->num_items++;
2479 return where;
2480}
#define HeapAlloc
Definition: compat.h:733
#define HeapReAlloc
Definition: compat.h:734
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
unsigned long DWORD
Definition: ntddk_ex.h:95
GLsizeiptr size
Definition: glext.h:5919
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static unsigned int block
Definition: xmlmemory.c:101

◆ FixSlashesAndColonW()

VOID WINAPI FixSlashesAndColonW ( LPWSTR  lpwstr)

Definition at line 4735 of file ordinal.c.

4736{
4737 while (*lpwstr)
4738 {
4739 if (*lpwstr == '/')
4740 *lpwstr = '\\';
4741 lpwstr++;
4742 }
4743}

Referenced by PathQualifyExW().

◆ GetAcceptLanguagesA()

HRESULT WINAPI GetAcceptLanguagesA ( LPSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 577 of file ordinal.c.

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

Referenced by init_pointers().

◆ GetAcceptLanguagesW()

HRESULT WINAPI GetAcceptLanguagesW ( LPWSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 518 of file ordinal.c.

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

Referenced by GetAcceptLanguagesA().

◆ GetFileVersionInfoSizeWrapW()

DWORD WINAPI GetFileVersionInfoSizeWrapW ( LPCWSTR  filename,
LPDWORD  handle 
)

Definition at line 3634 of file ordinal.c.

3635{
3637}
DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR filename, LPDWORD handle)
Definition: version.c:738
const char * filename
Definition: ioapi.h:137

◆ GetFileVersionInfoWrapW()

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

Definition at line 3644 of file ordinal.c.

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

◆ GetMenuPosFromID()

INT WINAPI GetMenuPosFromID ( HMENU  hMenu,
UINT  wID 
)

Definition at line 4698 of file ordinal.c.

4699{
4701 INT nCount = GetMenuItemCount(hMenu), nIter = 0;
4702
4703 TRACE("%p %u\n", hMenu, wID);
4704
4705 while (nIter < nCount)
4706 {
4707 mi.cbSize = sizeof(mi);
4708 mi.fMask = MIIM_ID;
4709 if (GetMenuItemInfoW(hMenu, nIter, TRUE, &mi) && mi.wID == wID)
4710 {
4711 TRACE("ret %d\n", nIter);
4712 return nIter;
4713 }
4714 nIter++;
4715 }
4716
4717 return -1;
4718}
static MONITORINFO mi
Definition: win.c:7338
DWORD cbSize
Definition: winuser.h:3886
int32_t INT
Definition: typedefs.h:58
#define MIIM_ID
Definition: winuser.h:733
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)

Referenced by DeleteMenuEx(), and SHMenuIndexFromID().

◆ GetOpenFileNameWrapW()

BOOL WINAPI GetOpenFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3984 of file ordinal.c.

3985{
3986 return GetOpenFileNameW(ofn);
3987}
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
Definition: filedlg.c:4736
OPENFILENAME ofn
Definition: sndrec32.cpp:56

◆ GetSaveFileNameWrapW()

BOOL WINAPI GetSaveFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3933 of file ordinal.c.

3934{
3935 return GetSaveFileNameW(ofn);
3936}
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
Definition: filedlg.c:4801

◆ GetShellSecurityDescriptor()

PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor ( const PSHELL_USER_PERMISSION apUserPerm,
int  cUserPerm 
)

Definition at line 5264 of file ordinal.c.

5265{
5266 PSID *sidlist;
5267 PSID cur_user = NULL;
5268 BYTE tuUser[2000];
5269 DWORD acl_size;
5270 int sid_count, i;
5272
5273 TRACE("%p %d\n", apUserPerm, cUserPerm);
5274
5275 if (apUserPerm == NULL || cUserPerm <= 0)
5276 return NULL;
5277
5278 sidlist = HeapAlloc(GetProcessHeap(), 0, cUserPerm * sizeof(PSID));
5279 if (!sidlist)
5280 return NULL;
5281
5282 acl_size = sizeof(ACL);
5283
5284 for(sid_count = 0; sid_count < cUserPerm; sid_count++)
5285 {
5286 static SHELL_USER_SID null_sid = {{SECURITY_NULL_SID_AUTHORITY}, 0, 0};
5287 PSHELL_USER_PERMISSION perm = apUserPerm[sid_count];
5288 PSHELL_USER_SID sid = &perm->susID;
5289 PSID pSid;
5290 BOOL ret = TRUE;
5291
5292 if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID)))
5293 { /* current user's SID */
5294 if (!cur_user)
5295 {
5296 HANDLE Token;
5297 DWORD bufsize = sizeof(tuUser);
5298
5300 if (ret)
5301 {
5302 ret = GetTokenInformation(Token, TokenUser, (void*)tuUser, bufsize, &bufsize );
5303 if (ret)
5304 cur_user = ((PTOKEN_USER)tuUser)->User.Sid;
5306 }
5307 }
5308 pSid = cur_user;
5309 } else if (sid->dwUserID==0) /* one sub-authority */
5310 ret = AllocateAndInitializeSid(&sid->sidAuthority, 1, sid->dwUserGroupID, 0,
5311 0, 0, 0, 0, 0, 0, &pSid);
5312 else
5313 ret = AllocateAndInitializeSid(&sid->sidAuthority, 2, sid->dwUserGroupID, sid->dwUserID,
5314 0, 0, 0, 0, 0, 0, &pSid);
5315 if (!ret)
5316 goto free_sids;
5317
5318 sidlist[sid_count] = pSid;
5319 /* increment acl_size (1 ACE for non-inheritable and 2 ACEs for inheritable records */
5320 acl_size += (sizeof(ACCESS_ALLOWED_ACE)-sizeof(DWORD) + GetLengthSid(pSid)) * (perm->fInherit ? 2 : 1);
5321 }
5322
5323 psd = LocalAlloc(0, sizeof(SECURITY_DESCRIPTOR) + acl_size);
5324
5325 if (psd != NULL)
5326 {
5327 PACL pAcl = (PACL)(((BYTE*)psd)+sizeof(SECURITY_DESCRIPTOR));
5328
5330 goto error;
5331
5332 if (!InitializeAcl(pAcl, acl_size, ACL_REVISION))
5333 goto error;
5334
5335 for(i = 0; i < sid_count; i++)
5336 {
5337 PSHELL_USER_PERMISSION sup = apUserPerm[i];
5338 PSID sid = sidlist[i];
5339
5340 switch(sup->dwAccessType)
5341 {
5344 goto error;
5345 if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION,
5347 goto error;
5348 break;
5351 goto error;
5352 if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION,
5354 goto error;
5355 break;
5356 default:
5357 goto error;
5358 }
5359 }
5360
5361 if (!SetSecurityDescriptorDacl(psd, TRUE, pAcl, FALSE))
5362 goto error;
5363 }
5364 goto free_sids;
5365
5366error:
5367 LocalFree(psd);
5368 psd = NULL;
5369free_sids:
5370 for(i = 0; i < sid_count; i++)
5371 {
5372 if (!cur_user || sidlist[i] != cur_user)
5373 FreeSid(sidlist[i]);
5374 }
5375 HeapFree(GetProcessHeap(), 0, sidlist);
5376
5377 return psd;
5378}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
static void free_sids(PSID *sids, int count)
Definition: acl.c:155
FT_UInt sid
Definition: cffcmap.c:139
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
Definition: security.c:411
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:294
BOOL WINAPI AddAccessDeniedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:1114
BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID *pSid)
Definition: security.c:674
BOOL WINAPI InitializeAcl(PACL pAcl, DWORD nAclLength, DWORD dwAclRevision)
Definition: security.c:1006
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision)
Definition: security.c:929
BOOL WINAPI AddAccessAllowedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:1039
BOOL WINAPI AddAccessAllowedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:1063
DWORD WINAPI GetLengthSid(PSID pSid)
Definition: security.c:919
PVOID WINAPI FreeSid(PSID pSid)
Definition: security.c:698
BOOL WINAPI AddAccessDeniedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:1090
#define CloseHandle
Definition: compat.h:739
#define GetCurrentProcess()
Definition: compat.h:759
return ret
Definition: mutex.c:146
unsigned int BOOL
Definition: ntddk_ex.h:94
GLenum GLuint GLsizei bufsize
Definition: glext.h:7473
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1390
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
#define error(str)
Definition: mkdosfs.c:1605
static PSID pSid
Definition: security.c:74
struct _ACL ACL
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
struct _ACL * PACL
Definition: security.c:105
struct _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE
BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted)
Definition: sec.c:262
SHELL_USER_SID susID
Definition: ordinal.c:5239
struct _TOKEN_USER * PTOKEN_USER
#define ACCESS_ALLOWED_ACE_TYPE
Definition: setypes.h:717
#define TOKEN_QUERY
Definition: setypes.h:940
@ TokenUser
Definition: setypes.h:978
#define ACCESS_DENIED_ACE_TYPE
Definition: setypes.h:718
#define SECURITY_DESCRIPTOR_REVISION
Definition: setypes.h:58
#define SECURITY_NULL_SID_AUTHORITY
Definition: setypes.h:524
#define ACL_REVISION
Definition: setypes.h:39
unsigned char BYTE
Definition: xxhash.c:193

Referenced by init_pointers().

◆ GetStringType3ExW()

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

Definition at line 783 of file ordinal.c.

784{
786}
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
Definition: locale.c:3098
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLenum src
Definition: glext.h:6340
#define CT_CTYPE3
Definition: winnls.h:257

◆ GetUIVersion()

DWORD WINAPI GetUIVersion ( void  )

Definition at line 5114 of file ordinal.c.

5115{
5116 static DWORD version;
5117
5118 if (!version)
5119 {
5120 DllGetVersion_func pDllGetVersion;
5121 HMODULE dll = LoadLibraryA("shell32.dll");
5122 if (!dll) return 0;
5123
5124 pDllGetVersion = (DllGetVersion_func)GetProcAddress(dll, "DllGetVersion");
5125 if (pDllGetVersion)
5126 {
5127 DLLVERSIONINFO dvi;
5128 dvi.cbSize = sizeof(DLLVERSIONINFO);
5129 if (pDllGetVersion(&dvi) == S_OK) version = dvi.dwMajorVersion;
5130 }
5131 FreeLibrary( dll );
5132 if (!version) version = 3; /* old shell dlls don't have DllGetVersion */
5133 }
5134 return version;
5135}
#define GetProcAddress(x, y)
Definition: compat.h:753
#define FreeLibrary(x)
Definition: compat.h:748
static const WCHAR version[]
Definition: asmname.c:66
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
HRESULT(WINAPI * DllGetVersion_func)(DLLVERSIONINFO *)
Definition: ordinal.c:5109
struct _DllVersionInfo DLLVERSIONINFO
DWORD dwMajorVersion
Definition: shlwapi.h:121
DWORD cbSize
Definition: shlwapi.h:120

◆ GUIDFromStringA()

BOOL WINAPI GUIDFromStringA ( LPCSTR  idstr,
CLSID id 
)

Definition at line 3035 of file ordinal.c.

3036{
3037 WCHAR wClsid[40];
3038 MultiByteToWideChar(CP_ACP, 0, idstr, -1, wClsid, sizeof(wClsid)/sizeof(WCHAR));
3039 return SUCCEEDED(CLSIDFromString(wClsid, id));
3040}
#define MultiByteToWideChar
Definition: compat.h:110

Referenced by init_pointers().

◆ GUIDFromStringW()

BOOL WINAPI GUIDFromStringW ( LPCWSTR  idstr,
CLSID id 
)

Definition at line 3047 of file ordinal.c.

3048{
3049 return SUCCEEDED(CLSIDFromString((LPCOLESTR)idstr, id));
3050}

◆ IConnectionPoint_InvokeWithCancel()

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

Definition at line 3307 of file ordinal.c.

3310{
3311 IID iid;
3313
3314 FIXME("(%p)->(0x%x %p %x %x) partial stub\n", iCP, dispId, dispParams, unknown1, unknown2);
3315
3316 result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3317 if (SUCCEEDED(result))
3318 result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3319 else
3320 result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3321
3322 return result;
3323}
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
Definition: ordinal.c:3268
GLuint64EXT * result
Definition: glext.h:11304

Referenced by init_pointers().

◆ IConnectionPoint_OnChanged()

HRESULT WINAPI IConnectionPoint_OnChanged ( IConnectionPoint lpCP,
DISPID  dispID 
)

Definition at line 3364 of file ordinal.c.

3365{
3366 IEnumConnections *lpEnum;
3367 HRESULT hRet = E_NOINTERFACE;
3368
3369 TRACE("(%p,0x%8X)\n", lpCP, dispID);
3370
3371 /* Get an enumerator for the connections */
3372 if (lpCP)
3373 hRet = IConnectionPoint_EnumConnections(lpCP, &lpEnum);
3374
3375 if (SUCCEEDED(hRet))
3376 {
3377 IPropertyNotifySink *lpSink;
3378 CONNECTDATA connData;
3379 ULONG ulFetched;
3380
3381 /* Call OnChanged() for every notify sink in the connection point */
3382 while (IEnumConnections_Next(lpEnum, 1, &connData, &ulFetched) == S_OK)
3383 {
3384 if (SUCCEEDED(IUnknown_QueryInterface(connData.pUnk, &IID_IPropertyNotifySink, (void**)&lpSink)) &&
3385 lpSink)
3386 {
3387 IPropertyNotifySink_OnChanged(lpSink, dispID);
3388 IPropertyNotifySink_Release(lpSink);
3389 }
3390 IUnknown_Release(connData.pUnk);
3391 }
3392
3393 IEnumConnections_Release(lpEnum);
3394 }
3395 return hRet;
3396}
const GUID IID_IPropertyNotifySink
uint32_t ULONG
Definition: typedefs.h:59
#define E_NOINTERFACE
Definition: winerror.h:3479

Referenced by IUnknown_CPContainerOnChanged().

◆ IConnectionPoint_SimpleInvoke()

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

Definition at line 3331 of file ordinal.c.

3335{
3336 IID iid;
3338
3339 TRACE("(%p)->(0x%x %p)\n",iCP,dispId,dispParams);
3340
3341 result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3342 if (SUCCEEDED(result))
3343 result = SHLWAPI_InvokeByIID(iCP, &iid, dispId, dispParams);
3344 else
3345 result = SHLWAPI_InvokeByIID(iCP, NULL, dispId, dispParams);
3346
3347 return result;
3348}

Referenced by init_pointers().

◆ IsCharBlankW()

BOOL WINAPI IsCharBlankW ( WCHAR  wc)

Definition at line 696 of file ordinal.c.

697{
698 WORD CharType;
699
700 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_BLANK);
701}
#define C1_BLANK
Definition: unicode.h:37
#define CT_CTYPE1
Definition: winnls.h:255

◆ IsCharCntrlW()

BOOL WINAPI IsCharCntrlW ( WCHAR  wc)

Definition at line 734 of file ordinal.c.

735{
736 WORD CharType;
737
738 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_CNTRL);
739}
#define C1_CNTRL
Definition: unicode.h:36

◆ IsCharDigitW()

BOOL WINAPI IsCharDigitW ( WCHAR  wc)

Definition at line 753 of file ordinal.c.

754{
755 WORD CharType;
756
757 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_DIGIT);
758}
#define C1_DIGIT
Definition: unicode.h:33

◆ IsCharPunctW()

BOOL WINAPI IsCharPunctW ( WCHAR  wc)

Definition at line 715 of file ordinal.c.

716{
717 WORD CharType;
718
719 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_PUNCT);
720}
#define C1_PUNCT
Definition: unicode.h:35

◆ IsCharXDigitW()

BOOL WINAPI IsCharXDigitW ( WCHAR  wc)

Definition at line 772 of file ordinal.c.

773{
774 WORD CharType;
775
776 return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_XDIGIT);
777}
#define C1_XDIGIT
Definition: unicode.h:38

◆ IsOS()

BOOL WINAPI IsOS ( DWORD  feature)

Definition at line 4230 of file ordinal.c.

4231{
4232#ifdef __REACTOS__
4234 DWORD platform, majorv, minorv;
4235
4236 osvi.dwOSVersionInfoSize = sizeof(osvi);
4238 {
4241 {
4242 ERR("GetVersionEx failed\n");
4243 return FALSE;
4244 }
4245 osvi.wProductType = VER_NT_WORKSTATION;
4246 osvi.wSuiteMask = 0;
4247 }
4248#else
4250 DWORD platform, majorv, minorv;
4251
4253 if(!GetVersionExA(&osvi)) {
4254 ERR("GetVersionEx failed\n");
4255 return FALSE;
4256 }
4257#endif
4258 majorv = osvi.dwMajorVersion;
4259 minorv = osvi.dwMinorVersion;
4261
4262#define ISOS_RETURN(x) \
4263 TRACE("(0x%x) ret=%d\n",feature,(x)); \
4264 return (x);
4265
4266 switch(feature) {
4267 case OS_WIN32SORGREATER:
4270 case OS_NT:
4272 case OS_WIN95ORGREATER:
4274 case OS_NT4ORGREATER:
4275 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 4)
4278 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4279 case OS_WIN98ORGREATER:
4281 case OS_WIN98_GOLD:
4283 case OS_WIN2000PRO:
4284 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4285 case OS_WIN2000SERVER:
4286 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4288 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4290 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4291 case OS_WIN2000TERMINAL:
4292 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && (minorv == 0 || minorv == 1))
4293 case OS_EMBEDDED:
4294 FIXME("(OS_EMBEDDED) What should we return here?\n");
4295 return FALSE;
4296 case OS_TERMINALCLIENT:
4297 FIXME("(OS_TERMINALCLIENT) What should we return here?\n");
4298 return FALSE;
4300 FIXME("(OS_TERMINALREMOTEADMIN) What should we return here?\n");
4301 return FALSE;
4302 case OS_WIN95_GOLD:
4304 case OS_MEORGREATER:
4306 case OS_XPORGREATER:
4307 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4308 case OS_HOME:
4309 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5 && minorv >= 1)
4310 case OS_PROFESSIONAL:
4312 case OS_DATACENTER:
4314 case OS_ADVSERVER:
4315 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 5)
4316 case OS_SERVER:
4318 case OS_TERMINALSERVER:
4321 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && minorv >= 1 && majorv >= 5)
4323 FIXME("(OS_FASTUSERSWITCHING) What should we return here?\n");
4324 return TRUE;
4325 case OS_WELCOMELOGONUI:
4326 FIXME("(OS_WELCOMELOGONUI) What should we return here?\n");
4327 return FALSE;
4328 case OS_DOMAINMEMBER:
4329 FIXME("(OS_DOMAINMEMBER) What should we return here?\n");
4330 return TRUE;
4331 case OS_ANYSERVER:
4332#ifdef __REACTOS__
4333 ISOS_RETURN(osvi.wProductType > VER_NT_WORKSTATION)
4334#else
4336#endif
4337 case OS_WOW6432:
4338 {
4339 BOOL is_wow64;
4341 return is_wow64;
4342 }
4343 case OS_WEBSERVER:
4347 case OS_TABLETPC:
4348 FIXME("(OS_TABLETPC) What should we return here?\n");
4349 return FALSE;
4350 case OS_SERVERADMINUI:
4351#ifdef __REACTOS__
4352 {
4353 DWORD value = FALSE, size = sizeof(value);
4355 if (hKey)
4356 {
4357 SHQueryValueExW(hKey, L"ServerAdminUI", NULL, NULL, &value, &size);
4359 }
4361 }
4362#else
4363 FIXME("(OS_SERVERADMINUI) What should we return here?\n");
4364 return FALSE;
4365#endif
4366 case OS_MEDIACENTER:
4367 FIXME("(OS_MEDIACENTER) What should we return here?\n");
4368 return FALSE;
4369 case OS_APPLIANCE:
4370 FIXME("(OS_APPLIANCE) What should we return here?\n");
4371 return FALSE;
4372 case 0x25: /*OS_VISTAORGREATER*/
4373 ISOS_RETURN(platform == VER_PLATFORM_WIN32_NT && majorv >= 6)
4374 }
4375
4376#undef ISOS_RETURN
4377
4378 WARN("(0x%x) unknown parameter\n",feature);
4379
4380 return FALSE;
4381}
#define WARN(fmt,...)
Definition: precomp.h:61
#define ERR(fmt,...)
Definition: precomp.h:57
return
Definition: dirsup.c:529
#define IsWow64Process
Definition: compat.h:760
BOOL WINAPI GetVersionExA(IN LPOSVERSIONINFOA lpVersionInformation)
Definition: version.c:69
HKEY WINAPI SHGetShellKey(DWORD flags, LPCWSTR sub_key, BOOL create)
Definition: ordinal.c:4806
#define ISOS_RETURN(x)
DWORD WINAPI SHQueryValueExW(HKEY hKey, LPCWSTR lpszValue, LPDWORD lpReserved, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1461
#define L(x)
Definition: resources.c:13
FxAutoRegKey hKey
GLdouble n
Definition: glext.h:7729
BOOL is_wow64
Definition: main.c:38
@ SHKEY_Key_Explorer
Definition: ordinal.c:2807
@ SHKEY_Root_HKCU
Definition: ordinal.c:2805
platform
Definition: msipriv.h:364
#define VER_PLATFORM_WIN32_NT
Definition: rtltypes.h:238
#define VER_PLATFORM_WIN32_WINDOWS
Definition: rtltypes.h:237
#define VER_PLATFORM_WIN32s
Definition: rtltypes.h:236
#define OS_WIN2000TERMINAL
Definition: shlwapi.h:238
#define OS_WIN98_GOLD
Definition: shlwapi.h:232
#define OS_APPLIANCE
Definition: shlwapi.h:262
#define OS_WIN95ORGREATER
Definition: shlwapi.h:228
#define OS_MEDIACENTER
Definition: shlwapi.h:261
#define OS_WIN95_GOLD
Definition: shlwapi.h:242
#define OS_SMALLBUSINESSSERVER
Definition: shlwapi.h:258
#define OS_WIN98ORGREATER
Definition: shlwapi.h:231
#define OS_NT
Definition: shlwapi.h:227
#define OS_MEORGREATER
Definition: shlwapi.h:243
#define OS_WIN2000ADVSERVER
Definition: shlwapi.h:236
#define OS_XPORGREATER
Definition: shlwapi.h:244
#define OS_WIN2000ORGREATER
Definition: shlwapi.h:233
#define OS_WIN2000PRO
Definition: shlwapi.h:234
#define OS_WIN2000SERVER
Definition: shlwapi.h:235
#define OS_TERMINALSERVER
Definition: shlwapi.h:250
#define OS_SERVERADMINUI
Definition: shlwapi.h:260
#define OS_PROFESSIONAL
Definition: shlwapi.h:246
#define OS_WOW6432
Definition: shlwapi.h:256
#define OS_TERMINALCLIENT
Definition: shlwapi.h:240
#define OS_DOMAINMEMBER
Definition: shlwapi.h:254
#define OS_WIN2000DATACENTER
Definition: shlwapi.h:237
#define OS_NT4ORGREATER
Definition: shlwapi.h:229
#define OS_TABLETPC
Definition: shlwapi.h:259
#define OS_ADVSERVER
Definition: shlwapi.h:248
#define OS_EMBEDDED
Definition: shlwapi.h:239
#define OS_SERVER
Definition: shlwapi.h:249
#define OS_TERMINALREMOTEADMIN
Definition: shlwapi.h:241
#define OS_FASTUSERSWITCHING
Definition: shlwapi.h:252
#define OS_PERSONALTERMINALSERVER
Definition: shlwapi.h:251
#define OS_WELCOMELOGONUI
Definition: shlwapi.h:253
#define OS_HOME
Definition: shlwapi.h:245
#define OS_ANYSERVER
Definition: shlwapi.h:255
#define OS_DATACENTER
Definition: shlwapi.h:247
#define OS_WEBSERVER
Definition: shlwapi.h:257
ULONG dwPlatformId
Definition: rtltypes.h:241
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:237
ULONG dwMajorVersion
Definition: rtltypes.h:238
ULONG dwMinorVersion
Definition: rtltypes.h:239
Definition: pdh_main.c:96
OSVERSIONINFO osvi
Definition: ver.c:28
#define OS_WIN2000ORGREATER_ALT
Definition: shlwapi.h:1123
#define OS_WIN32SORGREATER
Definition: shlwapi.h:1119
#define VER_NT_WORKSTATION
struct _OSVERSIONINFOA OSVERSIONINFOA

Referenced by CDefView::GetDefaultViewMode(), CShellDispatch::GetSetting(), CShellDispatch::GetSystemInformation(), InitializeServerAdminUI(), IsSystem64Bit(), and CControlPanelFolder::MessageSFVCB().

◆ IsQSForward()

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

Definition at line 2353 of file ordinal.c.

2354{
2355 FIXME("(%p,%d,%p) - stub!\n", pguidCmdGroup, cCmds, prgCmds);
2357}
#define DRAGDROP_E_NOTREGISTERED
Definition: winerror.h:3760

Referenced by TEST_IsQSForward().

◆ IUnknown_AtomicRelease()

void WINAPI IUnknown_AtomicRelease ( IUnknown **  lpUnknown)

Definition at line 1245 of file ordinal.c.

1246{
1247 TRACE("(%p)\n", lpUnknown);
1248
1249 if(!lpUnknown || !*lpUnknown) return;
1250
1251 TRACE("doing Release\n");
1252
1253 IUnknown_Release(*lpUnknown);
1254 *lpUnknown = NULL;
1255}

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

3409{
3411 IConnectionPoint *iCP;
3413 DISPPARAMS dispParams = {buffer, NULL, cParams, 0};
3415
3416 if (!container)
3417 return E_NOINTERFACE;
3418
3419 result = IUnknown_QueryInterface(container, &IID_IConnectionPointContainer,(LPVOID*) &iCPC);
3420 if (FAILED(result))
3421 return result;
3422
3423 result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP);
3424 IConnectionPointContainer_Release(iCPC);
3425 if(FAILED(result))
3426 return result;
3427
3428 __ms_va_start(valist, cParams);
3429 SHPackDispParamsV(&dispParams, buffer, cParams, valist);
3431
3432 result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams);
3433 IConnectionPoint_Release(iCP);
3434
3435 return result;
3436}
HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
Definition: ordinal.c:3198
GLuint buffer
Definition: glext.h:5915
static va_list valist
Definition: printf.c:46
struct stdole::DISPPARAMS DISPPARAMS
#define __ms_va_list
Definition: windef.h:244
#define __ms_va_end(list)
Definition: windef.h:246
#define __ms_va_start(list, arg)
Definition: windef.h:245

◆ IUnknown_CPContainerOnChanged()

HRESULT WINAPI IUnknown_CPContainerOnChanged ( IUnknown lpUnknown,
DISPID  dispID 
)

Definition at line 3452 of file ordinal.c.

3453{
3455 HRESULT hRet = E_NOINTERFACE;
3456
3457 TRACE("(%p,0x%8X)\n", lpUnknown, dispID);
3458
3459 if (lpUnknown)
3460 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer, (void**)&lpCPC);
3461
3462 if (SUCCEEDED(hRet))
3463 {
3464 IConnectionPoint* lpCP;
3465
3466 hRet = IConnectionPointContainer_FindConnectionPoint(lpCPC, &IID_IPropertyNotifySink, &lpCP);
3467 IConnectionPointContainer_Release(lpCPC);
3468
3469 hRet = IConnectionPoint_OnChanged(lpCP, dispID);
3470 IConnectionPoint_Release(lpCP);
3471 }
3472 return hRet;
3473}
HRESULT WINAPI IConnectionPoint_OnChanged(IConnectionPoint *lpCP, DISPID dispID)
Definition: ordinal.c:3364

◆ IUnknown_EnableModeless()

HRESULT WINAPI IUnknown_EnableModeless ( IUnknown lpUnknown,
BOOL  bModeless 
)

Definition at line 3684 of file ordinal.c.

3685{
3686 IUnknown *lpObj;
3687 HRESULT hRet;
3688
3689 TRACE("(%p,%d)\n", lpUnknown, bModeless);
3690
3691 if (!lpUnknown)
3692 return E_FAIL;
3693
3696 else if (IsIface(IOleInPlaceFrame))
3698 else if (IsIface(IShellBrowser))
3702 else if (IsIface(IDocHostUIHandler))
3704 else
3705 return hRet;
3706
3707 IUnknown_Release(lpObj);
3708 return S_OK;
3709}
#define EnableModeless(type)
Definition: ordinal.c:3663
#define IsIface(type)
Definition: ordinal.c:3661

◆ IUnknown_Exec()

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

Definition at line 1087 of file ordinal.c.

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

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

◆ IUnknown_GetClassID()

HRESULT WINAPI IUnknown_GetClassID ( IUnknown lpUnknown,
CLSID clsid 
)

Definition at line 1457 of file ordinal.c.

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

Referenced by GetClassOfItem(), CDefView::GetDefaultViewStream(), CSearchBar::GetSearchResultsFolder(), init_pointers(), and SHSkipJunction().

◆ IUnknown_GetSite()

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

Definition at line 2761 of file ordinal.c.

2762{
2763 HRESULT hRet = E_INVALIDARG;
2764 LPOBJECTWITHSITE lpSite = NULL;
2765
2766 TRACE("(%p,%s,%p)\n", lpUnknown, debugstr_guid(iid), lppSite);
2767
2768 if (lpUnknown && iid && lppSite)
2769 {
2770 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IObjectWithSite,
2771 (void**)&lpSite);
2772 if (SUCCEEDED(hRet) && lpSite)
2773 {
2774 hRet = IObjectWithSite_GetSite(lpSite, iid, lppSite);
2775 IObjectWithSite_Release(lpSite);
2776 }
2777 }
2778 return hRet;
2779}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
const IID IID_IObjectWithSite

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

◆ IUnknown_GetWindow()

HRESULT WINAPI IUnknown_GetWindow ( IUnknown lpUnknown,
HWND lphWnd 
)

Definition at line 1336 of file ordinal.c.

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

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

◆ IUnknown_HandleIRestrict()

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

Definition at line 1953 of file ordinal.c.

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

◆ IUnknown_HasFocusIO()

HRESULT WINAPI IUnknown_HasFocusIO ( IUnknown lpUnknown)

Definition at line 4468 of file ordinal.c.

4469{
4470 IInputObject* lpInput = NULL;
4471 HRESULT hRet = E_INVALIDARG;
4472
4473 TRACE("(%p)\n", lpUnknown);
4474 if (lpUnknown)
4475 {
4476 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4477 (void**)&lpInput);
4478 if (SUCCEEDED(hRet) && lpInput)
4479 {
4480 hRet = IInputObject_HasFocusIO(lpInput);
4481 IInputObject_Release(lpInput);
4482 }
4483 }
4484 return hRet;
4485}
#define IInputObject_HasFocusIO(p)
Definition: shlobj.h:719
#define IInputObject_Release(p)
Definition: shlobj.h:716

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

◆ IUnknown_OnFocusChangeIS()

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

Definition at line 4988 of file ordinal.c.

4989{
4990 IInputObjectSite *pIOS = NULL;
4991 HRESULT hRet = E_INVALIDARG;
4992
4993 TRACE("(%p, %p, %s)\n", lpUnknown, pFocusObject, bFocus ? "TRUE" : "FALSE");
4994
4995 if (lpUnknown)
4996 {
4997 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObjectSite,
4998 (void **)&pIOS);
4999 if (SUCCEEDED(hRet) && pIOS)
5000 {
5001 hRet = IInputObjectSite_OnFocusChangeIS(pIOS, pFocusObject, bFocus);
5003 }
5004 }
5005 return hRet;
5006}
#define IInputObjectSite_Release(p)
Definition: shlobj.h:740
#define IInputObjectSite_OnFocusChangeIS(p, a, b)
Definition: shlobj.h:742

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

◆ IUnknown_OnFocusOCS()

HRESULT WINAPI IUnknown_OnFocusOCS ( IUnknown lpUnknown,
BOOL  fGotFocus 
)

Definition at line 1931 of file ordinal.c.

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

◆ IUnknown_ProfferService()

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

Definition at line 1592 of file ordinal.c.

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

Referenced by init_pointers().

◆ IUnknown_QueryService()

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

Definition at line 1501 of file ordinal.c.

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

Referenced by CDefViewBckgrndMenu::_bIsDesktopBrowserMenu(), CExplorerBand::_CreateTreeView(), CExplorerBand::_DestroyTreeView(), CDefView::_MergeToolbar(), CMenuDeskBar::_OnActivate(), CDefaultContextMenu::BrowserFlagsFromVerb(), CDefaultContextMenu::DoCopyOrCut(), CDefaultContextMenu::DoCreateNewFolder(), CDefaultContextMenu::DoRename(), CFSDropTarget::Drop(), CAddressEditBox::Execute(), CBandProxy::FindBrowserWindow(), CAddressEditBox::GetAbsolutePidl(), CShellBrowser::GetMenuBand(), CSearchBar::GetSearchResultsFolder(), CRegTreeOptions::GetSetState(), CFolderOptions::HandleDefFolderSettings(), CAddressEditBox::Init(), CDefViewBckgrndMenu::InvokeCommand(), CNetConUiObject::InvokeCommand(), CAddressBand::IsGoButtonVisible(), CMenuFocusManager::IsTrackedWindowOrParent(), IUnknown_HandleIRestrict(), IUnknown_ProfferService(), IUnknown_QueryServiceExec(), IUnknown_QueryServiceForWebBrowserApp(), IUnknown_QueryServicePropertyBag(), CFindFolder::MessageSFVCB(), CSearchBar::OnInitDialog(), CInternetToolbar::OnMenuDropDown(), CSearchBar::OnSearchButtonClicked(), CInternetToolbar::OnTravelBack(), CInternetToolbar::OnTravelForward(), CAddressEditBox::ParseNow(), CMenuDeskBar::Popup(), QueryActiveShellView(), CInternetToolbar::QueryService(), CDefView::QueryService(), CMenuDeskBar::QueryService(), CMenuSite::QueryService(), CDefaultContextMenu::QueryService(), RegisterDefaultAcceptHeaders(), CNewMenu::SelectNewItem(), CAddressEditBox::SetOwner(), CInternetToolbar::SetSite(), CMenuBand::SetSite(), CMenuDeskBar::SetSite(), SHShouldShowWizards(), CDefaultContextMenu::TryToBrowse(), and CMenuBand::UIActivateIO().

◆ IUnknown_QueryServiceExec()

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

Definition at line 1553 of file ordinal.c.

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

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

5600{
5601 FIXME("%p %s %p semi-STUB\n", lpUnknown, debugstr_guid(riid), lppOut);
5602 return IUnknown_QueryService(lpUnknown,&IID_IWebBrowserApp,riid,lppOut);
5603}

◆ IUnknown_QueryStatus()

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

Definition at line 1048 of file ordinal.c.

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

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

◆ IUnknown_Set()

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

Definition at line 2190 of file ordinal.c.

2191{
2192 TRACE("(%p,%p)\n", lppDest, lpUnknown);
2193
2194 IUnknown_AtomicRelease(lppDest);
2195
2196 if (lpUnknown)
2197 {
2198 IUnknown_AddRef(lpUnknown);
2199 *lppDest = lpUnknown;
2200 }
2201}
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
Definition: ordinal.c:1245

Referenced by Free(), and CFindFolderContextMenu::SetSite().

◆ IUnknown_SetOwner()

HRESULT WINAPI IUnknown_SetOwner ( IUnknown iface,
IUnknown pUnk 
)

Definition at line 1385 of file ordinal.c.

1386{
1387 IShellService *service;
1388 HRESULT hr;
1389
1390 TRACE("(%p, %p)\n", iface, pUnk);
1391
1392 if (!iface) return E_FAIL;
1393
1394 hr = IUnknown_QueryInterface(iface, &IID_IShellService, (void**)&service);
1395 if (hr == S_OK)
1396 {
1397 hr = IShellService_SetOwner(service, pUnk);
1398 IShellService_Release(service);
1399 }
1400
1401 return hr;
1402}
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 1411 of file ordinal.c.

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

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

◆ IUnknown_TranslateAcceleratorIO()

HRESULT WINAPI IUnknown_TranslateAcceleratorIO ( IUnknown lpUnknown,
LPMSG  lpMsg 
)

Definition at line 4436 of file ordinal.c.

4437{
4438 IInputObject* lpInput = NULL;
4439 HRESULT hRet = E_INVALIDARG;
4440
4441 TRACE("(%p,%p)\n", lpUnknown, lpMsg);
4442 if (lpUnknown)
4443 {
4444 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4445 (void**)&lpInput);
4446 if (SUCCEEDED(hRet) && lpInput)
4447 {
4448 hRet = IInputObject_TranslateAcceleratorIO(lpInput, lpMsg);
4449 IInputObject_Release(lpInput);
4450 }
4451 }
4452 return hRet;
4453}
#define IInputObject_TranslateAcceleratorIO(p, a)
Definition: shlobj.h:720

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

◆ IUnknown_TranslateAcceleratorOCS()

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

Definition at line 1898 of file ordinal.c.

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

◆ IUnknown_UIActivateIO()

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

Definition at line 1633 of file ordinal.c.

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

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

◆ MayExecForward()

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

Definition at line 2265 of file ordinal.c.

2268{
2269 FIXME("(%p,%d,%p,%d,%d,%p,%p) - stub!\n", lpUnknown, nUnknown, pguidCmdGroup,
2270 nCmdID, nCmdexecopt, pvaIn, pvaOut);
2272}

Referenced by TEST_MayExecForwardMockup().

◆ MayQSForward()

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

Definition at line 2227 of file ordinal.c.

2230{
2231 FIXME("(%p,%p,%p,%d,%p,%p) - stub\n",
2232 lpUnknown, lpReserved, riidCmdGrp, cCmds, prgCmds, pCmdText);
2233
2234 /* FIXME: Calls IsQSForward & IUnknown_QueryStatus */
2236}
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved
Definition: winnls.h:1268

Referenced by TEST_MayQSForwardMockup().

◆ MLClearMLHInstance()

DWORD WINAPI MLClearMLHInstance ( DWORD  x)

Definition at line 4171 of file ordinal.c.

4172{
4173 FIXME("(0x%08x)stub\n", x);
4174 return 0xabba1247;
4175}

◆ MLFreeLibrary()

BOOL WINAPI MLFreeLibrary ( HMODULE  hModule)

Definition at line 4134 of file ordinal.c.

4135{
4136 FIXME("(%p) semi-stub\n", hModule);
4137 return FreeLibrary(hModule);
4138}
HMODULE hModule
Definition: netsh.c:17

Referenced by MLBuildResURLW().

◆ MLIsMLHInstance()

BOOL WINAPI MLIsMLHInstance ( HINSTANCE  hInst)

Definition at line 4152 of file ordinal.c.

4153{
4154 FIXME("(%p) stub\n", hInst);
4155 return FALSE;
4156}
HINSTANCE hInst
Definition: dxdiag.c:13

◆ MLLoadLibraryA()

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

Definition at line 3835 of file ordinal.c.

3836{
3837 /* FIXME: Native appears to do DPA_Create and a DPA_InsertPtr for
3838 * each call here.
3839 * FIXME: Native shows calls to:
3840 * SHRegGetUSValue for "Software\Microsoft\Internet Explorer\International"
3841 * CheckVersion
3842 * RegOpenKeyExA for "HKLM\Software\Microsoft\Internet Explorer"
3843 * RegQueryValueExA for "LPKInstalled"
3844 * RegCloseKey
3845 * RegOpenKeyExA for "HKCU\Software\Microsoft\Internet Explorer\International"
3846 * RegQueryValueExA for "ResourceLocale"
3847 * RegCloseKey
3848 * RegOpenKeyExA for "HKLM\Software\Microsoft\Active Setup\Installed Components\{guid}"
3849 * RegQueryValueExA for "Locale"
3850 * RegCloseKey
3851 * and then tests the Locale ("en" for me).
3852 * code below
3853 * after the code then a DPA_Create (first time) and DPA_InsertPtr are done.
3854 */
3855 CHAR mod_path[2*MAX_PATH];
3856 LPSTR ptr;
3857 DWORD len;
3858
3859 FIXME("(%s,%p,%d) semi-stub!\n", debugstr_a(new_mod), inst_hwnd, dwCrossCodePage);
3860 len = GetModuleFileNameA(inst_hwnd, mod_path, sizeof(mod_path));
3861 if (!len || len >= sizeof(mod_path)) return NULL;
3862
3863 ptr = strrchr(mod_path, '\\');
3864 if (ptr) {
3865 strcpy(ptr+1, new_mod);
3866 TRACE("loading %s\n", debugstr_a(mod_path));
3867 return LoadLibraryA(mod_path);
3868 }
3869 return NULL;
3870}
#define MAX_PATH
Definition: compat.h:34
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
Definition: loader.c:539
#define debugstr_a
Definition: kernel32.h:31
static PVOID ptr
Definition: dispmode.c:27
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
strcpy
Definition: string.h:131
char * LPSTR
Definition: xmlstorage.h:182
char CHAR
Definition: xmlstorage.h:175

◆ MLLoadLibraryW()

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

Definition at line 3877 of file ordinal.c.

3878{
3879 WCHAR mod_path[2*MAX_PATH];
3880 LPWSTR ptr;
3881 DWORD len;
3882
3883 FIXME("(%s,%p,%d) semi-stub!\n", debugstr_w(new_mod), inst_hwnd, dwCrossCodePage);
3884 len = GetModuleFileNameW(inst_hwnd, mod_path, sizeof(mod_path) / sizeof(WCHAR));
3885 if (!len || len >= sizeof(mod_path) / sizeof(WCHAR)) return NULL;
3886
3887 ptr = strrchrW(mod_path, '\\');
3888 if (ptr) {
3889 strcpyW(ptr+1, new_mod);
3890 TRACE("loading %s\n", debugstr_w(mod_path));
3891 return LoadLibraryW(mod_path);
3892 }
3893 return NULL;
3894}
#define LoadLibraryW(x)
Definition: compat.h:747
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:600
#define debugstr_w
Definition: kernel32.h:32
#define strrchrW(s, c)
Definition: unicode.h:41
#define strcpyW(d, s)
Definition: unicode.h:35
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by MLBuildResURLW().

◆ MLSetMLHInstance()

DWORD WINAPI MLSetMLHInstance ( HINSTANCE  hInst,
HANDLE  hHeap 
)

Definition at line 4162 of file ordinal.c.

4163{
4164 FIXME("(%p,%p) stub\n", hInst, hHeap);
4165 return E_FAIL; /* This is what is used if shlwapi not loaded */
4166}

◆ PageSetupDlgWrapW()

BOOL WINAPI PageSetupDlgWrapW ( LPPAGESETUPDLGW  pagedlg)

Definition at line 3964 of file ordinal.c.

3965{
3966 return PageSetupDlgW(pagedlg);
3967}
BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW setupdlg)
Definition: printdlg.c:3938

◆ PathSkipLeadingSlashesA()

LPCSTR WINAPI PathSkipLeadingSlashesA ( LPCSTR  lpszSrc)

Definition at line 1269 of file ordinal.c.

1270{
1271 if (lpszSrc && lpszSrc[0] == '/' && lpszSrc[1] == '/')
1272 lpszSrc += 2;
1273 return lpszSrc;
1274}

◆ PlaySoundWrapW()

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

Definition at line 3480 of file ordinal.c.

3481{
3482 return PlaySoundW(pszSound, hmod, fdwSound);
3483}
static PEXPLICIT_ACCESSW *static HMODULE hmod
Definition: security.c:143
BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound)
Definition: playsound.c:709

◆ PrintDlgWrapW()

BOOL WINAPI PrintDlgWrapW ( LPPRINTDLGW  printdlg)

Definition at line 3974 of file ordinal.c.

3975{
3976 return PrintDlgW(printdlg);
3977}
BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd)
Definition: printdlg.c:2403

◆ QISearch()

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

Definition at line 2515 of file ordinal.c.

2520{
2521 HRESULT ret;
2522 IUnknown *a_vtbl;
2523 const QITAB *xmove;
2524
2525 TRACE("(%p %p %s %p)\n", base, table, debugstr_guid(riid), ppv);
2526 if (ppv) {
2527 xmove = table;
2528 while (xmove->piid) {
2529 TRACE("trying (offset %d) %s\n", xmove->dwOffset, debugstr_guid(xmove->piid));
2530 if (IsEqualIID(riid, xmove->piid)) {
2531 a_vtbl = (IUnknown*)(xmove->dwOffset + (LPBYTE)base);
2532 TRACE("matched, returning (%p)\n", a_vtbl);
2533 *ppv = a_vtbl;
2534 IUnknown_AddRef(a_vtbl);
2535 return S_OK;
2536 }
2537 xmove++;
2538 }
2539
2540 if (IsEqualIID(riid, &IID_IUnknown)) {
2541 a_vtbl = (IUnknown*)(table->dwOffset + (LPBYTE)base);
2542 TRACE("returning first for IUnknown (%p)\n", a_vtbl);
2543 *ppv = a_vtbl;
2544 IUnknown_AddRef(a_vtbl);
2545 return S_OK;
2546 }
2547 *ppv = 0;
2549 } else
2550 ret = E_POINTER;
2551
2552 TRACE("-- 0x%08x\n", ret);
2553 return ret;
2554}
const GUID IID_IUnknown
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
Definition: shlwapi.h:139
const IID * piid
Definition: shlwapi.h:140
DWORD dwOffset
Definition: shlwapi.h:142
unsigned char * LPBYTE
Definition: typedefs.h:53
#define E_POINTER
Definition: winerror.h:3480

◆ RegisterDefaultAcceptHeaders()

HRESULT WINAPI RegisterDefaultAcceptHeaders ( LPBC  lpBC,
IUnknown lpUnknown 
)

Definition at line 348 of file ordinal.c.

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

◆ SHAboutInfoA()

BOOL WINAPI SHAboutInfoA ( LPSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 915 of file ordinal.c.

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

◆ SHAboutInfoW()

BOOL WINAPI SHAboutInfoW ( LPWSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 934 of file ordinal.c.

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

Referenced by SHAboutInfoA().

◆ SHAllocShared()

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

Definition at line 169 of file ordinal.c.

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

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

◆ SHBrowseForFolderWrapW()

LPITEMIDLIST WINAPI SHBrowseForFolderWrapW ( LPBROWSEINFOW  lpBi)

Definition at line 3585 of file ordinal.c.

3586{
3587 return SHBrowseForFolderW(lpBi);
3588}
EXTERN_C LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
Definition: brfolder.cpp:1460

◆ SHChangeNotifyWrap()

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

Definition at line 5227 of file ordinal.c.

5228{
5229 SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2);
5230}
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
UINT uFlags
Definition: api.c:59

◆ SHCheckMenuItem()

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

Definition at line 1800 of file ordinal.c.

1801{
1802 TRACE("%p, %u, %d\n", hMenu, uID, bCheck);
1803 return CheckMenuItem(hMenu, uID, bCheck ? MF_CHECKED : MF_UNCHECKED);
1804}
_In_ UINT uID
Definition: shlwapi.h:156
#define MF_CHECKED
Definition: winuser.h:132
#define MF_UNCHECKED
Definition: winuser.h:204
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)

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

◆ SHCoCreateInstanceAC()

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

Definition at line 4759 of file ordinal.c.

4761{
4762 return CoCreateInstance(rclsid, pUnkOuter, dwClsContext, iid, ppv);
4763}
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 5398 of file ordinal.c.

5400{
5401 FIXME("%p %s %d %s %p STUB\n", hKey, debugstr_w(subkey), grfMode,
5403
5404 return E_NOTIMPL;
5405}
#define E_NOTIMPL
Definition: ddrawi.h:99

Referenced by CDefaultContextMenu::InvokeRegVerb(), and SHPropertyBag_OnRegKey().

◆ SHCreateShellPalette()

HPALETTE WINAPI SHCreateShellPalette ( HDC  hdc)

Definition at line 4615 of file ordinal.c.

4616{
4617 FIXME("stub\n");
4618 return CreateHalftonePalette(hdc);
4619}
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 2798 of file ordinal.c.

2800{
2801 static const char szClass[] = "WorkerA";
2802 WNDCLASSA wc;
2803 HWND hWnd;
2804
2805 TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2806 wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2807
2808 /* Create Window class */
2809 wc.style = 0;
2811 wc.cbClsExtra = 0;
2812 wc.cbWndExtra = sizeof(LONG_PTR);
2814 wc.hIcon = NULL;
2816 wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2817 wc.lpszMenuName = NULL;
2818 wc.lpszClassName = szClass;
2819
2820 SHRegisterClassA(&wc);
2821
2822 hWnd = CreateWindowExA(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2823 hWndParent, hMenu, shlwapi_hInstance, 0);
2824 if (hWnd)
2825 {
2826 SetWindowLongPtrW(hWnd, 0, wnd_extra);
2828 }
2829
2830 return hWnd;
2831}
HWND hWnd
Definition: settings.c:17
HINSTANCE shlwapi_hInstance
Definition: shlwapi_main.c:33
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
Definition: ordinal.c:1817
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imm32.c:185
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
HBRUSH hbrBackground
Definition: winuser.h:3272
HICON hIcon
Definition: winuser.h:3270
HINSTANCE hInstance
Definition: winuser.h:3269
HCURSOR hCursor
Definition: winuser.h:3271
int cbWndExtra
Definition: winuser.h:3268
UINT style
Definition: winuser.h:3265
LPCSTR lpszMenuName
Definition: winuser.h:3273
LPCSTR lpszClassName
Definition: winuser.h:3274
WNDPROC lpfnWndProc
Definition: winuser.h:3266
int cbClsExtra
Definition: winuser.h:3267
#define LONG_PTR
Definition: treelist.c:79
#define GWLP_WNDPROC
Definition: treelist.c:66
#define SetWindowLongPtrA
Definition: winuser.h:5456
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IDC_ARROW
Definition: winuser.h:695
#define SetWindowLongPtrW
Definition: winuser.h:5457
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2442
#define COLOR_BTNFACE
Definition: winuser.h:939

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

3129{
3130 static const WCHAR szClass[] = { 'W', 'o', 'r', 'k', 'e', 'r', 'W', 0 };
3131 WNDCLASSW wc;
3132 HWND hWnd;
3133
3134 TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
3135 wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
3136
3137 /* If our OS is natively ANSI, use the ANSI version */
3138 if (GetVersion() & 0x80000000) /* not NT */
3139 {
3140 TRACE("fallback to ANSI, ver 0x%08x\n", GetVersion());
3141 return SHCreateWorkerWindowA(wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
3142 }
3143
3144 /* Create Window class */
3145 wc.style = 0;
3147 wc.cbClsExtra = 0;
3148 wc.cbWndExtra = sizeof(LONG_PTR);
3150 wc.hIcon = NULL;
3152 wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
3153 wc.lpszMenuName = NULL;
3154 wc.lpszClassName = szClass;
3155
3156 SHRegisterClassW(&wc);
3157
3158 hWnd = CreateWindowExW(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
3159 hWndParent, hMenu, shlwapi_hInstance, 0);
3160 if (hWnd)
3161 {
3162 SetWindowLongPtrW(hWnd, 0, wnd_extra);
3164 }
3165
3166 return hWnd;
3167}
DWORD WINAPI GetVersion(void)
Definition: version.c:1458
DWORD WINAPI SHRegisterClassW(WNDCLASSW *lpWndClass)
Definition: ordinal.c:2678
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:2798
LPCWSTR lpszClassName
Definition: winuser.h:3287
LPCWSTR lpszMenuName
Definition: winuser.h:3286
HBRUSH hbrBackground
Definition: winuser.h:3285
HICON hIcon
Definition: winuser.h:3283
HINSTANCE hInstance
Definition: winuser.h:3282
int cbClsExtra
Definition: winuser.h:3280
UINT style
Definition: winuser.h:3278
WNDPROC lpfnWndProc
Definition: winuser.h:3279
int cbWndExtra
Definition: winuser.h:3281
HCURSOR hCursor
Definition: winuser.h:3284
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
Definition: cursoricon.c:2457
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)

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

◆ SHDefExtractIconWrapW()

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

Definition at line 3727 of file ordinal.c.

3729{
3730 return SHDefExtractIconW(pszIconFile, iIndex, uFlags, phiconLarge, phiconSmall, nIconSize);
3731}
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
Definition: iconcache.cpp:1015

◆ SHDefWindowProc()

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

Definition at line 2751 of file ordinal.c.

2752{
2753 if (IsWindowUnicode(hWnd))
2754 return DefWindowProcW(hWnd, uMessage, wParam, lParam);
2755 return DefWindowProcA(hWnd, uMessage, wParam, lParam);
2756}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
BOOL WINAPI IsWindowUnicode(_In_ HWND)

◆ ShellExecuteExWrapW()

BOOL WINAPI ShellExecuteExWrapW ( LPSHELLEXECUTEINFOW  lpExecInfo)

Definition at line 3605 of file ordinal.c.

3606{
3607 return ShellExecuteExW(lpExecInfo);
3608}
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
Definition: shlexec.cpp:2723

◆ ShellMessageBoxWrapW()

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

Definition at line 5162 of file ordinal.c.

5164{
5165 WCHAR *szText = NULL, szTitle[100];
5166 LPCWSTR pszText, pszTitle = szTitle;
5167 LPWSTR pszTemp;
5169 int ret;
5170
5171 __ms_va_start(args, uType);
5172
5173 TRACE("(%p,%p,%p,%p,%08x)\n", hInstance, hWnd, lpText, lpCaption, uType);
5174
5175 if (IS_INTRESOURCE(lpCaption))
5177 else
5178 pszTitle = lpCaption;
5179
5180 if (IS_INTRESOURCE(lpText))
5181 {
5182 const WCHAR *ptr;
5183 UINT len = LoadStringW(hInstance, LOWORD(lpText), (LPWSTR)&ptr, 0);
5184
5185 if (len)
5186 {
5187 szText = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
5188 if (szText) LoadStringW(hInstance, LOWORD(lpText), szText, len + 1);
5189 }
5190 pszText = szText;
5191 if (!pszText) {
5192 WARN("Failed to load id %d\n", LOWORD(lpText));
5194 return 0;
5195 }
5196 }
5197 else
5198 pszText = lpText;
5199
5201 pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args);
5202
5204
5205#ifdef __REACTOS__
5206 uType |= MB_SETFOREGROUND;
5207#endif
5208 ret = MessageBoxW(hWnd, pszTemp, pszTitle, uType);
5209
5210 HeapFree(GetProcessHeap(), 0, szText);
5211 LocalFree(pszTemp);
5212 return ret;
5213}
#define ARRAY_SIZE(A)
Definition: main.h:20
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
#define IS_INTRESOURCE(x)
Definition: loader.c:613
INT WINAPI DECLSPEC_HOTPATCH LoadStringW(HINSTANCE instance, UINT resource_id, LPWSTR buffer, INT buflen)
Definition: string.c:1220
TCHAR szTitle[MAX_LOADSTRING]
Definition: magnifier.c:35
unsigned int UINT
Definition: ndis.h:50
#define LOWORD(l)
Definition: pedump.c:82
#define args
Definition: format.c:66
Definition: match.c:390
#define FORMAT_MESSAGE_FROM_STRING
Definition: winbase.h:398
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:396
#define MB_SETFOREGROUND
Definition: winuser.h:825
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

◆ SHEnableMenuItem()

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

Definition at line 1781 of file ordinal.c.

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

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

◆ SHFileOperationWrapW()

INT WINAPI SHFileOperationWrapW ( LPSHFILEOPSTRUCTW  lpFileOp)

Definition at line 3615 of file ordinal.c.

3616{
3617 return SHFileOperationW(lpFileOp);
3618}
int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
Definition: shlfileop.cpp:2200

◆ SHFillRectClr()

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

Definition at line 2133 of file ordinal.c.

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

Referenced by CDefView::OnPrintClient().

◆ SHFlushSFCacheWrap()

BOOL WINAPI SHFlushSFCacheWrap ( void  )

Definition at line 4143 of file ordinal.c.

4143 {
4144 FIXME(": stub\n");
4145 return TRUE;
4146}

◆ SHFormatDateTimeA()

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

Definition at line 5518 of file ordinal.c.

5520{
5521 WCHAR *bufW;
5522 INT retval;
5523
5524 if (!buf || !size)
5525 return 0;
5526
5527 bufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * size);
5528 retval = SHFormatDateTimeW(fileTime, flags, bufW, size);
5529
5530 if (retval != 0)
5531 WideCharToMultiByte(CP_ACP, 0, bufW, -1, buf, size, NULL, NULL);
5532
5533 HeapFree(GetProcessHeap(), 0, bufW);
5534 return retval;
5535}
INT WINAPI SHFormatDateTimeW(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
Definition: ordinal.c:5453
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLbitfield flags
Definition: glext.h:7161

Referenced by CCabFolder::GetItemDetails(), and init_pointers().

◆ SHFormatDateTimeW()

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

Definition at line 5453 of file ordinal.c.

5455{
5456#define SHFORMATDT_UNSUPPORTED_FLAGS (FDTF_RELATIVE | FDTF_LTRDATE | FDTF_RTLDATE | FDTF_NOAUTOREADINGORDER)
5457 DWORD fmt_flags = flags ? *flags : FDTF_DEFAULT;
5458 SYSTEMTIME st;
5459 FILETIME ft;
5460 INT ret = 0;
5461
5462 TRACE("%p %p %p %u\n", fileTime, flags, buf, size);
5463
5464 if (!buf || !size)
5465 return 0;
5466
5467 if (fmt_flags & SHFORMATDT_UNSUPPORTED_FLAGS)
5468 FIXME("ignoring some flags - 0x%08x\n", fmt_flags & SHFORMATDT_UNSUPPORTED_FLAGS);
5469
5470 FileTimeToLocalFileTime(fileTime, &ft);
5471 FileTimeToSystemTime(&ft, &st);
5472
5473 /* first of all date */
5474 if (fmt_flags & (FDTF_LONGDATE | FDTF_SHORTDATE))
5475 {
5476 static const WCHAR sep1[] = {',',' ',0};
5477 static const WCHAR sep2[] = {' ',0};
5478
5481 if (ret >= size) return ret;
5482
5483 /* add separator */
5484 if (ret < size && (fmt_flags & (FDTF_LONGTIME | FDTF_SHORTTIME)))
5485 {
5486 if ((fmt_flags & FDTF_LONGDATE) && (ret < size + 2))
5487 {
5488 lstrcatW(&buf[ret-1], sep1);
5489 ret += 2;
5490 }
5491 else
5492 {
5493 lstrcatW(&buf[ret-1], sep2);
5494 ret++;
5495 }
5496 }
5497 }
5498 /* time part */
5499 if (fmt_flags & (FDTF_LONGTIME | FDTF_SHORTTIME))
5500 {
5501 DWORD time = fmt_flags & FDTF_LONGTIME ? 0 : TIME_NOSECONDS;
5502
5503 if (ret) ret--;
5505 }
5506
5507 return ret;
5508
5509#undef SHFORMATDT_UNSUPPORTED_FLAGS
5510}
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
Definition: time.c:188
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
Definition: time.c:221
#define SHFORMATDT_UNSUPPORTED_FLAGS
INT WINAPI GetTimeFormatW(LCID lcid, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, INT cchOut)
Definition: lcformat.c:1089
INT WINAPI GetDateFormatW(LCID lcid, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpDateStr, INT cchOut)
Definition: lcformat.c:989
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
__u16 date
Definition: mkdosfs.c:8
__u16 time
Definition: mkdosfs.c:8
#define LOCALE_USER_DEFAULT
#define FDTF_SHORTTIME
Definition: shlwapi.h:97
#define FDTF_LONGDATE
Definition: shlwapi.h:100
#define FDTF_DEFAULT
Definition: shlwapi.h:99
#define FDTF_LONGTIME
Definition: shlwapi.h:101
#define FDTF_SHORTDATE
Definition: shlwapi.h:98
#define TIME_NOSECONDS
Definition: winnls.h:296
#define DATE_LONGDATE
Definition: winnls.h:210
#define DATE_SHORTDATE
Definition: winnls.h:209

Referenced by init_pointers(), and SHFormatDateTimeA().

◆ SHFreeShared()

BOOL WINAPI SHFreeShared ( HANDLE  hShared,
DWORD  dwProcId 
)

Definition at line 315 of file ordinal.c.

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

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

◆ SHGetAppCompatFlags()

DWORD WINAPI SHGetAppCompatFlags ( DWORD  dwUnknown)

Definition at line 4749 of file ordinal.c.

4750{
4751 FIXME("(0x%08x) stub\n", dwUnknown);
4752 return 0;
4753}

◆ SHGetCurColorRes()

DWORD WINAPI SHGetCurColorRes ( void  )

Definition at line 2023 of file ordinal.c.

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

Referenced by CBrandBand::SelectImage(), and SIC_GetIconBPP().

◆ SHGetFileInfoWrapW()

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

Definition at line 3564 of file ordinal.c.

3566{
3567 return SHGetFileInfoW(path, dwFileAttributes, psfi, sizeofpsfi, flags);
3568}
DWORD dwFileAttributes
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
Definition: shell32_main.c:430

◆ SHGetIniStringW()

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

Definition at line 3502 of file ordinal.c.

3504{
3505 INT ret;
3506 WCHAR *buf;
3507
3508 TRACE("(%s,%s,%p,%08x,%s)\n", debugstr_w(appName), debugstr_w(keyName),
3509 out, outLen, debugstr_w(filename));
3510
3511 if(outLen == 0)
3512 return 0;
3513
3514 buf = HeapAlloc(GetProcessHeap(), 0, outLen * sizeof(WCHAR));
3515 if(!buf){
3516 *out = 0;
3517 return 0;
3518 }
3519
3520 ret = GetPrivateProfileStringW(appName, keyName, NULL, buf, outLen, filename);
3521 if(ret)
3522 strcpyW(out, buf);
3523 else
3524 *out = 0;
3525
3527
3528 return strlenW(out);
3529}
INT WINAPI GetPrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR def_val, LPWSTR buffer, UINT len, LPCWSTR filename)
Definition: profile.c:1142
const char * appName(const char *argv0)
Definition: loadlib.c:89
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383

Referenced by init_pointers(), and SHPropertyBag_SHSetIniStringW().

◆ SHGetInverseCMAP()

HRESULT WINAPI SHGetInverseCMAP ( LPDWORD  dest,
DWORD  dwSize 
)

Definition at line 4644 of file ordinal.c.

4645{
4646 if (dwSize == 4) {
4647 FIXME(" - returning bogus address for SHGetInverseCMAP\n");
4648 *dest = (DWORD)0xabba1249;
4649 return 0;
4650 }
4651 FIXME("(%p, %#x) stub\n", dest, dwSize);
4652 return 0;
4653}
static char * dest
Definition: rtl.c:135
#define DWORD
Definition: nt_native.h:44

◆ SHGetMachineInfo()

DWORD WINAPI SHGetMachineInfo ( DWORD  dwFlags)

Definition at line 4081 of file ordinal.c.

4082{
4083 HW_PROFILE_INFOA hwInfo;
4084
4085 TRACE("(0x%08x)\n", dwFlags);
4086
4087 GetCurrentHwProfileA(&hwInfo);
4088 switch (hwInfo.dwDockInfo & (DOCKINFO_DOCKED|DOCKINFO_UNDOCKED))
4089 {
4090 case DOCKINFO_DOCKED:
4091 case DOCKINFO_UNDOCKED:
4093 default:
4094 return 0;
4095 }
4096}
BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA lpHwProfileInfo)
Definition: hwprofiles.c:28
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
#define DOCKINFO_DOCKED
Definition: winbase.h:271
#define DOCKINFO_UNDOCKED
Definition: winbase.h:270

◆ SHGetMenuFromID()

HMENU WINAPI SHGetMenuFromID ( HMENU  hMenu,
UINT  uID 
)

Definition at line 1997 of file ordinal.c.

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

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

◆ SHGetNewLinkInfoWrapW()

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

Definition at line 3716 of file ordinal.c.

3718{
3719 return SHGetNewLinkInfoW(pszLinkTo, pszDir, pszName, pfMustCopy, uFlags);
3720}
_In_ LPCSTR pszDir
Definition: shellapi.h:601
_In_ LPCSTR _Out_ BOOL * pfMustCopy
Definition: shellapi.h:603
BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
Definition: shellord.c:2563

◆ SHGetObjectCompatFlags()

DWORD WINAPI SHGetObjectCompatFlags ( IUnknown pUnk,
const CLSID clsid 
)

Definition at line 6499 of file ordinal.c.

6500{
6501 static const WCHAR compatpathW[] =
6502 {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
6503 'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
6504 'S','h','e','l','l','C','o','m','p','a','t','i','b','i','l','i','t','y','\\',
6505 'O','b','j','e','c','t','s','\\','%','s',0};
6506 WCHAR strW[sizeof(compatpathW)/sizeof(WCHAR) + 38 /* { CLSID } */];
6507 DWORD ret, length = sizeof(strW)/sizeof(WCHAR);
6508 OLECHAR *clsid_str;
6509 HKEY key;
6510 INT i;
6511
6512 TRACE("%p %s\n", pUnk, debugstr_guid(clsid));
6513
6514 if (!pUnk && !clsid) return 0;
6515
6516 if (pUnk && !clsid)
6517 {
6518 FIXME("iface not handled\n");
6519 return 0;
6520 }
6521
6522 StringFromCLSID(clsid, &clsid_str);
6523 sprintfW(strW, compatpathW, clsid_str);
6524 CoTaskMemFree(clsid_str);
6525
6527 if (ret != ERROR_SUCCESS) return 0;
6528
6529 /* now collect flag values */
6530 ret = 0;
6531 for (i = 0; RegEnumValueW(key, i, strW, &length, NULL, NULL, NULL, NULL) == ERROR_SUCCESS; i++)
6532 {
6533 INT left, right, res, x;
6534
6535 /* search in table */
6536 left = 0;
6537 right = sizeof(objcompat_table) / sizeof(struct objcompat_entry) - 1;
6538
6539 while (right >= left) {
6540 x = (left + right) / 2;
6542 if (res == 0)
6543 {
6544 ret |= objcompat_table[x].value;
6545 break;
6546 }
6547 else if (res < 0)
6548 right = x - 1;
6549 else
6550 left = x + 1;
6551 }
6552
6553 length = sizeof(strW)/sizeof(WCHAR);
6554 }
6555
6556 return ret;
6557}
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
Definition: reg.c:2830
WCHAR OLECHAR
Definition: compat.h:2292
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
Definition: compobj.c:2412
static const struct objcompat_entry objcompat_table[]
Definition: ordinal.c:6457
GLuint res
Definition: glext.h:9613
GLdouble GLdouble right
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
WCHAR strW[12]
Definition: clipboard.c:2025
Definition: copy.c:22
Definition: name.c:39
Definition: ordinal.c:6451
#define strcmpW(s1, s2)
Definition: unicode.h:44
#define sprintfW
Definition: unicode.h:64

Referenced by init_pointers(), and SHGetAttributes().

◆ SHGetPathFromIDListWrapW()

BOOL WINAPI SHGetPathFromIDListWrapW ( LPCITEMIDLIST  pidl,
LPWSTR  pszPath 
)

Definition at line 3595 of file ordinal.c.

3596{
3597 return SHGetPathFromIDListW(pidl, pszPath);
3598}
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1490

Referenced by _ILIsNetworkPlace().

◆ SHGetRestriction()

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

Definition at line 2863 of file ordinal.c.

2864{
2865#ifdef __REACTOS__
2867 DWORD dwSize, dwValue = 0;
2868
2869 TRACE("(%s, %s, %s)\n", debugstr_w(lpSubKey), debugstr_w(lpSubName), debugstr_w(lpValue));
2870
2871 if (!lpSubKey)
2872 lpSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies";
2873
2874 PathCombineW(szPath, lpSubKey, lpSubName);
2875
2876 dwSize = sizeof(dwValue);
2877 if (SHGetValueW(HKEY_LOCAL_MACHINE, szPath, lpValue, NULL, &dwValue, &dwSize) == ERROR_SUCCESS)
2878 return dwValue;
2879
2880 dwSize = sizeof(dwValue);
2881 SHGetValueW(HKEY_CURRENT_USER, szPath, lpValue, NULL, &dwValue, &dwSize);
2882 return dwValue;
2883#else
2884 DWORD retval, datsize = sizeof(retval);
2885 HKEY hKey;
2886
2887 if (!lpSubKey)
2888 lpSubKey = strRegistryPolicyW;
2889
2891 if (retval != ERROR_SUCCESS)
2893 if (retval != ERROR_SUCCESS)
2894 return 0;
2895
2896 SHGetValueW(hKey, lpSubName, lpValue, NULL, &retval, &datsize);
2898 return retval;
2899#endif
2900}
static const WCHAR strRegistryPolicyW[]
Definition: ordinal.c:2844
LPCWSTR szPath
Definition: env.c:37
#define PathCombineW
Definition: pathcch.h:318

Referenced by CShellDispatch::IsRestricted(), and SHRestrictionLookup().

◆ SHGetShellKey()

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

Definition at line 4806 of file ordinal.c.

4807{
4808#ifndef __REACTOS__
4809 enum _shellkey_flags {
4810 SHKEY_Root_HKCU = 0x1,
4811 SHKEY_Root_HKLM = 0x2,
4812 SHKEY_Key_Explorer = 0x00,
4813 SHKEY_Key_Shell = 0x10,
4814 SHKEY_Key_ShellNoRoam = 0x20,
4815 SHKEY_Key_Classes = 0x30,
4816 SHKEY_Subkey_Default = 0x0000,
4818 SHKEY_Subkey_Handlers = 0x2000,
4820 SHKEY_Subkey_Volatile = 0x4000,
4821 SHKEY_Subkey_MUICache = 0x5000,
4822 SHKEY_Subkey_FileExts = 0x6000
4823 };
4824#endif
4825
4826 static const WCHAR explorerW[] = {'S','o','f','t','w','a','r','e','\\',
4827 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4828 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
4829 'E','x','p','l','o','r','e','r','\\'};
4830 static const WCHAR shellW[] = {'S','o','f','t','w','a','r','e','\\',
4831 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4832 'S','h','e','l','l','\\'};
4833 static const WCHAR shell_no_roamW[] = {'S','o','f','t','w','a','r','e','\\',
4834 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4835 'S','h','e','l','l','N','o','R','o','a','m','\\'};
4836 static const WCHAR classesW[] = {'S','o','f','t','w','a','r','e','\\',
4837 'C','l','a','s','s','e','s','\\'};
4838
4839 static const WCHAR localized_resource_nameW[] = {'L','o','c','a','l','i','z','e','d',
4840 'R','e','s','o','u','r','c','e','N','a','m','e','\\'};
4841 static const WCHAR handlersW[] = {'H','a','n','d','l','e','r','s','\\'};
4842 static const WCHAR associationsW[] = {'A','s','s','o','c','i','a','t','i','o','n','s','\\'};
4843 static const WCHAR volatileW[] = {'V','o','l','a','t','i','l','e','\\'};
4844 static const WCHAR mui_cacheW[] = {'M','U','I','C','a','c','h','e','\\'};
4845 static const WCHAR file_extsW[] = {'F','i','l','e','E','x','t','s','\\'};
4846
4847 WCHAR *path;
4848 const WCHAR *key, *subkey;
4849 int size_key, size_subkey, size_user;
4850 HKEY hkey = NULL;
4851
4852 TRACE("(0x%08x, %s, %d)\n", flags, debugstr_w(sub_key), create);
4853
4854 /* For compatibility with Vista+ */
4855 if(flags == 0x1ffff)
4856 flags = 0x21;
4857
4858 switch(flags&0xff0) {
4859 case SHKEY_Key_Explorer:
4860 key = explorerW;
4861 size_key = sizeof(explorerW);
4862 break;
4863 case SHKEY_Key_Shell:
4864 key = shellW;
4865 size_key = sizeof(shellW);
4866 break;
4868 key = shell_no_roamW;
4869 size_key = sizeof(shell_no_roamW);
4870 break;
4871 case SHKEY_Key_Classes:
4872 key = classesW;
4873 size_key = sizeof(classesW);
4874 break;
4875 default:
4876 FIXME("unsupported flags (0x%08x)\n", flags);
4877 return NULL;
4878 }
4879
4880 switch(flags&0xff000) {
4882 subkey = NULL;
4883 size_subkey = 0;
4884 break;
4886 subkey = localized_resource_nameW;
4887 size_subkey = sizeof(localized_resource_nameW);
4888 break;
4890 subkey = handlersW;
4891 size_subkey = sizeof(handlersW);
4892 break;
4894 subkey = associationsW;
4895 size_subkey = sizeof(associationsW);
4896 break;
4898 subkey = volatileW;
4899 size_subkey = sizeof(volatileW);
4900 break;
4902 subkey = mui_cacheW;
4903 size_subkey = sizeof(mui_cacheW);
4904 break;
4906 subkey = file_extsW;
4907 size_subkey = sizeof(file_extsW);
4908 break;
4909 default:
4910 FIXME("unsupported flags (0x%08x)\n", flags);
4911 return NULL;
4912 }
4913
4914 if(sub_key)
4915 size_user = lstrlenW(sub_key)*sizeof(WCHAR);
4916 else
4917 size_user = 0;
4918
4919 path = HeapAlloc(GetProcessHeap(), 0, size_key+size_subkey+size_user+sizeof(WCHAR));
4920 if(!path) {
4921 ERR("Out of memory\n");
4922 return NULL;
4923 }
4924
4925 memcpy(path, key, size_key);
4926 if(subkey)
4927 memcpy(path+size_key/sizeof(WCHAR), subkey, size_subkey);
4928 if(sub_key)
4929 memcpy(path+(size_key+size_subkey)/sizeof(WCHAR), sub_key, size_user);
4930 path[(size_key+size_subkey+size_user)/sizeof(WCHAR)] = '\0';
4931
4932 if(create)
4934 path, 0, NULL, 0, MAXIMUM_ALLOWED, NULL, &hkey, NULL);
4935 else
4937 path, 0, MAXIMUM_ALLOWED, &hkey);
4938
4940 return hkey;
4941}
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1096
static const struct access_res create[16]
Definition: package.c:7505
_shellkey_flags
Definition: ordinal.c:2804
@ SHKEY_Subkey_Handlers
Definition: ordinal.c:2813
@ SHKEY_Root_HKLM
Definition: ordinal.c:2806
@ SHKEY_Key_ShellNoRoam
Definition: ordinal.c:2809
@ SHKEY_Subkey_Volatile
Definition: ordinal.c:2815
@ SHKEY_Subkey_Associations
Definition: ordinal.c:2814
@ SHKEY_Key_Classes
Definition: ordinal.c:2810
@ SHKEY_Subkey_MUICache
Definition: ordinal.c:2816
@ SHKEY_Subkey_FileExts
Definition: ordinal.c:2817
@ SHKEY_Key_Shell
Definition: ordinal.c:2808
@ SHKEY_Subkey_Default
Definition: ordinal.c:2811
@ SHKEY_Subkey_ResourceName
Definition: ordinal.c:2812
#define MAXIMUM_ALLOWED
Definition: nt_native.h:83

Referenced by CViewStatePropertyBag::_GetHKey(), CDesktopUpgradePropertyBag::_GetOldDesktopViewStream(), init_pointers(), InitializeServerAdminUI(), IsOS(), CGlobalFolderSettings::Load(), read_advanced_key(), CGlobalFolderSettings::Save(), SHGetSetSettings(), SKAllocValueW(), SKDeleteValueW(), SKGetValueW(), and SKSetValueW().

◆ SHGetViewStatePropertyBag()

HRESULT WINAPI SHGetViewStatePropertyBag ( LPCITEMIDLIST  pidl,
LPWSTR  bag_name,
DWORD  flags,
REFIID  riid,
void **  ppv 
)

Definition at line 5427 of file ordinal.c.

5429{
5430 FIXME("%p %s %d %s %p STUB\n", pidl, debugstr_w(bag_name), flags,
5432
5433 return E_NOTIMPL;
5434}

Referenced by CDesktopBrowser::GetPropertyBag(), and CShellBrowser::GetPropertyBag().

◆ SHInterlockedCompareExchange()

PVOID WINAPI SHInterlockedCompareExchange ( PVOID dest,
PVOID  xchg,
PVOID  compare 
)

Definition at line 3624 of file ordinal.c.

3625{
3627}
#define InterlockedCompareExchangePointer
Definition: interlocked.h:144
Definition: bug.cpp:8

◆ SHInvokeCommand()

HRESULT WINAPI SHInvokeCommand ( HWND  hWnd,
IShellFolder lpFolder,
LPCITEMIDLIST  lpApidl,
DWORD  dwCommandId 
)

Definition at line 3756 of file ordinal.c.

3757{
3758 IContextMenu *iContext;
3759 HRESULT hRet;
3760
3761 TRACE("(%p, %p, %p, %u)\n", hWnd, lpFolder, lpApidl, dwCommandId);
3762
3763 if (!lpFolder)
3764 return E_FAIL;
3765
3766 /* Get the context menu from the shell folder */
3767 hRet = IShellFolder_GetUIObjectOf(lpFolder, hWnd, 1, &lpApidl,
3768 &IID_IContextMenu, 0, (void**)&iContext);
3769 if (SUCCEEDED(hRet))
3770 {
3771 HMENU hMenu;
3772 if ((hMenu = CreatePopupMenu()))
3773 {
3774 HRESULT hQuery;
3775
3776 /* Add the context menu entries to the popup */
3777 hQuery = IContextMenu_QueryContextMenu(iContext, hMenu, 0, 1, 0x7FFF,
3778 dwCommandId ? CMF_NORMAL : CMF_DEFAULTONLY);
3779
3780 if (SUCCEEDED(hQuery))
3781 {
3782 if (!dwCommandId)
3783 dwCommandId = GetMenuDefaultItem(hMenu, 0, 0);
3784 if (dwCommandId != (UINT)-1)
3785 {
3786 CMINVOKECOMMANDINFO cmIci;
3787 /* Invoke the default item */
3788 memset(&cmIci,0,sizeof(cmIci));
3789 cmIci.cbSize = sizeof(cmIci);
3790 cmIci.fMask = CMIC_MASK_ASYNCOK;
3791 cmIci.hwnd = hWnd;
3792#ifdef __REACTOS__ /* r75561 */
3793 cmIci.lpVerb = MAKEINTRESOURCEA(dwCommandId - 1);
3794#else
3795 cmIci.lpVerb = MAKEINTRESOURCEA(dwCommandId);
3796#endif
3797 cmIci.nShow = SW_SHOWNORMAL;
3798
3799 hRet = IContextMenu_InvokeCommand(iContext, &cmIci);
3800 }
3801 }
3802 DestroyMenu(hMenu);
3803 }
3804 IContextMenu_Release(iContext);
3805 }
3806 return hRet;
3807}
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define SW_SHOWNORMAL
Definition: winuser.h:781
HMENU WINAPI CreatePopupMenu(void)
Definition: menu.c:838
UINT WINAPI GetMenuDefaultItem(_In_ HMENU hMenu, _In_ UINT fByPos, _In_ UINT gmdiFlags)
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581
BOOL WINAPI DestroyMenu(_In_ HMENU)

Referenced by SHInvokeDefaultCommand().

◆ SHInvokeDefaultCommand()

HRESULT WINAPI SHInvokeDefaultCommand ( HWND  hWnd,
IShellFolder lpFolder,
LPCITEMIDLIST  lpApidl 
)

Definition at line 3183 of file ordinal.c.

3184{
3185 TRACE("%p %p %p\n", hWnd, lpFolder, lpApidl);
3186#ifdef __REACTOS__
3187 return SHInvokeCommand(hWnd, lpFolder, lpApidl, NULL);
3188#else
3189 return SHInvokeCommand(hWnd, lpFolder, lpApidl, 0);
3190#endif
3191}
HRESULT WINAPI SHInvokeCommand(HWND, IShellFolder *, LPCITEMIDLIST, DWORD)
Definition: ordinal.c:3756

Referenced by CMenuCallback::CallbackSM(), CStartMenuSite::Execute(), CAddressEditBox::Execute(), CShellBrowser::OnOrganizeFavorites(), and CISFBand::OnWinEvent().

◆ SHIsChildOrSelf()

BOOL WINAPI SHIsChildOrSelf ( HWND  hParent,
HWND  hChild 
)

Definition at line 2373 of file ordinal.c.

2374{
2375 TRACE("(%p,%p)\n", hParent, hChild);
2376
2377 if (!hParent || !hChild)
2378 return TRUE;
2379 else if(hParent == hChild)
2380 return FALSE;
2381 return !IsChild(hParent, hChild);
2382}
static HTREEITEM hChild
Definition: treeview.c:383
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)

◆ SHIsExpandableFolder()

HRESULT WINAPI SHIsExpandableFolder ( LPSHELLFOLDER  lpFolder,
LPCITEMIDLIST  pidl 
)

Definition at line 2088 of file ordinal.c.

2089{
2090 HRESULT hRet = E_INVALIDARG;
2091 IQueryInfo *lpInfo;
2092
2093 if (lpFolder && pidl)
2094 {
2095 hRet = IShellFolder_GetUIObjectOf(lpFolder, NULL, 1, &pidl, &IID_IQueryInfo,
2096 NULL, (void**)&lpInfo);
2097 if (FAILED(hRet))
2098 hRet = S_FALSE; /* Doesn't expose IQueryInfo */
2099 else
2100 {
2101 DWORD dwFlags = 0;
2102
2103 /* MSDN states of IQueryInfo_GetInfoFlags() that "This method is not
2104 * currently used". Really? You wouldn't be holding out on me would you?
2105 */
2106 hRet = IQueryInfo_GetInfoFlags(lpInfo, &dwFlags);
2107
2108 if (SUCCEEDED(hRet))
2109 {
2110 /* 0x2 is an undocumented flag apparently indicating expandability */
2111 hRet = dwFlags & 0x2 ? S_OK : S_FALSE;
2112 }
2113
2114 IQueryInfo_Release(lpInfo);
2115 }
2116 }
2117 return hRet;
2118}
#define IQueryInfo_Release(p)
Definition: shlobj.h:691
#define IQueryInfo_GetInfoFlags(p, a)
Definition: shlobj.h:694
#define S_FALSE
Definition: winerror.h:3451

◆ SHIShellFolder_EnumObjects()

HRESULT WINAPI SHIShellFolder_EnumObjects ( LPSHELLFOLDER  lpFolder,
HWND  hwnd,
SHCONTF  flags,
IEnumIDList **  ppenum 
)

Definition at line 3992 of file ordinal.c.

3993{
3994 /* Windows attempts to get an IPersist interface and, if that fails, an
3995 * IPersistFolder interface on the folder passed-in here. If one of those
3996 * interfaces is available, it then calls GetClassID on the folder... and
3997 * then calls IShellFolder_EnumObjects no matter what, even crashing if
3998 * lpFolder isn't actually an IShellFolder object. The purpose of getting
3999 * the ClassID is unknown, so we don't do it here.
4000 *
4001 * For discussion and detailed tests, see:
4002 * "shlwapi: Be less strict on which type of IShellFolder can be enumerated"
4003 * wine-devel mailing list, 3 Jun 2010
4004 */
4005
4006 return IShellFolder_EnumObjects(lpFolder, hwnd, flags, ppenum);
4007}
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

Referenced by init_pointers().

◆ SHIsLowMemoryMachine()

BOOL WINAPI SHIsLowMemoryMachine ( DWORD  dwType)

Definition at line 4667 of file ordinal.c.

4668{
4669#ifdef __REACTOS__
4671 static int is_low = -1;
4672 TRACE("(0x%08x)\n", dwType);
4673 if (dwType == 0 && is_low == -1)
4674 {
4676 is_low = (status.dwTotalPhys <= 0x1000000);
4677 }
4678 return is_low;
4679#else
4680 FIXME("(0x%08x) stub\n", dwType);
4681 return FALSE;
4682#endif
4683}
VOID NTAPI GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer)
Definition: heapmem.c:1365
Definition: ps.c:97

◆ SHIsSameObject()

BOOL WINAPI SHIsSameObject ( IUnknown lpInt1,
IUnknown lpInt2 
)

Definition at line 1289 of file ordinal.c.

1290{
1291 IUnknown *lpUnknown1, *lpUnknown2;
1292 BOOL ret;
1293
1294 TRACE("(%p %p)\n", lpInt1, lpInt2);
1295
1296 if (!lpInt1 || !lpInt2)
1297 return FALSE;
1298
1299 if (lpInt1 == lpInt2)
1300 return TRUE;
1301
1302 if (IUnknown_QueryInterface(lpInt1, &IID_IUnknown, (void**)&lpUnknown1) != S_OK)
1303 return FALSE;
1304
1305 if (IUnknown_QueryInterface(lpInt2, &IID_IUnknown, (void**)&lpUnknown2) != S_OK)
1306 {
1307 IUnknown_Release(lpUnknown1);
1308 return FALSE;
1309 }
1310
1311 ret = lpUnknown1 == lpUnknown2;
1312
1313 IUnknown_Release(lpUnknown1);
1314 IUnknown_Release(lpUnknown2);
1315
1316 return ret;
1317}

◆ SHLoadFromPropertyBag()

DWORD WINAPI SHLoadFromPropertyBag ( IUnknown lpUnknown,
IPropertyBag lpPropBag 
)

Definition at line 1864 of file ordinal.c.

1865{
1866 IPersistPropertyBag* lpPPBag;
1867 HRESULT hRet = E_FAIL;
1868
1869 TRACE("(%p,%p)\n", lpUnknown, lpPropBag);
1870
1871 if (lpUnknown)
1872 {
1873 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IPersistPropertyBag,
1874 (void**)&lpPPBag);
1875 if (SUCCEEDED(hRet) && lpPPBag)
1876 {
1877 hRet = IPersistPropertyBag_Load(lpPPBag, lpPropBag, NULL);
1878 IPersistPropertyBag_Release(lpPPBag);
1879 }
1880 }
1881 return hRet;
1882}
const GUID IID_IPersistPropertyBag
Definition: proxy.cpp:11

◆ SHLoadMenuPopup()

BOOL WINAPI SHLoadMenuPopup ( HINSTANCE  hInst,
LPCWSTR  szName 
)

Definition at line 1666 of file ordinal.c.

1667{
1668 HMENU hMenu;
1669
1670 TRACE("%p %s\n", hInst, debugstr_w(szName));
1671
1672 if ((hMenu = LoadMenuW(hInst, szName)))
1673 {
1674 if (GetSubMenu(hMenu, 0))
1675 RemoveMenu(hMenu, 0, MF_BYPOSITION);
1676
1677 DestroyMenu(hMenu);
1678 return TRUE;
1679 }
1680 return FALSE;
1681}
static const WCHAR szName[]
Definition: powrprof.c:45
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define MF_BYPOSITION
Definition: winuser.h:203
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)

◆ SHLoadRegUIStringW()

HRESULT WINAPI SHLoadRegUIStringW ( HKEY  hkey,
LPCWSTR  value,
LPWSTR  buf,
DWORD  size 
)

Definition at line 4413 of file ordinal.c.

4414{
4415 DWORD type, sz = size * sizeof(WCHAR);
4416
4417 if(RegQueryValueExW(hkey, value, NULL, &type, (LPBYTE)buf, &sz) != ERROR_SUCCESS)
4418 return E_FAIL;
4419
4421}
HRESULT WINAPI SHLoadIndirectString(const WCHAR *src, WCHAR *dst, UINT dst_len, void **reserved)
Definition: string.c:1455

Referenced by CBandSiteMenu::_CreateMenuPart(), CRegTreeOptions::AddItemsFromRegistry(), and GetKbdLayoutNameFromReg().

◆ SHLockShared()

PVOID WINAPI SHLockShared ( HANDLE  hShared,
DWORD  dwProcId 
)

Definition at line 259 of file ordinal.c.

260{
261#ifdef __REACTOS__
262 return SHLockSharedEx(hShared, dwProcId, TRUE);
263#else
264 HANDLE hDup;
265 LPVOID pMapped;
266
267 TRACE("(%p %d)\n", hShared, dwProcId);
268
269 /* Get handle to shared memory for current process */
270 hDup = SHMapHandle(hShared, dwProcId, GetCurrentProcessId(), FILE_MAP_ALL_ACCESS, 0);
271
272 /* Get View */
273 pMapped = MapViewOfFile(hDup, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0);
274 CloseHandle(hDup);
275
276 if (pMapped)
277 return (char *) pMapped + sizeof(DWORD); /* Hide size */
278 return NULL;
279#endif
280}
PVOID WINAPI SHLockSharedEx(HANDLE hData, DWORD dwProcessId, BOOL bWriteAccess)

Referenced by _ILReadFromSharedMemory(), AppBar_CopyIn(), AppBar_CopyOut(), AppBar_LockOutput(), init_pointers(), MakeSharedPacket(), ParseSharedPacket(), and SHELL_ArgifyW().

◆ SHLWAPI_EnumChildProc()

static BOOL CALLBACK SHLWAPI_EnumChildProc ( HWND  hWnd,
LPARAM  lParam 
)
static

Definition at line 1692 of file ordinal.c.

1693{
1695
1696 TRACE("(%p,%p)\n", hWnd, data);
1697 data->pfnPost(hWnd, data->uiMsgId, data->wParam, data->lParam);
1698 return TRUE;
1699}

Referenced by SHPropagateMessage().

◆ SHLWAPI_InvokeByIID()

static HRESULT SHLWAPI_InvokeByIID ( IConnectionPoint iCP,
REFIID  iid,
DISPID  dispId,
DISPPARAMS *  dispParams 
)
static

Definition at line 3268 of file ordinal.c.

3273{
3274 IEnumConnections *enumerator;
3275 CONNECTDATA rgcd;
3276 static DISPPARAMS empty = {NULL, NULL, 0, 0};
3277 DISPPARAMS* params = dispParams;
3278
3279 HRESULT result = IConnectionPoint_EnumConnections(iCP, &enumerator);
3280 if (FAILED(result))
3281 return result;
3282
3283 /* Invoke is never happening with an NULL dispParams */
3284 if (!params)
3285 params = &empty;
3286
3287 while(IEnumConnections_Next(enumerator, 1, &rgcd, NULL)==S_OK)
3288 {
3289 IDispatch *dispIface;
3290 if ((iid && SUCCEEDED(IUnknown_QueryInterface(rgcd.pUnk, iid, (LPVOID*)&dispIface))) ||
3291 SUCCEEDED(IUnknown_QueryInterface(rgcd.pUnk, &IID_IDispatch, (LPVOID*)&dispIface)))
3292 {
3293 IDispatch_Invoke(dispIface, dispId, &IID_NULL, 0, DISPATCH_METHOD, params, NULL, NULL, NULL);
3294 IDispatch_Release(dispIface);
3295 }
3296 IUnknown_Release(rgcd.pUnk);
3297 }
3298
3299 IEnumConnections_Release(enumerator);
3300
3301 return S_OK;
3302}
static const WCHAR empty[]
Definition: main.c:47
GLenum const GLfloat * params
Definition: glext.h:5645
#define DISPATCH_METHOD
Definition: oleauto.h:1006
const GUID IID_IDispatch
#define IID_NULL
Definition: guiddef.h:98

Referenced by IConnectionPoint_InvokeWithCancel(), IConnectionPoint_SimpleInvoke(), and IUnknown_CPContainerInvokeParam().

◆ SHMapHandle()

HANDLE WINAPI SHMapHandle ( HANDLE  hShared,
DWORD  dwSrcProcId,
DWORD  dwDstProcId,
DWORD  dwAccess,
DWORD  dwOptions 
)

Definition at line 98 of file ordinal.c.

100{
101 HANDLE hDst, hSrc;
102 DWORD dwMyProcId = GetCurrentProcessId();
103 HANDLE hRet = NULL;
104
105 TRACE("(%p,%d,%d,%08x,%08x)\n", hShared, dwDstProcId, dwSrcProcId,
106 dwAccess, dwOptions);
107
108 if (!hShared)
109 {
110 TRACE("Returning handle NULL\n");
111 return NULL;
112 }
113
114 /* Get dest process handle */
115 if (dwDstProcId == dwMyProcId)
116 hDst = GetCurrentProcess();
117 else
118 hDst = OpenProcess(PROCESS_DUP_HANDLE, 0, dwDstProcId);
119
120 if (hDst)
121 {
122 /* Get src process handle */
123 if (dwSrcProcId == dwMyProcId)
124 hSrc = GetCurrentProcess();
125 else
126 hSrc = OpenProcess(PROCESS_DUP_HANDLE, 0, dwSrcProcId);
127
128 if (hSrc)
129 {
130 /* Make handle available to dest process */
131 if (!DuplicateHandle(hSrc, hShared, hDst, &hRet,
132 dwAccess, 0, dwOptions | DUPLICATE_SAME_ACCESS))
133 hRet = NULL;
134
135 if (dwSrcProcId != dwMyProcId)
136 CloseHandle(hSrc);
137 }
138
139 if (dwDstProcId != dwMyProcId)
140 CloseHandle(hDst);
141 }
142
143 TRACE("Returning handle %p\n", hRet);
144 return hRet;
145}
BOOL WINAPI DuplicateHandle(IN HANDLE hSourceProcessHandle, IN HANDLE hSourceHandle, IN HANDLE hTargetProcessHandle, OUT LPHANDLE lpTargetHandle, IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwOptions)
Definition: handle.c:149
HANDLE WINAPI OpenProcess(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwProcessId)
Definition: proc.c:1227
#define PROCESS_DUP_HANDLE
DWORD dwOptions
Definition: solitaire.cpp:25

Referenced by init_pointers(), SHAllocShared(), SHFreeShared(), and SHLockShared().

◆ SHMenuIndexFromID()

DWORD WINAPI SHMenuIndexFromID ( HMENU  hMenu,
UINT  uID 
)

Definition at line 4725 of file ordinal.c.

4726{
4727 TRACE("%p %u\n", hMenu, uID);
4728 return GetMenuPosFromID(hMenu, uID);
4729}
INT WINAPI GetMenuPosFromID(HMENU hMenu, UINT wID)
Definition: ordinal.c:4698

Referenced by CDefView::FillViewMenu().

◆ SHPackDispParams()

HRESULT WINAPIV SHPackDispParams ( DISPPARAMS *  params,
VARIANTARG args,
UINT  cnt,
  ... 
)

Definition at line 3250 of file ordinal.c.

3251{
3253 HRESULT hres;
3254
3258 return hres;
3259}
HRESULT hres
Definition: protocol.c:465
_In_ size_t cnt
Definition: wcstombs.cpp:43

Referenced by init_pointers().

◆ SHPackDispParamsV()

HRESULT WINAPI SHPackDispParamsV ( DISPPARAMS *  params,
VARIANTARG args,
UINT  cnt,
__ms_va_list  valist 
)

Definition at line 3198 of file ordinal.c.

3199{
3200 VARIANTARG *iter;
3201
3202 TRACE("(%p %p %u ...)\n", params, args, cnt);
3203
3204 params->rgvarg = args;
3205 params->rgdispidNamedArgs = NULL;
3206 params->cArgs = cnt;
3207 params->cNamedArgs = 0;
3208
3209 iter = args+cnt;
3210
3211 while(iter-- > args) {
3212 V_VT(iter) = va_arg(valist, enum VARENUM);
3213
3214 TRACE("vt=%d\n", V_VT(iter));
3215
3216 if(V_VT(iter) & VT_BYREF) {
3217 V_BYREF(iter) = va_arg(valist, LPVOID);
3218 } else {
3219 switch(V_VT(iter)) {
3220 case VT_I4:
3221 V_I4(iter) = va_arg(valist, LONG);
3222 break;
3223 case VT_BSTR:
3224 V_BSTR(iter) = va_arg(valist, BSTR);
3225 break;
3226 case VT_DISPATCH:
3227 V_DISPATCH(iter) = va_arg(valist, IDispatch*);
3228 break;
3229 case VT_BOOL:
3230 V_BOOL(iter) = va_arg(valist, int);
3231 break;
3232 case VT_UNKNOWN:
3233 V_UNKNOWN(iter) = va_arg(valist, IUnknown*);
3234 break;
3235 default:
3236 V_VT(iter) = VT_I4;
3237 V_I4(iter) = va_arg(valist, LONG);
3238 }
3239 }
3240 }
3241
3242 return S_OK;
3243}
#define va_arg(ap, T)
Definition: acmsvcex.h:89
VARENUM
Definition: compat.h:2294
@ VT_BSTR
Definition: compat.h:2303
@ VT_BYREF
Definition: compat.h:2342
@ VT_I4
Definition: compat.h:2298
@ VT_BOOL
Definition: compat.h:2306
@ VT_DISPATCH
Definition: compat.h:2304
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_BSTR(A)
Definition: oleauto.h:226
#define V_BYREF(A)
Definition: oleauto.h:228
#define V_I4(A)
Definition: oleauto.h:247
#define V_DISPATCH(A)
Definition: oleauto.h:239

Referenced by IUnknown_CPContainerInvokeParam(), and SHPackDispParams().

◆ SHPinDllOfCLSID()

HMODULE WINAPI SHPinDllOfCLSID ( REFIID  refiid)

Definition at line 2656 of file ordinal.c.

2657{
2658 HKEY newkey;
2659 DWORD type, count;
2660 CHAR value[MAX_PATH], string[MAX_PATH];
2661
2662 strcpy(string, "CLSID\\");
2663 SHStringFromGUIDA(refiid, string + 6, sizeof(string)/sizeof(char) - 6);
2664 strcat(string, "\\InProcServer32");
2665
2666 count = MAX_PATH;
2667 RegOpenKeyExA(HKEY_CLASSES_ROOT, string, 0, 1, &newkey);
2668 RegQueryValueExA(newkey, 0, 0, &type, (PBYTE)value, &count);
2669 RegCloseKey(newkey);
2670 return LoadLibraryExA(value, 0, 0);
2671}
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
Definition: reg.c:3298
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
Definition: reg.c:4009
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
Definition: loader.c:159
INT WINAPI SHStringFromGUIDA(REFGUID guid, LPSTR lpszDest, INT cchMax)
Definition: ordinal.c:628
strcat
Definition: string.h:92
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10

Referenced by SHAutoComplete().

◆ SHPropagateMessage()

void WINAPI SHPropagateMessage ( HWND  hWnd,
UINT  uiMsgId,
WPARAM  wParam,
LPARAM  lParam,
BOOL  bSend 
)

Definition at line 1719 of file ordinal.c.

1720{
1722
1723 TRACE("(%p,%u,%ld,%ld,%d)\n", hWnd, uiMsgId, wParam, lParam, bSend);
1724
1725 if(hWnd)
1726 {
1727 data.uiMsgId = uiMsgId;
1728 data.wParam = wParam;
1729 data.lParam = lParam;
1730
1731 if (bSend)
1732 data.pfnPost = IsWindowUnicode(hWnd) ? (void*)SendMessageW : (void*)SendMessageA;
1733 else
1734 data.pfnPost = IsWindowUnicode(hWnd) ? (void*)PostMessageW : (void*)PostMessageA;
1735
1737 }
1738}
static BOOL CALLBACK SHLWAPI_EnumChildProc(HWND hWnd, LPARAM lParam)
Definition: ordinal.c:1692
LONG_PTR LPARAM
Definition: minwindef.h:175
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI EnumChildWindows(_In_opt_ HWND, _In_ WNDENUMPROC, _In_ LPARAM)
BOOL WINAPI PostMessageA(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by CShellBrowser::OnSettingChange(), and CShellBrowser::OnSysColorChange().

◆ SHPropertyBag_ReadLONG()

HRESULT WINAPI SHPropertyBag_ReadLONG ( IPropertyBag ppb,
LPCWSTR  pszPropName,
LPLONG  pValue 
)

Definition at line 5806 of file ordinal.c.

5807{
5808#ifdef __REACTOS__
5809 HRESULT hr;
5810 VARIANTARG varg;
5811
5812 TRACE("%p %s %p\n", ppb, debugstr_w(pszPropName), pValue);
5813
5814 if (!ppb || !pszPropName || !pValue)
5815 {
5816 ERR("%p %s %p\n", ppb, debugstr_w(pszPropName), pValue);
5817 return E_INVALIDARG;
5818 }
5819
5820 hr = SHPropertyBag_ReadType(ppb, pszPropName, &varg, VT_I4);
5821 if (SUCCEEDED(hr))
5822 *pValue = V_I4(&varg);
5823#else
5824 VARIANT var;
5825 HRESULT hr;
5826 TRACE("%p %s %p\n", ppb,debugstr_w(pszPropName),pValue);
5827 if (!pszPropName || !ppb || !pValue)
5828 return E_INVALIDARG;
5829 V_VT(&var) = VT_I4;
5830 hr = IPropertyBag_Read(ppb, pszPropName, &var, NULL);
5831 if (SUCCEEDED(hr))
5832 {
5833 if (V_VT(&var) == VT_I4)
5834 *pValue = V_I4(&var);
5835 else
5837 }
5838#endif
5839 return hr;
5840}
PWCHAR pValue
HRESULT WINAPI SHPropertyBag_ReadType(IPropertyBag *ppb, LPCWSTR pszPropName, VARIANTARG *pvarg, VARTYPE vt)
#define DISP_E_BADVARTYPE
Definition: winerror.h:3620

Referenced by init_pointers(), and SHPropertyBag_ReadTest().

◆ SHQueueUserWorkItem()

BOOL WINAPI SHQueueUserWorkItem ( LPTHREAD_START_ROUTINE  pfnCallback,
LPVOID  pContext,
LONG  lPriority,
DWORD_PTR  dwTag,
DWORD_PTR pdwId,
LPCSTR  pszModule,
DWORD  dwFlags 
)

Definition at line 4946 of file ordinal.c.

4949{
4950 TRACE("(%p, %p, %d, %lx, %p, %s, %08x)\n", pfnCallback, pContext,
4951 lPriority, dwTag, pdwId, debugstr_a(pszModule), dwFlags);
4952
4953 if(lPriority || dwTag || pdwId || pszModule || dwFlags)
4954 FIXME("Unsupported arguments\n");
4955
4956 return QueueUserWorkItem(pfnCallback, pContext, 0);
4957}
BOOL WINAPI QueueUserWorkItem(IN LPTHREAD_START_ROUTINE Function, IN PVOID Context, IN ULONG Flags)
Definition: thread.c:1076
_In_opt_ void _In_ DWORD _In_opt_ LPTHREAD_START_ROUTINE pfnCallback
Definition: shlwapi.h:66

◆ SHRegisterClassA()

DWORD WINAPI SHRegisterClassA ( WNDCLASSA wndclass)

Definition at line 1817 of file ordinal.c.

1818{
1819 WNDCLASSA wca;
1820 if (GetClassInfoA(wndclass->hInstance, wndclass->lpszClassName, &wca))
1821 return TRUE;
1822 return (DWORD)RegisterClassA(wndclass);
1823}
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
BOOL WINAPI GetClassInfoA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSA)

Referenced by SHCreateWorkerWindowA().

◆ SHRegisterClassW()

DWORD WINAPI SHRegisterClassW ( WNDCLASSW lpWndClass)

Definition at line 2678 of file ordinal.c.

2679{
2681
2682 TRACE("(%p %s)\n",lpWndClass->hInstance, debugstr_w(lpWndClass->lpszClassName));
2683
2684 if (GetClassInfoW(lpWndClass->hInstance, lpWndClass->lpszClassName, &WndClass))
2685 return TRUE;
2686 return RegisterClassW(lpWndClass);
2687}
WCHAR WndClass[]
Definition: capicon.c:23
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
BOOL WINAPI GetClassInfoW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSW)

Referenced by SHCreateWorkerWindowW().

◆ SHRemoveAllSubMenus()

DWORD WINAPI SHRemoveAllSubMenus ( HMENU  hMenu)

Definition at line 1752 of file ordinal.c.

1753{
1754 int iItemCount = GetMenuItemCount(hMenu) - 1;
1755
1756 TRACE("%p\n", hMenu);
1757
1758 while (iItemCount >= 0)
1759 {
1760 HMENU hSubMenu = GetSubMenu(hMenu, iItemCount);
1761 if (hSubMenu)
1762 RemoveMenu(hMenu, iItemCount, MF_BYPOSITION);
1763 iItemCount--;
1764 }
1765 return iItemCount;
1766}

◆ SHRemoveDefaultDialogFont()

HANDLE WINAPI SHRemoveDefaultDialogFont ( HWND  hWnd)

Definition at line 2628 of file ordinal.c.

2629{
2630 HANDLE hProp;
2631
2632 TRACE("(%p)\n", hWnd);
2633
2634 hProp = GetPropA(hWnd, "PropDlgFont");
2635
2636 if(hProp)
2637 {
2638 DeleteObject(hProp);
2639 hProp = RemovePropA(hWnd, "PropDlgFont");
2640 }
2641 return hProp;
2642}
pKey DeleteObject()
HANDLE WINAPI GetPropA(_In_ HWND, _In_ LPCSTR)
HANDLE WINAPI RemovePropA(_In_ HWND, _In_ LPCSTR)

◆ SHRestrictionLookup()

DWORD WINAPI SHRestrictionLookup ( DWORD  policy,
LPCWSTR  initial,
LPPOLICYDATA  polTable,
LPDWORD  polArr 
)

Definition at line 2930 of file ordinal.c.

2936{
2937 TRACE("(0x%08x %s %p %p)\n", policy, debugstr_w(initial), polTable, polArr);
2938
2939#ifndef __REACTOS__
2940 if (!polTable || !polArr)
2941 return 0;
2942#endif
2943
2944#ifndef __REACTOS__
2945 for (;polTable->appstr; polTable++, polArr++)
2946#else
2947 for (;polTable->policy; polTable++, polArr++)
2948#endif
2949 {
2950 if (policy == polTable->policy)
2951 {
2952 /* we have a known policy */
2953
2954 /* check if this policy has been cached */
2955 if (*polArr == SHELL_NO_POLICY)
2956 *polArr = SHGetRestriction(initial, polTable->appstr, polTable->keystr);
2957 return *polArr;
2958 }
2959 }
2960 /* we don't know this policy, return 0 */
2961 TRACE("unknown policy: (%08x)\n", policy);
2962 return 0;
2963}
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
Definition: appmodel.h:73
#define SHELL_NO_POLICY
Definition: ordinal.c:2841
DWORD WINAPI SHGetRestriction(LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue)
Definition: ordinal.c:2863
DWORD policy
Definition: ordinal.c:2836
LPCWSTR keystr
Definition: ordinal.c:2838
LPCWSTR appstr
Definition: ordinal.c:2837

Referenced by SHRestricted().

◆ SHSearchMapInt()

int WINAPI SHSearchMapInt ( const int lpKeys,
const int lpValues,
int  iLen,
int  iKey 
)

Definition at line 2161 of file ordinal.c.

2162{
2163 if (lpKeys && lpValues)
2164 {
2165 int i = 0;
2166
2167 while (i < iLen)
2168 {
2169 if (lpKeys[i] == iKey)
2170 return lpValues[i]; /* Found */
2171 i++;
2172 }
2173 }
2174 return -1; /* Not found */
2175}

Referenced by init_pointers().

◆ SHSendMessageBroadcastA()

DWORD WINAPI SHSendMessageBroadcastA ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 4183 of file ordinal.c.

4184{
4186 SMTO_ABORTIFHUNG, 2000, NULL);
4187}
#define HWND_BROADCAST
Definition: winuser.h:1215
LRESULT WINAPI SendMessageTimeoutA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR)
#define SMTO_ABORTIFHUNG
Definition: winuser.h:1234

◆ SHSendMessageBroadcastW()

DWORD WINAPI SHSendMessageBroadcastW ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 4195 of file ordinal.c.

4196{
4198 SMTO_ABORTIFHUNG, 2000, NULL);
4199}
LRESULT WINAPI SendMessageTimeoutW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR)

Referenced by IntSetUnderlineState(), SHGetSetSettings(), ViewDlg_Apply(), and VisualEffectsDlgProc().

◆ SHSetDefaultDialogFont()

HRESULT WINAPI SHSetDefaultDialogFont ( HWND  hWnd,
INT  id 
)

Definition at line 2576 of file ordinal.c.

2578{
2579#ifdef __REACTOS__
2580 HFONT hOldFont, hNewFont;
2581 LOGFONTW lfOldFont, lfNewFont;
2582 HWND hwndItem;
2583
2584 TRACE("(%p, %d)\n", hWnd, id);
2585
2586 hOldFont = (HFONT)SendMessageW(hWnd, WM_GETFONT, 0, 0);
2587 GetObjectW(hOldFont, sizeof(lfOldFont), &lfOldFont);
2588 SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lfNewFont), &lfNewFont, 0);
2589
2590 if (lfOldFont.lfCharSet == lfNewFont.lfCharSet)
2591 return;
2592
2593 hNewFont = GetPropW(hWnd, L"PropDlgFont");
2594 if (!hNewFont)
2595 {
2596 /* Create the icon-title font of the same height */
2597 lfNewFont.lfHeight = lfOldFont.lfHeight;
2598 hNewFont = CreateFontIndirectW(&lfNewFont);
2599
2600 /* If creating the font is failed, then keep the old font */
2601 if (!hNewFont)
2602 hNewFont = hOldFont;
2603
2604 /* Set "PropDlgFont" property if the font is changed */
2605 if (hOldFont != hNewFont)
2606 SetPropW(hWnd, L"PropDlgFont", hNewFont);
2607 }
2608
2609 hwndItem = GetDlgItem(hWnd, id);
2610 SendMessageW(hwndItem, WM_SETFONT, (WPARAM)hNewFont, 0);
2611#else
2612 FIXME("(%p, %d) stub\n", hWnd, id);
2613 return S_OK;
2614#endif
2615}
UINT_PTR WPARAM
Definition: minwindef.h:174
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
LONG lfHeight
Definition: dimm.idl:59
BYTE lfCharSet
Definition: dimm.idl:67
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
#define SPI_GETICONTITLELOGFONT
Definition: winuser.h:1391
#define WM_GETFONT
Definition: winuser.h:1679
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define WM_SETFONT
Definition: winuser.h:1678
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)

◆ SHSetIniStringW()

BOOL WINAPI SHSetIniStringW ( LPCWSTR  appName,
LPCWSTR  keyName,
LPCWSTR  str,
LPCWSTR  filename 
)

Definition at line 3549 of file ordinal.c.

3551{
3552 TRACE("(%s, %p, %s, %s)\n", debugstr_w(appName), keyName, debugstr_w(str),
3554
3556}
BOOL WINAPI WritePrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR string, LPCWSTR filename)
Definition: profile.c:1453
const WCHAR * str

Referenced by init_pointers(), and SHPropertyBag_SHSetIniStringW().

◆ SHSetParentHwnd()

HWND WINAPI SHSetParentHwnd ( HWND  hWnd,
HWND  hWndParent 
)

Definition at line 1158 of file ordinal.c.

1159{
1160 TRACE("%p, %p\n", hWnd, hWndParent);
1161
1162 if(GetParent(hWnd) == hWndParent)
1163 return NULL;
1164
1165 if(hWndParent)
1167 else
1169
1171}
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT mask, UINT flags)
Definition: ordinal.c:1130
#define WS_CHILD
Definition: pedump.c:617
#define WS_POPUP
Definition: pedump.c:616
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
HWND WINAPI GetParent(_In_ HWND)
#define GWL_STYLE
Definition: winuser.h:863

Referenced by activate_inplace(), init_pointers(), and OleObject_SetClientSite().

◆ SHSetTimerQueueTimer()

HANDLE WINAPI SHSetTimerQueueTimer ( HANDLE  hQueue,
WAITORTIMERCALLBACK  pfnCallback,
LPVOID  pContext,
DWORD  dwDueTime,
DWORD  dwPeriod,
LPCSTR  lpszLibrary,
DWORD  dwFlags 
)

Definition at line 4962 of file ordinal.c.

4965{
4966 HANDLE hNewTimer;
4967
4968 /* SHSetTimerQueueTimer flags -> CreateTimerQueueTimer flags */
4969 if (dwFlags & TPS_LONGEXECTIME) {
4970 dwFlags &= ~TPS_LONGEXECTIME;
4972 }
4973 if (dwFlags & TPS_EXECUTEIO) {
4974 dwFlags &= ~TPS_EXECUTEIO;
4976 }
4977
4978 if (!CreateTimerQueueTimer(&hNewTimer, hQueue, pfnCallback, pContext,
4979 dwDueTime, dwPeriod, dwFlags))
4980 return NULL;
4981
4982 return hNewTimer;
4983}
BOOL WINAPI CreateTimerQueueTimer(OUT PHANDLE phNewTimer, IN HANDLE TimerQueue, IN WAITORTIMERCALLBACK Callback, IN PVOID Parameter, IN DWORD DueTime, IN DWORD Period, IN ULONG Flags)
Definition: timerqueue.c:138
#define TPS_EXECUTEIO
Definition: shlwapi.h:1160
#define TPS_LONGEXECTIME
Definition: shlwapi.h:1161
#define WT_EXECUTEINIOTHREAD
Definition: winnt_old.h:1085
#define WT_EXECUTELONGFUNCTION
Definition: winnt_old.h:1089

◆ SHSetWindowBits()

LONG WINAPI SHSetWindowBits ( HWND  hwnd,
INT  offset,
UINT  mask,
UINT  flags 
)

Definition at line 1130 of file ordinal.c.

1131{
1133 LONG new_flags = (flags & mask) | (ret & ~mask);
1134
1135 TRACE("%p %d %x %x\n", hwnd, offset, mask, flags);
1136
1137 if (new_flags != ret)
1138 ret = SetWindowLongW(hwnd, offset, new_flags);
1139 return ret;
1140}
GLintptr offset
Definition: glext.h:5920
GLenum GLint GLuint mask
Definition: glext.h:6028
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)

Referenced by CMenuDeskBar::_AdjustForTheme(), init_pointers(), CShellBrowser::OnToggleFullscreen(), SetWindowExStyle(), SetWindowStyle(), and SHSetParentHwnd().

◆ SHSimulateDrop()

BOOL WINAPI SHSimulateDrop ( IDropTarget pDrop,
IDataObject pDataObj,
DWORD  grfKeyState,
PPOINTL  lpPt,
DWORD pdwEffect 
)

Definition at line 1828 of file ordinal.c.

1830{
1831 DWORD dwEffect = DROPEFFECT_LINK | DROPEFFECT_MOVE | DROPEFFECT_COPY;
1832 POINTL pt = { 0, 0 };
1833
1834 TRACE("%p %p 0x%08x %p %p\n", pDrop, pDataObj, grfKeyState, lpPt, pdwEffect);
1835
1836 if (!lpPt)
1837 lpPt = &pt;
1838
1839 if (!pdwEffect)
1840 pdwEffect = &dwEffect;
1841
1842 IDropTarget_DragEnter(pDrop, pDataObj, grfKeyState, *lpPt, pdwEffect);
1843
1844 if (*pdwEffect != DROPEFFECT_NONE)
1845 return IDropTarget_Drop(pDrop, pDataObj, grfKeyState, *lpPt, pdwEffect);
1846
1847 IDropTarget_DragLeave(pDrop);
1848 return TRUE;
1849}
#define pt(x, y)
Definition: drawing.c:79

Referenced by CDefaultContextMenu::DoCreateLink(), CDefaultContextMenu::DoDelete(), CDefaultContextMenu::DoPaste(), CCPLItemMenu::InvokeCommand(), CDefaultContextMenu::InvokeRegVerb(), and SH32_SimulateDropWithSite().

◆ SHSkipJunction()

BOOL WINAPI SHSkipJunction ( IBindCtx pbc,
const CLSID pclsid 
)

Definition at line 4779 of file ordinal.c.

4780{
4781 static WCHAR szSkipBinding[] = { 'S','k','i','p',' ',
4782 'B','i','n','d','i','n','g',' ','C','L','S','I','D','\0' };
4783 BOOL bRet = FALSE;
4784
4785 if (pbc)
4786 {
4787 IUnknown* lpUnk;
4788
4789 if (SUCCEEDED(IBindCtx_GetObjectParam(pbc, szSkipBinding, &lpUnk)))
4790 {
4791 CLSID clsid;
4792
4793 if (SUCCEEDED(IUnknown_GetClassID(lpUnk, &clsid)) &&
4794 IsEqualGUID(pclsid, &clsid))
4795 bRet = TRUE;
4796
4797 IUnknown_Release(lpUnk);
4798 }
4799 }
4800 return bRet;
4801}
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
Definition: ordinal.c:1457
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147

Referenced by SHSkipJunctionBinding().

◆ SHStringFromGUIDA()

INT WINAPI SHStringFromGUIDA ( REFGUID  guid,
LPSTR  lpszDest,
INT  cchMax 
)

Definition at line 628 of file ordinal.c.

629{
630 char xguid[40];
631 INT iLen;
632
633 TRACE("(%s,%p,%d)\n", debugstr_guid(guid), lpszDest, cchMax);
634
635 sprintf(xguid, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
636 (UINT)guid->Data1, guid->Data2, guid->Data3,
637 guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
638 guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]);
639
640 iLen = strlen(xguid) + 1;
641
642 if (iLen > cchMax)
643 return 0;
644 memcpy(lpszDest, xguid, iLen);
645 return iLen;
646}
UINT cchMax
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GUID guid
Definition: version.c:147
#define sprintf
Definition: sprintf.c:45

Referenced by SHGlobalCounterCreate(), SHPinDllOfCLSID(), and test_ordinal_imports().

◆ SHStringFromGUIDW()

INT WINAPI SHStringFromGUIDW ( REFGUID  guid,
LPWSTR  lpszDest,
INT  cchMax 
)

Definition at line 661 of file ordinal.c.

662{
663 WCHAR xguid[40];
664 INT iLen;
665 static const WCHAR wszFormat[] = {'{','%','0','8','l','X','-','%','0','4','X','-','%','0','4','X','-',
666 '%','0','2','X','%','0','2','X','-','%','0','2','X','%','0','2','X','%','0','2','X','%','0','2',
667 'X','%','0','2','X','%','0','2','X','}',0};
668
669 TRACE("(%s,%p,%d)\n", debugstr_guid(guid), lpszDest, cchMax);
670
671 sprintfW(xguid, wszFormat, guid->Data1, guid->Data2, guid->Data3,
672 guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
673 guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]);
674
675 iLen = strlenW(xguid) + 1;
676
677 if (iLen > cchMax)
678 return 0;
679 memcpy(lpszDest, xguid, iLen*sizeof(WCHAR));
680 return iLen;
681}

Referenced by SH32_CoCreateInstance(), and SHRegGetCLSIDKeyW().

◆ SHUnlockShared()

◆ SHUnregisterClassesA()

void WINAPI SHUnregisterClassesA ( HINSTANCE  hInst,
LPCSTR lppClasses,
INT  iCount 
)

Definition at line 2702 of file ordinal.c.

2703{
2705
2706 TRACE("(%p,%p,%d)\n", hInst, lppClasses, iCount);
2707
2708 while (iCount > 0)
2709 {
2710 if (GetClassInfoA(hInst, *lppClasses, &WndClass))
2711 UnregisterClassA(*lppClasses, hInst);
2712 lppClasses++;
2713 iCount--;
2714 }
2715}
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)

◆ SHUnregisterClassesW()

void WINAPI SHUnregisterClassesW ( HINSTANCE  hInst,
LPCWSTR lppClasses,
INT  iCount 
)

Definition at line 2722 of file ordinal.c.

2723{
2725
2726 TRACE("(%p,%p,%d)\n", hInst, lppClasses, iCount);
2727
2728 while (iCount > 0)
2729 {
2730 if (GetClassInfoW(hInst, *lppClasses, &WndClass))
2731 UnregisterClassW(*lppClasses, hInst);
2732 lppClasses++;
2733 iCount--;
2734 }
2735}
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)

◆ SHVerbExistsNA()

INT WINAPI SHVerbExistsNA ( LPSTR  verb,
PVOID  pUnknown,
PVOID  pUnknown2,
DWORD  dwUnknown3 
)

Definition at line 5575 of file ordinal.c.

5576{
5577 FIXME("(%s, %p, %p, %i) STUB\n",verb, pUnknown, pUnknown2, dwUnknown3);
5578 return 0;
5579}
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76

◆ SHWaitForSendMessageThread()

DWORD WINAPI SHWaitForSendMessageThread ( HANDLE  hand,
DWORD  dwTimeout 
)

Definition at line 2050 of file ordinal.c.

2051{
2052 DWORD dwEndTicks = GetTickCount() + dwTimeout;
2053 DWORD dwRet;
2054
2055 while ((dwRet = MsgWaitForMultipleObjectsEx(1, &hand, dwTimeout, QS_SENDMESSAGE, 0)) == 1)
2056 {
2057 MSG msg;
2058
2059 PeekMessageW(&msg, NULL, 0, 0, PM_NOREMOVE);
2060
2061 if (dwTimeout != INFINITE)
2062 {
2063 if ((int)(dwTimeout = dwEndTicks - GetTickCount()) <= 0)
2064 return WAIT_TIMEOUT;
2065 }
2066 }
2067
2068 return dwRet;
2069}
#define WAIT_TIMEOUT
Definition: dderror.h:14
ULONG WINAPI DECLSPEC_HOTPATCH GetTickCount(void)
Definition: sync.c:182
#define INFINITE
Definition: serial.h:102
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1829
#define QS_SENDMESSAGE
Definition: winuser.h:891
DWORD WINAPI MsgWaitForMultipleObjectsEx(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask, _In_ DWORD dwFlags)
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
#define PM_NOREMOVE
Definition: winuser.h:1206

◆ SHWeakQueryInterface()

HRESULT WINAPI SHWeakQueryInterface ( IUnknown pUnk,
IUnknown pInner,
IID riid,
LPVOID ppv 
)

Definition at line 2980 of file ordinal.c.

2985{
2986 HRESULT hret = E_NOINTERFACE;
2987 TRACE("(pUnk=%p pInner=%p\n\tIID: %s %p)\n",pUnk,pInner,debugstr_guid(riid), ppv);
2988
2989 *ppv = NULL;
2990 if(pUnk && pInner) {
2991 hret = IUnknown_QueryInterface(pInner, riid, ppv);
2992 if (SUCCEEDED(hret)) IUnknown_Release(pUnk);
2993 }
2994 TRACE("-- 0x%08x\n", hret);
2995 return hret;
2996}

◆ SHWeakReleaseInterface()

VOID WINAPI SHWeakReleaseInterface ( IUnknown lpDest,
IUnknown **  lppUnknown 
)

Definition at line 3010 of file ordinal.c.

3011{
3012 TRACE("(%p,%p)\n", lpDest, lppUnknown);
3013
3014 if (*lppUnknown)
3015 {
3016 /* Copy Reference*/
3017 IUnknown_AddRef(lpDest);
3018 IUnknown_AtomicRelease(lppUnknown); /* Release existing interface */
3019 }
3020}

◆ SHWinHelpOnDemandA()

DWORD WINAPI SHWinHelpOnDemandA ( HWND  hwnd,
LPCSTR  helpfile,
DWORD  flags1,
VOID ptr1,
DWORD  flags2 
)

Definition at line 4113 of file ordinal.c.

4114{
4115
4116 FIXME("(%p, %s, 0x%x, %p, %d)\n", hwnd, debugstr_a(helpfile), flags1, ptr1, flags2);
4117 return 0;
4118}
static const TCHAR helpfile[]
Definition: dialog.c:19

◆ SHWinHelpOnDemandW()

DWORD WINAPI SHWinHelpOnDemandW ( HWND  hwnd,
LPCWSTR  helpfile,
DWORD  flags1,
VOID ptr1,
DWORD  flags2 
)

Definition at line 4102 of file ordinal.c.

4103{
4104
4105 FIXME("(%p, %s, 0x%x, %p, %d)\n", hwnd, debugstr_w(helpfile), flags1, ptr1, flags2);
4106 return 0;
4107}

◆ SKAllocValueW()

HRESULT WINAPI SKAllocValueW ( DWORD  flags,
LPCWSTR  subkey,
LPCWSTR  value,
DWORD type,
LPVOID data,
DWORD count 
)

Definition at line 5011 of file ordinal.c.

5013{
5014 DWORD ret, size;
5015 HKEY hkey;
5016
5017 TRACE("(0x%x, %s, %s, %p, %p, %p)\n", flags, debugstr_w(subkey),
5019
5020 hkey = SHGetShellKey(flags, subkey, FALSE);
5021 if (!hkey)
5023
5024 ret = SHQueryValueExW(hkey, value, NULL, type, NULL, &size);
5025 if (ret) {
5026 RegCloseKey(hkey);
5027 return HRESULT_FROM_WIN32(ret);
5028 }
5029
5030 size += 2;
5031 *data = LocalAlloc(0, size);
5032 if (!*data) {
5033 RegCloseKey(hkey);
5034 return E_OUTOFMEMORY;
5035 }
5036
5037 ret = SHQueryValueExW(hkey, value, NULL, type, *data, &size);
5038 if (count)
5039 *count = size;
5040
5041 RegCloseKey(hkey);
5042 return HRESULT_FROM_WIN32(ret);
5043}
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210

Referenced by init_pointers().

◆ SKDeleteValueW()

HRESULT WINAPI SKDeleteValueW ( DWORD  flags,
LPCWSTR  subkey,
LPCWSTR  value 
)

Definition at line 5048 of file ordinal.c.

5049{
5050 DWORD ret;
5051 HKEY hkey;
5052
5053 TRACE("(0x%x, %s %s)\n", flags, debugstr_w(subkey), debugstr_w(value));
5054
5055 hkey = SHGetShellKey(flags, subkey, FALSE);
5056 if (!hkey)
5058
5059 ret = RegDeleteValueW(hkey, value);
5060
5061 RegCloseKey(hkey);
5062 return HRESULT_FROM_WIN32(ret);
5063}
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
Definition: reg.c:2330

Referenced by init_pointers().

◆ SKGetValueW()

HRESULT WINAPI SKGetValueW ( DWORD  flags,
LPCWSTR  subkey,
LPCWSTR  value,
DWORD type,
void data,
DWORD count 
)

Definition at line 5068 of file ordinal.c.

5070{
5071 DWORD ret;
5072 HKEY hkey;
5073
5074 TRACE("(0x%x, %s, %s, %p, %p, %p)\n", flags, debugstr_w(subkey),
5076
5077 hkey = SHGetShellKey(flags, subkey, FALSE);
5078 if (!hkey)
5080
5082
5083 RegCloseKey(hkey);
5084 return HRESULT_FROM_WIN32(ret);
5085}

Referenced by init_pointers().

◆ SKSetValueW()

HRESULT WINAPI SKSetValueW ( DWORD  flags,
LPCWSTR  subkey,
LPCWSTR  value,
DWORD  type,
void data,
DWORD  count 
)

Definition at line 5090 of file ordinal.c.

5092{
5093 DWORD ret;
5094 HKEY hkey;
5095
5096 TRACE("(0x%x, %s, %s, %x, %p, %d)\n", flags, debugstr_w(subkey),
5098
5099 hkey = SHGetShellKey(flags, subkey, TRUE);
5100 if (!hkey)
5102
5103 ret = RegSetValueExW(hkey, value, 0, type, data, count);
5104
5105 RegCloseKey(hkey);
5106 return HRESULT_FROM_WIN32(ret);
5107}
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4882

Referenced by init_pointers().

◆ StrCmpCA()

DWORD WINAPI StrCmpCA ( LPCSTR  lpszSrc,
LPCSTR  lpszCmp 
)

Definition at line 859 of file ordinal.c.

860{
861 return lstrcmpA(lpszSrc, lpszCmp);
862}
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
Definition: locale.c:4198

◆ StrCmpCW()

DWORD WINAPI StrCmpCW ( LPCWSTR  lpszSrc,
LPCWSTR  lpszCmp 
)

Definition at line 869 of file ordinal.c.

870{
871 return lstrcmpW(lpszSrc, lpszCmp);
872}
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4246

◆ StrCmpICA()

DWORD WINAPI StrCmpICA ( LPCSTR  lpszSrc,
LPCSTR  lpszCmp 
)

Definition at line 887 of file ordinal.c.

888{
889 return lstrcmpiA(lpszSrc, lpszCmp);
890}
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
Definition: locale.c:4227

◆ StrCmpICW()

DWORD WINAPI StrCmpICW ( LPCWSTR  lpszSrc,
LPCWSTR  lpszCmp 
)

Definition at line 897 of file ordinal.c.

898{
899 return lstrcmpiW(lpszSrc, lpszCmp);
900}
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4265

◆ StrCmpNCA()

DWORD WINAPI StrCmpNCA ( LPCSTR  lpszSrc,
LPCSTR  lpszCmp,
INT  len 
)

Definition at line 802 of file ordinal.c.

803{
804 return StrCmpNA(lpszSrc, lpszCmp, len);
805}
INT WINAPI StrCmpNA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
Definition: string.c:489

◆ StrCmpNCW()

DWORD WINAPI StrCmpNCW ( LPCWSTR  lpszSrc,
LPCWSTR  lpszCmp,
INT  len 
)

Definition at line 812 of file ordinal.c.

813{
814 return StrCmpNW(lpszSrc, lpszCmp, len);
815}
INT WINAPI StrCmpNW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
Definition: string.c:500

◆ StrCmpNICA()

DWORD WINAPI StrCmpNICA ( LPCSTR  lpszSrc,
LPCSTR  lpszCmp,
DWORD  len 
)

Definition at line 831 of file ordinal.c.

832{
833 return StrCmpNIA(lpszSrc, lpszCmp, len);
834}
INT WINAPI StrCmpNIA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
Definition: string.c:296

◆ StrCmpNICW()

DWORD WINAPI StrCmpNICW ( LPCWSTR  lpszSrc,
LPCWSTR  lpszCmp,
DWORD  len 
)

Definition at line 841 of file ordinal.c.

842{
843 return StrCmpNIW(lpszSrc, lpszCmp, len);
844}
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
Definition: string.c:307

◆ VerQueryValueWrapW()

WORD WINAPI VerQueryValueWrapW ( LPVOID  pBlock,
LPCWSTR  lpSubBlock,
LPVOID lplpBuffer,
UINT puLen 
)

Definition at line 3655 of file ordinal.c.

3657{
3658 return VerQueryValueW( pBlock, lpSubBlock, lplpBuffer, puLen );
3659}
BOOL WINAPI VerQueryValueW(LPCVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen)
Definition: version.c:1171

◆ WhichPlatform()

DWORD WINAPI WhichPlatform ( void  )

Definition at line 3073 of file ordinal.c.

3075{
3076 static const char szIntegratedBrowser[] = "IntegratedBrowser";
3077 static DWORD dwState = 0;
3078 HKEY hKey;
3079 DWORD dwRet, dwData, dwSize;
3080 HMODULE hshell32;
3081
3082 if (dwState)
3083 return dwState;
3084
3085 /* If shell32 exports DllGetVersion(), the browser is integrated */
3086 dwState = 1;
3087 hshell32 = LoadLibraryA("shell32.dll");
3088 if (hshell32)
3089 {
3090 FARPROC pDllGetVersion;
3091 pDllGetVersion = GetProcAddress(hshell32, "DllGetVersion");
3092 dwState = pDllGetVersion ? 2 : 1;
3093 FreeLibrary(hshell32);
3094 }
3095
3096 /* Set or delete the key accordingly */
3098 "Software\\Microsoft\\Internet Explorer", 0,
3100 if (!dwRet)
3101 {
3102 dwRet = RegQueryValueExA(hKey, szIntegratedBrowser, 0, 0,
3103 (LPBYTE)&dwData, &dwSize);
3104
3105 if (!dwRet && dwState == 1)
3106 {
3107 /* Value exists but browser is not integrated */
3108 RegDeleteValueA(hKey, szIntegratedBrowser);
3109 }
3110 else if (dwRet && dwState == 2)
3111 {
3112 /* Browser is integrated but value does not exist */
3113 dwData = TRUE;
3114 RegSetValueExA(hKey, szIntegratedBrowser, 0, REG_DWORD,
3115 (LPBYTE)&dwData, sizeof(dwData));
3116 }
3118 }
3119 return dwState;
3120}
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
Definition: reg.c:4799
LONG WINAPI RegDeleteValueA(HKEY hKey, LPCSTR lpValueName)
Definition: reg.c:2287
int(* FARPROC)()
Definition: compat.h:36
static HANDLE ULONG_PTR dwData
Definition: file.c:35
#define KEY_ALL_ACCESS
Definition: nt_native.h:1044
#define REG_DWORD
Definition: sdbapi.c:615

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shell  )

◆ WNetGetLastErrorWrapW()

DWORD WINAPI WNetGetLastErrorWrapW ( LPDWORD  lpError,
LPWSTR  lpErrorBuf,
DWORD  nErrorBufSize,
LPWSTR  lpNameBuf,
DWORD  nNameBufSize 
)

Definition at line 3953 of file ordinal.c.

3955{
3956 return WNetGetLastErrorW(lpError, lpErrorBuf, nErrorBufSize, lpNameBuf, nNameBufSize);
3957}
DWORD WINAPI WNetGetLastErrorW(LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize, LPWSTR lpNameBuf, DWORD nNameBufSize)
Definition: wnet.c:3013

◆ WNetRestoreConnectionWrapW()

DWORD WINAPI WNetRestoreConnectionWrapW ( HWND  hwndOwner,
LPWSTR  lpszDevice 
)

Definition at line 3943 of file ordinal.c.

3944{
3945 return WNetRestoreConnectionW(hwndOwner, lpszDevice);
3946}
DWORD WINAPI WNetRestoreConnectionW(HWND hwndOwner, LPCWSTR lpszDevice)
Definition: wnet.c:2475

◆ ZoneCheckUrlExW()

INT WINAPI ZoneCheckUrlExW ( LPWSTR  szURL,
PVOID  pUnknown,
DWORD  dwUnknown2,
DWORD  dwUnknown3,
DWORD  dwUnknown4,
DWORD  dwUnknown5,
DWORD  dwUnknown6,
DWORD  dwUnknown7 
)

Definition at line 5552 of file ordinal.c.

5555{
5556 FIXME("(%s,%p,%x,%x,%x,%x,%x,%x) STUB\n", debugstr_w(szURL), pUnknown, dwUnknown2,
5557 dwUnknown3, dwUnknown4, dwUnknown5, dwUnknown6, dwUnknown7);
5558
5559 return 0;
5560}

◆ ZoneComputePaneSize()

UINT WINAPI ZoneComputePaneSize ( HWND  hwnd)

Definition at line 5218 of file ordinal.c.

5219{
5220 FIXME("\n");
5221 return 0x95;
5222}

Variable Documentation

◆ objcompat_table

const struct objcompat_entry objcompat_table[]
static
Initial value:
= {
{ {'C','O','C','R','E','A','T','E','S','H','E','L','L','F','O','L','D','E','R','O','N','L','Y',0},
{ {'C','T','X','M','E','N','U','_','L','I','M','I','T','E','D','Q','I',0},
{ {'C','T','X','M','E','N','U','_','N','O','V','E','R','B','S',0},
{ {'C','T','X','M','E','N','U','_','X','P','Q','C','M','F','L','A','G','S',0},
{ {'N','E','E','D','S','F','I','L','E','S','Y','S','A','N','C','E','S','T','O','R',0},
{ {'N','E','E','D','S','S','T','O','R','A','G','E','A','N','C','E','S','T','O','R',0},
{ {'N','O','I','P','R','O','P','E','R','T','Y','S','T','O','R','E',0},
{ {'N','O','L','E','G','A','C','Y','W','E','B','V','I','E','W',0},
{ {'N','O','T','A','F','I','L','E','S','Y','S','T','E','M',0},
{ {'N','O','_','W','E','B','V','I','E','W',0},
{ {'O','T','N','E','E','D','S','S','F','C','A','C','H','E',0},
{ {'P','I','N','D','L','L',0},
{ {'U','N','B','I','N','D','A','B','L','E',0},
}
#define OBJCOMPAT_NOIPROPERTYSTORE
Definition: ordinal.c:6448
#define OBJCOMPAT_CTXMENU_XPQCMFLAGS
Definition: ordinal.c:6447
#define OBJCOMPAT_NOLEGACYWEBVIEW
Definition: ordinal.c:6446
#define OBJCOMPAT_OTNEEDSSFCACHE
Definition: ordinal.c:6436
#define OBJCOMPAT_NEEDSFILESYSANCESTOR
Definition: ordinal.c:6440
#define OBJCOMPAT_CTXMENU_LIMITEDQI
Definition: ordinal.c:6443
#define OBJCOMPAT_NOTAFILESYSTEM
Definition: ordinal.c:6441
#define OBJCOMPAT_PINDLL
Definition: ordinal.c:6439
#define OBJCOMPAT_UNBINDABLE
Definition: ordinal.c:6438
#define OBJCOMPAT_NEEDSSTORAGEANCESTOR
Definition: ordinal.c:6445
#define OBJCOMPAT_NO_WEBVIEW
Definition: ordinal.c:6437
#define OBJCOMPAT_COCREATESHELLFOLDERONLY
Definition: ordinal.c:6444

Definition at line 6457 of file ordinal.c.

Referenced by SHGetObjectCompatFlags().

◆ shlwapi_hInstance

HINSTANCE shlwapi_hInstance
extern

Definition at line 33 of file shlwapi_main.c.

Referenced by SHCreateWorkerWindowA(), and SHCreateWorkerWindowW().

◆ SHLWAPI_ThreadRef_index

DWORD SHLWAPI_ThreadRef_index
extern

Definition at line 34 of file shlwapi_main.c.

◆ strRegistryPolicyW

const WCHAR strRegistryPolicyW[]
static
Initial value:
= {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o',
's','o','f','t','\\','W','i','n','d','o','w','s','\\',
'C','u','r','r','e','n','t','V','e','r','s','i','o','n',
'\\','P','o','l','i','c','i','e','s',0}

Definition at line 2844 of file ordinal.c.

Referenced by SHGetRestriction().