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

Go to the source code of this file.

Classes

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

Macros

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

Typedefs

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

Functions

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

Variables

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

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 30 of file ordinal.c.

◆ EnableModeless

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

Definition at line 3446 of file ordinal.c.

◆ FDSA_FLAG_INTERNAL_ALLOC

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

Definition at line 2272 of file ordinal.c.

◆ GET_RGB

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

Definition at line 3800 of file ordinal.c.

◆ IShellBrowser_EnableModeless

#define IShellBrowser_EnableModeless   IShellBrowser_EnableModelessSB

Definition at line 3445 of file ordinal.c.

◆ IsIface

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

Definition at line 3444 of file ordinal.c.

◆ ISOS_RETURN

#define ISOS_RETURN (   x)
Value:
TRACE("(0x%x) ret=%d\n",feature,(x)); \
return (x);
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 5373 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_LIMITEDQI

#define OBJCOMPAT_CTXMENU_LIMITEDQI   0x00000080

Definition at line 5372 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_NOVERBS

#define OBJCOMPAT_CTXMENU_NOVERBS   0x00000040

Definition at line 5371 of file ordinal.c.

◆ OBJCOMPAT_CTXMENU_XPQCMFLAGS

#define OBJCOMPAT_CTXMENU_XPQCMFLAGS   0x00001000

Definition at line 5376 of file ordinal.c.

◆ OBJCOMPAT_NEEDSFILESYSANCESTOR

#define OBJCOMPAT_NEEDSFILESYSANCESTOR   0x00000010

Definition at line 5369 of file ordinal.c.

◆ OBJCOMPAT_NEEDSSTORAGEANCESTOR

#define OBJCOMPAT_NEEDSSTORAGEANCESTOR   0x00000200

Definition at line 5374 of file ordinal.c.

◆ OBJCOMPAT_NO_WEBVIEW

#define OBJCOMPAT_NO_WEBVIEW   0x00000002

Definition at line 5366 of file ordinal.c.

◆ OBJCOMPAT_NOIPROPERTYSTORE

#define OBJCOMPAT_NOIPROPERTYSTORE   0x00002000

Definition at line 5377 of file ordinal.c.

◆ OBJCOMPAT_NOLEGACYWEBVIEW

#define OBJCOMPAT_NOLEGACYWEBVIEW   0x00000400

Definition at line 5375 of file ordinal.c.

◆ OBJCOMPAT_NOTAFILESYSTEM

#define OBJCOMPAT_NOTAFILESYSTEM   0x00000020

Definition at line 5370 of file ordinal.c.

◆ OBJCOMPAT_OTNEEDSSFCACHE

#define OBJCOMPAT_OTNEEDSSFCACHE   0x00000001

Definition at line 5365 of file ordinal.c.

◆ OBJCOMPAT_PINDLL

#define OBJCOMPAT_PINDLL   0x00000008

Definition at line 5368 of file ordinal.c.

◆ OBJCOMPAT_UNBINDABLE

#define OBJCOMPAT_UNBINDABLE   0x00000004

Definition at line 5367 of file ordinal.c.

◆ SHELL_NO_POLICY

#define SHELL_NO_POLICY   0xffffffff

Definition at line 2672 of file ordinal.c.

◆ SHFORMATDT_UNSUPPORTED_FLAGS

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

Typedef Documentation

◆ DllGetVersion_func

typedef HRESULT(WINAPI * DllGetVersion_func) (DLLVERSIONINFO *)

Definition at line 4800 of file ordinal.c.

◆ enumWndData

◆ LPPOLICYDATA

◆ POLICYDATA

◆ PSHELL_USER_PERMISSION

◆ PSHELL_USER_SID

◆ SHELL_USER_PERMISSION

◆ SHELL_USER_SID

Function Documentation

◆ CLSIDFromStringWrap()

HRESULT WINAPI CLSIDFromStringWrap ( LPCWSTR  idstr,
CLSID id 
)

Definition at line 3988 of file ordinal.c.

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

◆ ColorAdjustLuma()

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

Definition at line 3684 of file ordinal.c.

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

◆ ColorHLSToRGB()

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

Definition at line 3818 of file ordinal.c.

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

Referenced by ColorAdjustLuma().

◆ ColorRGBToHLS()

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

Definition at line 4247 of file ordinal.c.

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

Referenced by ColorAdjustLuma().

◆ ConnectToConnectionPoint()

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

Definition at line 1186 of file ordinal.c.

1189{
1190 HRESULT hRet;
1191 IConnectionPointContainer* lpContainer;
1192 IConnectionPoint *lpCP;
1193
1194 if(!lpUnknown || (fConnect && !lpUnkSink))
1195 return E_FAIL;
1196
1197 if(lppCP)
1198 *lppCP = NULL;
1199
1200 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IConnectionPointContainer,
1201 (void**)&lpContainer);
1202 if (SUCCEEDED(hRet))
1203 {
1204 hRet = IConnectionPointContainer_FindConnectionPoint(lpContainer, riid, &lpCP);
1205
1206 if (SUCCEEDED(hRet))
1207 {
1208 if(!fConnect)
1209 hRet = IConnectionPoint_Unadvise(lpCP, *lpCookie);
1210 else
1211 hRet = IConnectionPoint_Advise(lpCP, lpUnkSink, lpCookie);
1212
1213 if (FAILED(hRet))
1214 *lpCookie = 0;
1215
1216 if (lppCP && SUCCEEDED(hRet))
1217 *lppCP = lpCP; /* Caller keeps the interface */
1218 else
1219 IConnectionPoint_Release(lpCP); /* Release it */
1220 }
1221
1222 IConnectionPointContainer_Release(lpContainer);
1223 }
1224 return hRet;
1225}
#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 3785 of file ordinal.c.

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

◆ DragQueryFileWrapW()

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

Definition at line 3358 of file ordinal.c.

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

◆ ExtractIconWrapW()

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

Definition at line 3590 of file ordinal.c.

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

◆ FDSA_DeleteItem()

BOOL WINAPI FDSA_DeleteItem ( FDSA_info info,
DWORD  where 
)

Definition at line 2361 of file ordinal.c.

2362{
2363 TRACE("(%p 0x%08x)\n", info, where);
2364
2365 if(where >= info->num_items)
2366 return FALSE;
2367
2368 if(where < info->num_items - 1)
2369 {
2370 memmove((char*)info->mem + where * info->block_size,
2371 (char*)info->mem + (where + 1) * info->block_size,
2372 (info->num_items - where - 1) * info->block_size);
2373 }
2374 memset((char*)info->mem + (info->num_items - 1) * info->block_size,
2375 0, info->block_size);
2376 info->num_items--;
2377 return TRUE;
2378}
#define 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 2305 of file ordinal.c.

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

◆ FDSA_Initialize()

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

Definition at line 2279 of file ordinal.c.

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

◆ FDSA_InsertItem()

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

Definition at line 2323 of file ordinal.c.

2324{
2325 TRACE("(%p 0x%08x %p)\n", info, where, block);
2326 if(where > info->num_items)
2327 where = info->num_items;
2328
2329 if(info->num_items >= info->blocks_alloced)
2330 {
2331 DWORD size = (info->blocks_alloced + info->inc) * info->block_size;
2332 if(info->flags & 0x1)
2334 else
2335 {
2336 void *old_mem = info->mem;
2338 memcpy(info->mem, old_mem, info->blocks_alloced * info->block_size);
2339 }
2340 info->blocks_alloced += info->inc;
2341 info->flags |= 0x1;
2342 }
2343
2344 if(where < info->num_items)
2345 {
2346 memmove((char*)info->mem + (where + 1) * info->block_size,
2347 (char*)info->mem + where * info->block_size,
2348 (info->num_items - where) * info->block_size);
2349 }
2350 memcpy((char*)info->mem + where * info->block_size, block, info->block_size);
2351
2352 info->num_items++;
2353 return where;
2354}
#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 4428 of file ordinal.c.

4429{
4430 while (*lpwstr)
4431 {
4432 if (*lpwstr == '/')
4433 *lpwstr = '\\';
4434 lpwstr++;
4435 }
4436}

Referenced by PathQualifyExW().

◆ GetAcceptLanguagesA()

HRESULT WINAPI GetAcceptLanguagesA ( LPSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 570 of file ordinal.c.

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

Referenced by init_pointers().

◆ GetAcceptLanguagesW()

HRESULT WINAPI GetAcceptLanguagesW ( LPWSTR  langbuf,
LPDWORD  buflen 
)

Definition at line 511 of file ordinal.c.

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

Referenced by GetAcceptLanguagesA().

◆ GetFileVersionInfoSizeWrapW()

DWORD WINAPI GetFileVersionInfoSizeWrapW ( LPCWSTR  filename,
LPDWORD  handle 
)

Definition at line 3417 of file ordinal.c.

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

◆ GetFileVersionInfoWrapW()

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

Definition at line 3427 of file ordinal.c.

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

◆ GetMenuPosFromID()

INT WINAPI GetMenuPosFromID ( HMENU  hMenu,
UINT  wID 
)

Definition at line 4391 of file ordinal.c.

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

Referenced by SHMenuIndexFromID().

◆ GetOpenFileNameWrapW()

BOOL WINAPI GetOpenFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3759 of file ordinal.c.

3760{
3761 return GetOpenFileNameW(ofn);
3762}
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
Definition: filedlg.c:4677
OPENFILENAME ofn
Definition: sndrec32.cpp:56

◆ GetSaveFileNameWrapW()

BOOL WINAPI GetSaveFileNameWrapW ( LPOPENFILENAMEW  ofn)

Definition at line 3708 of file ordinal.c.

3709{
3710 return GetSaveFileNameW(ofn);
3711}
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
Definition: filedlg.c:4742

◆ GetShellSecurityDescriptor()

PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor ( const PSHELL_USER_PERMISSION apUserPerm,
int  cUserPerm 
)

Definition at line 4955 of file ordinal.c.

4956{
4957 PSID *sidlist;
4958 PSID cur_user = NULL;
4959 BYTE tuUser[2000];
4960 DWORD acl_size;
4961 int sid_count, i;
4963
4964 TRACE("%p %d\n", apUserPerm, cUserPerm);
4965
4966 if (apUserPerm == NULL || cUserPerm <= 0)
4967 return NULL;
4968
4969 sidlist = HeapAlloc(GetProcessHeap(), 0, cUserPerm * sizeof(PSID));
4970 if (!sidlist)
4971 return NULL;
4972
4973 acl_size = sizeof(ACL);
4974
4975 for(sid_count = 0; sid_count < cUserPerm; sid_count++)
4976 {
4977 static SHELL_USER_SID null_sid = {{SECURITY_NULL_SID_AUTHORITY}, 0, 0};
4978 PSHELL_USER_PERMISSION perm = apUserPerm[sid_count];
4979 PSHELL_USER_SID sid = &perm->susID;
4980 PSID pSid;
4981 BOOL ret = TRUE;
4982
4983 if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID)))
4984 { /* current user's SID */
4985 if (!cur_user)
4986 {
4987 HANDLE Token;
4988 DWORD bufsize = sizeof(tuUser);
4989
4991 if (ret)
4992 {
4993 ret = GetTokenInformation(Token, TokenUser, (void*)tuUser, bufsize, &bufsize );
4994 if (ret)
4995 cur_user = ((PTOKEN_USER)tuUser)->User.Sid;
4997 }
4998 }
4999 pSid = cur_user;
5000 } else if (sid->dwUserID==0) /* one sub-authority */
5001 ret = AllocateAndInitializeSid(&sid->sidAuthority, 1, sid->dwUserGroupID, 0,
5002 0, 0, 0, 0, 0, 0, &pSid);
5003 else
5004 ret = AllocateAndInitializeSid(&sid->sidAuthority, 2, sid->dwUserGroupID, sid->dwUserID,
5005 0, 0, 0, 0, 0, 0, &pSid);
5006 if (!ret)
5007 goto free_sids;
5008
5009 sidlist[sid_count] = pSid;
5010 /* increment acl_size (1 ACE for non-inheritable and 2 ACEs for inheritable records */
5011 acl_size += (sizeof(ACCESS_ALLOWED_ACE)-sizeof(DWORD) + GetLengthSid(pSid)) * (perm->fInherit ? 2 : 1);
5012 }
5013
5014 psd = LocalAlloc(0, sizeof(SECURITY_DESCRIPTOR) + acl_size);
5015
5016 if (psd != NULL)
5017 {
5018 PACL pAcl = (PACL)(((BYTE*)psd)+sizeof(SECURITY_DESCRIPTOR));
5019
5021 goto error;
5022
5023 if (!InitializeAcl(pAcl, acl_size, ACL_REVISION))
5024 goto error;
5025
5026 for(i = 0; i < sid_count; i++)
5027 {
5028 PSHELL_USER_PERMISSION sup = apUserPerm[i];
5029 PSID sid = sidlist[i];
5030
5031 switch(sup->dwAccessType)
5032 {
5035 goto error;
5036 if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION,
5038 goto error;
5039 break;
5042 goto error;
5043 if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION,
5045 goto error;
5046 break;
5047 default:
5048 goto error;
5049 }
5050 }
5051
5052 if (!SetSecurityDescriptorDacl(psd, TRUE, pAcl, FALSE))
5053 goto error;
5054 }
5055 goto free_sids;
5056
5057error:
5058 LocalFree(psd);
5059 psd = NULL;
5060free_sids:
5061 for(i = 0; i < sid_count; i++)
5062 {
5063 if (!cur_user || sidlist[i] != cur_user)
5064 FreeSid(sidlist[i]);
5065 }
5066 HeapFree(GetProcessHeap(), 0, sidlist);
5067
5068 return psd;
5069}
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:413
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:296
BOOL WINAPI AddAccessDeniedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:1116
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:676
BOOL WINAPI InitializeAcl(PACL pAcl, DWORD nAclLength, DWORD dwAclRevision)
Definition: security.c:1008
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision)
Definition: security.c:931
BOOL WINAPI AddAccessAllowedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:1041
BOOL WINAPI AddAccessAllowedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
Definition: security.c:1065
DWORD WINAPI GetLengthSid(PSID pSid)
Definition: security.c:921
PVOID WINAPI FreeSid(PSID pSid)
Definition: security.c:700
BOOL WINAPI AddAccessDeniedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
Definition: security.c:1092
#define CloseHandle
Definition: compat.h:739
#define GetCurrentProcess()
Definition: compat.h:759
unsigned int BOOL
Definition: ntddk_ex.h:94
GLenum GLuint GLsizei bufsize
Definition: glext.h:7473
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1390
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
#define error(str)
Definition: mkdosfs.c:1605
static PSID pSid
Definition: security.c:74
struct _ACL ACL
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
struct _ACL * PACL
Definition: security.c:105
struct _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE
BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted)
Definition: sec.c:262
SHELL_USER_SID susID
Definition: ordinal.c:4930
int ret
struct _TOKEN_USER * PTOKEN_USER
#define ACCESS_ALLOWED_ACE_TYPE
Definition: setypes.h:717
#define TOKEN_QUERY
Definition: setypes.h:924
@ TokenUser
Definition: setypes.h:962
#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 776 of file ordinal.c.

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

◆ GetUIVersion()

DWORD WINAPI GetUIVersion ( void  )

Definition at line 4805 of file ordinal.c.

4806{
4807 static DWORD version;
4808
4809 if (!version)
4810 {
4811 DllGetVersion_func pDllGetVersion;
4812 HMODULE dll = LoadLibraryA("shell32.dll");
4813 if (!dll) return 0;
4814
4815 pDllGetVersion = (DllGetVersion_func)GetProcAddress(dll, "DllGetVersion");
4816 if (pDllGetVersion)
4817 {
4818 DLLVERSIONINFO dvi;
4819 dvi.cbSize = sizeof(DLLVERSIONINFO);
4820 if (pDllGetVersion(&dvi) == S_OK) version = dvi.dwMajorVersion;
4821 }
4822 FreeLibrary( dll );
4823 if (!version) version = 3; /* old shell dlls don't have DllGetVersion */
4824 }
4825 return version;
4826}
#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:4800
static HMODULE dll
Definition: str.c:188
struct _DllVersionInfo DLLVERSIONINFO
DWORD dwMajorVersion
Definition: shlwapi.h:1955

◆ GUIDFromStringA()

BOOL WINAPI GUIDFromStringA ( LPCSTR  idstr,
CLSID id 
)

Definition at line 2830 of file ordinal.c.

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

Referenced by init_pointers().

◆ GUIDFromStringW()

BOOL WINAPI GUIDFromStringW ( LPCWSTR  idstr,
CLSID id 
)

Definition at line 2842 of file ordinal.c.

2843{
2844 return SUCCEEDED(CLSIDFromString((LPCOLESTR)idstr, id));
2845}

◆ IConnectionPoint_InvokeWithCancel()

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

Definition at line 3094 of file ordinal.c.

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

Referenced by init_pointers().

◆ IConnectionPoint_OnChanged()

HRESULT WINAPI IConnectionPoint_OnChanged ( IConnectionPoint lpCP,
DISPID  dispID 
)

Definition at line 3151 of file ordinal.c.

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

Referenced by IUnknown_CPContainerOnChanged().

◆ IConnectionPoint_SimpleInvoke()

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

Definition at line 3118 of file ordinal.c.

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

Referenced by init_pointers().

◆ IsCharBlankW()

BOOL WINAPI IsCharBlankW ( WCHAR  wc)

Definition at line 689 of file ordinal.c.

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

◆ IsCharCntrlW()

BOOL WINAPI IsCharCntrlW ( WCHAR  wc)

Definition at line 727 of file ordinal.c.

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

◆ IsCharDigitW()

BOOL WINAPI IsCharDigitW ( WCHAR  wc)

Definition at line 746 of file ordinal.c.

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

◆ IsCharPunctW()

BOOL WINAPI IsCharPunctW ( WCHAR  wc)

Definition at line 708 of file ordinal.c.

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

◆ IsCharXDigitW()

BOOL WINAPI IsCharXDigitW ( WCHAR  wc)

Definition at line 765 of file ordinal.c.

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

◆ IsOS()

BOOL WINAPI IsOS ( DWORD  feature)

Definition at line 4005 of file ordinal.c.

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

◆ IsQSForward()

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

Definition at line 2228 of file ordinal.c.

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

◆ IUnknown_AtomicRelease()

void WINAPI IUnknown_AtomicRelease ( IUnknown **  lpUnknown)

Definition at line 1238 of file ordinal.c.

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

Referenced by IUnknown_Set(), and SHWeakReleaseInterface().

◆ IUnknown_CPContainerInvokeParam()

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

Definition at line 3190 of file ordinal.c.

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

◆ IUnknown_CPContainerOnChanged()

HRESULT WINAPI IUnknown_CPContainerOnChanged ( IUnknown lpUnknown,
DISPID  dispID 
)

Definition at line 3239 of file ordinal.c.

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

◆ IUnknown_EnableModeless()

HRESULT WINAPI IUnknown_EnableModeless ( IUnknown lpUnknown,
BOOL  bModeless 
)

Definition at line 3467 of file ordinal.c.

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

◆ IUnknown_Exec()

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

Definition at line 1080 of file ordinal.c.

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

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

◆ IUnknown_GetClassID()

HRESULT WINAPI IUnknown_GetClassID ( IUnknown lpUnknown,
CLSID clsid 
)

Definition at line 1450 of file ordinal.c.

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

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

◆ IUnknown_GetSite()

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

Definition at line 2593 of file ordinal.c.

2594{
2595 HRESULT hRet = E_INVALIDARG;
2596 LPOBJECTWITHSITE lpSite = NULL;
2597
2598 TRACE("(%p,%s,%p)\n", lpUnknown, debugstr_guid(iid), lppSite);
2599
2600 if (lpUnknown && iid && lppSite)
2601 {
2602 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IObjectWithSite,
2603 (void**)&lpSite);
2604 if (SUCCEEDED(hRet) && lpSite)
2605 {
2606 hRet = IObjectWithSite_GetSite(lpSite, iid, lppSite);
2607 IObjectWithSite_Release(lpSite);
2608 }
2609 }
2610 return hRet;
2611}
#define E_INVALIDARG
Definition: ddrawi.h:101
#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 1329 of file ordinal.c.

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

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

◆ IUnknown_HandleIRestrict()

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

Definition at line 1946 of file ordinal.c.

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

◆ IUnknown_HasFocusIO()

HRESULT WINAPI IUnknown_HasFocusIO ( IUnknown lpUnknown)

Definition at line 4209 of file ordinal.c.

4210{
4211 IInputObject* lpInput = NULL;
4212 HRESULT hRet = E_INVALIDARG;
4213
4214 TRACE("(%p)\n", lpUnknown);
4215 if (lpUnknown)
4216 {
4217 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4218 (void**)&lpInput);
4219 if (SUCCEEDED(hRet) && lpInput)
4220 {
4221 hRet = IInputObject_HasFocusIO(lpInput);
4222 IInputObject_Release(lpInput);
4223 }
4224 }
4225 return hRet;
4226}
#define IInputObject_HasFocusIO(p)
Definition: shlobj.h:641
#define IInputObject_Release(p)
Definition: shlobj.h:638

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

4680{
4681 IInputObjectSite *pIOS = NULL;
4682 HRESULT hRet = E_INVALIDARG;
4683
4684 TRACE("(%p, %p, %s)\n", lpUnknown, pFocusObject, bFocus ? "TRUE" : "FALSE");
4685
4686 if (lpUnknown)
4687 {
4688 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObjectSite,
4689 (void **)&pIOS);
4690 if (SUCCEEDED(hRet) && pIOS)
4691 {
4692 hRet = IInputObjectSite_OnFocusChangeIS(pIOS, pFocusObject, bFocus);
4694 }
4695 }
4696 return hRet;
4697}
#define IInputObjectSite_Release(p)
Definition: shlobj.h:662
#define IInputObjectSite_OnFocusChangeIS(p, a, b)
Definition: shlobj.h:664

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

◆ IUnknown_OnFocusOCS()

HRESULT WINAPI IUnknown_OnFocusOCS ( IUnknown lpUnknown,
BOOL  fGotFocus 
)

Definition at line 1924 of file ordinal.c.

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

◆ IUnknown_ProfferService()

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

Definition at line 1585 of file ordinal.c.

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

Referenced by init_pointers().

◆ IUnknown_QueryService()

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

Definition at line 1494 of file ordinal.c.

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

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

◆ IUnknown_QueryServiceExec()

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

Definition at line 1546 of file ordinal.c.

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

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

◆ IUnknown_QueryServiceForWebBrowserApp()

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

Definition at line 5285 of file ordinal.c.

5287{
5288 FIXME("%p %s %p semi-STUB\n", lpUnknown, debugstr_guid(riid), lppOut);
5289 return IUnknown_QueryService(lpUnknown,&IID_IWebBrowserApp,riid,lppOut);
5290}

◆ IUnknown_QueryStatus()

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

Definition at line 1041 of file ordinal.c.

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

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

◆ IUnknown_Set()

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

Definition at line 2183 of file ordinal.c.

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

◆ IUnknown_SetOwner()

HRESULT WINAPI IUnknown_SetOwner ( IUnknown iface,
IUnknown pUnk 
)

Definition at line 1378 of file ordinal.c.

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

Referenced by CTrayBandSite::AddContextMenus().

◆ IUnknown_SetSite()

HRESULT WINAPI IUnknown_SetSite ( IUnknown obj,
IUnknown site 
)

Definition at line 1404 of file ordinal.c.

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

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

◆ IUnknown_TranslateAcceleratorIO()

HRESULT WINAPI IUnknown_TranslateAcceleratorIO ( IUnknown lpUnknown,
LPMSG  lpMsg 
)

Definition at line 4177 of file ordinal.c.

4178{
4179 IInputObject* lpInput = NULL;
4180 HRESULT hRet = E_INVALIDARG;
4181
4182 TRACE("(%p,%p)\n", lpUnknown, lpMsg);
4183 if (lpUnknown)
4184 {
4185 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4186 (void**)&lpInput);
4187 if (SUCCEEDED(hRet) && lpInput)
4188 {
4189 hRet = IInputObject_TranslateAcceleratorIO(lpInput, lpMsg);
4190 IInputObject_Release(lpInput);
4191 }
4192 }
4193 return hRet;
4194}
#define IInputObject_TranslateAcceleratorIO(p, a)
Definition: shlobj.h:642

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

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

◆ IUnknown_UIActivateIO()

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

Definition at line 1626 of file ordinal.c.

1627{
1628 IInputObject* object = NULL;
1629 HRESULT ret;
1630
1631 if (!unknown)
1632 return E_FAIL;
1633
1634 /* Get an IInputObject interface from the object */
1635 ret = IUnknown_QueryInterface(unknown, &IID_IInputObject, (LPVOID*) &object);
1636
1637 if (ret == S_OK)
1638 {
1639 ret = IInputObject_UIActivateIO(object, activate, msg);
1640 IInputObject_Release(object);
1641 }
1642
1643 return ret;
1644}
#define 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:640

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

◆ MayExecForward()

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

Definition at line 2215 of file ordinal.c.

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

◆ MayQSForward()

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

Definition at line 2200 of file ordinal.c.

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

◆ MLClearMLHInstance()

DWORD WINAPI MLClearMLHInstance ( DWORD  x)

Definition at line 3946 of file ordinal.c.

3947{
3948 FIXME("(0x%08x)stub\n", x);
3949 return 0xabba1247;
3950}

◆ MLFreeLibrary()

BOOL WINAPI MLFreeLibrary ( HMODULE  hModule)

Definition at line 3909 of file ordinal.c.

3910{
3911 FIXME("(%p) semi-stub\n", hModule);
3912 return FreeLibrary(hModule);
3913}
HMODULE hModule
Definition: animate.c:44

Referenced by MLBuildResURLW().

◆ MLIsMLHInstance()

BOOL WINAPI MLIsMLHInstance ( HINSTANCE  hInst)

Definition at line 3927 of file ordinal.c.

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

◆ MLLoadLibraryA()

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

Definition at line 3610 of file ordinal.c.

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

◆ MLLoadLibraryW()

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

Definition at line 3652 of file ordinal.c.

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

Referenced by MLBuildResURLW().

◆ MLSetMLHInstance()

DWORD WINAPI MLSetMLHInstance ( HINSTANCE  hInst,
HANDLE  hHeap 
)

Definition at line 3937 of file ordinal.c.

3938{
3939 FIXME("(%p,%p) stub\n", hInst, hHeap);
3940 return E_FAIL; /* This is what is used if shlwapi not loaded */
3941}

◆ PageSetupDlgWrapW()

BOOL WINAPI PageSetupDlgWrapW ( LPPAGESETUPDLGW  pagedlg)

Definition at line 3739 of file ordinal.c.

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

◆ PathSkipLeadingSlashesA()

LPCSTR WINAPI PathSkipLeadingSlashesA ( LPCSTR  lpszSrc)

Definition at line 1262 of file ordinal.c.

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

◆ PlaySoundWrapW()

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

Definition at line 3267 of file ordinal.c.

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

◆ PrintDlgWrapW()

BOOL WINAPI PrintDlgWrapW ( LPPRINTDLGW  printdlg)

Definition at line 3749 of file ordinal.c.

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

◆ QISearch()

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

Definition at line 2389 of file ordinal.c.

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

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

◆ RegisterDefaultAcceptHeaders()

HRESULT WINAPI RegisterDefaultAcceptHeaders ( LPBC  lpBC,
IUnknown lpUnknown 
)

Definition at line 341 of file ordinal.c.

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

◆ SHAboutInfoA()

BOOL WINAPI SHAboutInfoA ( LPSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 908 of file ordinal.c.

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

◆ SHAboutInfoW()

BOOL WINAPI SHAboutInfoW ( LPWSTR  lpszDest,
DWORD  dwDestLen 
)

Definition at line 927 of file ordinal.c.

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

Referenced by SHAboutInfoA().

◆ SHAllocShared()

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

Definition at line 162 of file ordinal.c.

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

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

◆ SHBrowseForFolderWrapW()

LPITEMIDLIST WINAPI SHBrowseForFolderWrapW ( LPBROWSEINFOW  lpBi)

Definition at line 3368 of file ordinal.c.

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

◆ SHChangeNotifyWrap()

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

Definition at line 4918 of file ordinal.c.

4919{
4920 SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2);
4921}
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 1793 of file ordinal.c.

1794{
1795 TRACE("%p, %u, %d\n", hMenu, uID, bCheck);
1796 return CheckMenuItem(hMenu, uID, bCheck ? MF_CHECKED : MF_UNCHECKED);
1797}
#define MF_CHECKED
Definition: winuser.h:132
#define 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 4452 of file ordinal.c.

4454{
4455 return CoCreateInstance(rclsid, pUnkOuter, dwClsContext, iid, ppv);
4456}
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 5088 of file ordinal.c.

5090{
5091 FIXME("%p %s %d %s %p STUB\n", hKey, debugstr_w(subkey), grfMode,
5093
5094 return E_NOTIMPL;
5095}
#define E_NOTIMPL
Definition: ddrawi.h:99
FxAutoRegKey hKey

◆ SHCreateShellPalette()

HPALETTE WINAPI SHCreateShellPalette ( HDC  hdc)

Definition at line 4309 of file ordinal.c.

4310{
4311 FIXME("stub\n");
4312 return CreateHalftonePalette(hdc);
4313}
HDC hdc
Definition: main.c:9
HPALETTE WINAPI CreateHalftonePalette(_In_opt_ HDC)

◆ SHCreateWorkerWindowA()

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

Definition at line 2630 of file ordinal.c.

2632{
2633 static const char szClass[] = "WorkerA";
2634 WNDCLASSA wc;
2635 HWND hWnd;
2636
2637 TRACE("(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2638 wndProc, hWndParent, dwExStyle, dwStyle, hMenu, wnd_extra);
2639
2640 /* Create Window class */
2641 wc.style = 0;
2643 wc.cbClsExtra = 0;
2644 wc.cbWndExtra = sizeof(LONG_PTR);
2646 wc.hIcon = NULL;
2648 wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2649 wc.lpszMenuName = NULL;
2650 wc.lpszClassName = szClass;
2651
2652 SHRegisterClassA(&wc);
2653
2654 hWnd = CreateWindowExA(dwExStyle, szClass, 0, dwStyle, 0, 0, 0, 0,
2655 hWndParent, hMenu, shlwapi_hInstance, 0);
2656 if (hWnd)
2657 {
2658 SetWindowLongPtrW(hWnd, 0, wnd_extra);
2660 }
2661
2662 return hWnd;
2663}
HWND hWnd
Definition: settings.c:17
HINSTANCE shlwapi_hInstance
Definition: shlwapi_main.c:33
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
Definition: ordinal.c:1810
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imm32.c:183
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
HBRUSH hbrBackground
Definition: winuser.h:3160
HICON hIcon
Definition: winuser.h:3158
HINSTANCE hInstance
Definition: winuser.h:3157
HCURSOR hCursor
Definition: winuser.h:3159
int cbWndExtra
Definition: winuser.h:3156
UINT style
Definition: winuser.h:3153
LPCSTR lpszMenuName
Definition: winuser.h:3161
LPCSTR lpszClassName
Definition: winuser.h:3162
WNDPROC lpfnWndProc
Definition: winuser.h:3154
int cbClsExtra
Definition: winuser.h:3155
#define LONG_PTR
Definition: treelist.c:79
#define GWLP_WNDPROC
Definition: treelist.c:66
#define SetWindowLongPtrA
Definition: winuser.h:5335
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:682
#define SetWindowLongPtrW
Definition: winuser.h:5336
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2059
#define COLOR_BTNFACE
Definition: winuser.h:922

Referenced by init_pointers(), and SHCreateWorkerWindowW().

◆ SHCreateWorkerWindowW()

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

Definition at line 2918 of file ordinal.c.

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

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

◆ SHDefExtractIconWrapW()

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

Definition at line 3510 of file ordinal.c.

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

◆ SHDefWindowProc()

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

Definition at line 2583 of file ordinal.c.

2584{
2585 if (IsWindowUnicode(hWnd))
2586 return DefWindowProcW(hWnd, uMessage, wParam, lParam);
2587 return DefWindowProcA(hWnd, uMessage, wParam, lParam);
2588}
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 3388 of file ordinal.c.

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

◆ ShellMessageBoxWrapW()

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

Definition at line 4853 of file ordinal.c.

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

◆ SHEnableMenuItem()

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

Definition at line 1774 of file ordinal.c.

1775{
1776 TRACE("%p, %u, %d\n", hMenu, wItemID, bEnable);
1777 return EnableMenuItem(hMenu, wItemID, bEnable ? MF_ENABLED : MF_GRAYED);
1778}
_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 3398 of file ordinal.c.

3399{
3400 return SHFileOperationW(lpFileOp);
3401}
int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
Definition: shlfileop.cpp:1982

◆ SHFillRectClr()

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

Definition at line 2126 of file ordinal.c.

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

◆ SHFlushSFCacheWrap()

BOOL WINAPI SHFlushSFCacheWrap ( void  )

Definition at line 3918 of file ordinal.c.

3918 {
3919 FIXME(": stub\n");
3920 return TRUE;
3921}

◆ SHFormatDateTimeA()

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

Definition at line 5205 of file ordinal.c.

5207{
5208 WCHAR *bufW;
5209 INT retval;
5210
5211 if (!buf || !size)
5212 return 0;
5213
5214 bufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * size);
5215 retval = SHFormatDateTimeW(fileTime, flags, bufW, size);
5216
5217 if (retval != 0)
5218 WideCharToMultiByte(CP_ACP, 0, bufW, -1, buf, size, NULL, NULL);
5219
5220 HeapFree(GetProcessHeap(), 0, bufW);
5221 return retval;
5222}
SYSTEMTIME fileTime
Definition: dib.cpp:15
INT WINAPI SHFormatDateTimeW(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
Definition: ordinal.c:5140
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLbitfield flags
Definition: glext.h:7161

Referenced by init_pointers().

◆ SHFormatDateTimeW()

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

Definition at line 5140 of file ordinal.c.

5142{
5143#define SHFORMATDT_UNSUPPORTED_FLAGS (FDTF_RELATIVE | FDTF_LTRDATE | FDTF_RTLDATE | FDTF_NOAUTOREADINGORDER)
5144 DWORD fmt_flags = flags ? *flags : FDTF_DEFAULT;
5145 SYSTEMTIME st;
5146 FILETIME ft;
5147 INT ret = 0;
5148
5149 TRACE("%p %p %p %u\n", fileTime, flags, buf, size);
5150
5151 if (!buf || !size)
5152 return 0;
5153
5154 if (fmt_flags & SHFORMATDT_UNSUPPORTED_FLAGS)
5155 FIXME("ignoring some flags - 0x%08x\n", fmt_flags & SHFORMATDT_UNSUPPORTED_FLAGS);
5156
5158 FileTimeToSystemTime(&ft, &st);
5159
5160 /* first of all date */
5161 if (fmt_flags & (FDTF_LONGDATE | FDTF_SHORTDATE))
5162 {
5163 static const WCHAR sep1[] = {',',' ',0};
5164 static const WCHAR sep2[] = {' ',0};
5165
5168 if (ret >= size) return ret;
5169
5170 /* add separator */
5171 if (ret < size && (fmt_flags & (FDTF_LONGTIME | FDTF_SHORTTIME)))
5172 {
5173 if ((fmt_flags & FDTF_LONGDATE) && (ret < size + 2))
5174 {
5175 lstrcatW(&buf[ret-1], sep1);
5176 ret += 2;
5177 }
5178 else
5179 {
5180 lstrcatW(&buf[ret-1], sep2);
5181 ret++;
5182 }
5183 }
5184 }
5185 /* time part */
5186 if (fmt_flags & (FDTF_LONGTIME | FDTF_SHORTTIME))
5187 {
5188 DWORD time = fmt_flags & FDTF_LONGTIME ? 0 : TIME_NOSECONDS;
5189
5190 if (ret) ret--;
5192 }
5193
5194 return ret;
5195
5196#undef SHFORMATDT_UNSUPPORTED_FLAGS
5197}
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:1079
INT WINAPI GetDateFormatW(LCID lcid, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpDateStr, INT cchOut)
Definition: lcformat.c:979
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
__u16 date
Definition: mkdosfs.c:8
__u16 time
Definition: mkdosfs.c:8
#define LOCALE_USER_DEFAULT
#define FDTF_SHORTTIME
Definition: shlwapi.h:2061
#define FDTF_LONGDATE
Definition: shlwapi.h:2064
#define FDTF_DEFAULT
Definition: shlwapi.h:2063
#define FDTF_LONGTIME
Definition: shlwapi.h:2065
#define FDTF_SHORTDATE
Definition: shlwapi.h:2062
#define TIME_NOSECONDS
Definition: winnls.h:278
#define DATE_LONGDATE
Definition: winnls.h:197
#define DATE_SHORTDATE
Definition: winnls.h:196

Referenced by init_pointers(), and SHFormatDateTimeA().

◆ SHFreeShared()

BOOL WINAPI SHFreeShared ( HANDLE  hShared,
DWORD  dwProcId 
)

Definition at line 308 of file ordinal.c.

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

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

◆ SHGetAppCompatFlags()

DWORD WINAPI SHGetAppCompatFlags ( DWORD  dwUnknown)

Definition at line 4442 of file ordinal.c.

4443{
4444 FIXME("(0x%08x) stub\n", dwUnknown);
4445 return 0;
4446}

◆ SHGetCurColorRes()

DWORD WINAPI SHGetCurColorRes ( void  )

Definition at line 2016 of file ordinal.c.

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

Referenced by CBrandBand::SelectImage().

◆ SHGetFileInfoWrapW()

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

Definition at line 3347 of file ordinal.c.

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

◆ SHGetIniStringW()

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

Definition at line 3288 of file ordinal.c.

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

Referenced by init_pointers().

◆ SHGetInverseCMAP()

HRESULT WINAPI SHGetInverseCMAP ( LPDWORD  dest,
DWORD  dwSize 
)

Definition at line 4337 of file ordinal.c.

4338{
4339 if (dwSize == 4) {
4340 FIXME(" - returning bogus address for SHGetInverseCMAP\n");
4341 *dest = (DWORD)0xabba1249;
4342 return 0;
4343 }
4344 FIXME("(%p, %#x) stub\n", dest, dwSize);
4345 return 0;
4346}
static char * dest
Definition: rtl.c:135
#define DWORD
Definition: nt_native.h:44

◆ SHGetMachineInfo()

DWORD WINAPI SHGetMachineInfo ( DWORD  dwFlags)

Definition at line 3856 of file ordinal.c.

3857{
3858 HW_PROFILE_INFOA hwInfo;
3859
3860 TRACE("(0x%08x)\n", dwFlags);
3861
3862 GetCurrentHwProfileA(&hwInfo);
3863 switch (hwInfo.dwDockInfo & (DOCKINFO_DOCKED|DOCKINFO_UNDOCKED))
3864 {
3865 case DOCKINFO_DOCKED:
3866 case DOCKINFO_UNDOCKED:
3868 default:
3869 return 0;
3870 }
3871}
BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA lpHwProfileInfo)
Definition: hwprofiles.c:28
#define DOCKINFO_DOCKED
Definition: winbase.h:247
#define DOCKINFO_UNDOCKED
Definition: winbase.h:246
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ SHGetMenuFromID()

HMENU WINAPI SHGetMenuFromID ( HMENU  hMenu,
UINT  uID 
)

Definition at line 1990 of file ordinal.c.

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

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

3501{
3502 return SHGetNewLinkInfoW(pszLinkTo, pszDir, pszName, pfMustCopy, uFlags);
3503}
_In_ LPCSTR pszDir
Definition: shellapi.h:581
_In_ LPCSTR _Out_ BOOL * pfMustCopy
Definition: shellapi.h:583
BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
Definition: shellord.c:2301

◆ SHGetObjectCompatFlags()

DWORD WINAPI SHGetObjectCompatFlags ( IUnknown pUnk,
const CLSID clsid 
)

Definition at line 5428 of file ordinal.c.

5429{
5430 static const WCHAR compatpathW[] =
5431 {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
5432 'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
5433 'S','h','e','l','l','C','o','m','p','a','t','i','b','i','l','i','t','y','\\',
5434 'O','b','j','e','c','t','s','\\','%','s',0};
5435 WCHAR strW[sizeof(compatpathW)/sizeof(WCHAR) + 38 /* { CLSID } */];
5436 DWORD ret, length = sizeof(strW)/sizeof(WCHAR);
5437 OLECHAR *clsid_str;
5438 HKEY key;
5439 INT i;
5440
5441 TRACE("%p %s\n", pUnk, debugstr_guid(clsid));
5442
5443 if (!pUnk && !clsid) return 0;
5444
5445 if (pUnk && !clsid)
5446 {
5447 FIXME("iface not handled\n");
5448 return 0;
5449 }
5450
5451 StringFromCLSID(clsid, &clsid_str);
5452 sprintfW(strW, compatpathW, clsid_str);
5453 CoTaskMemFree(clsid_str);
5454
5456 if (ret != ERROR_SUCCESS) return 0;
5457
5458 /* now collect flag values */
5459 ret = 0;
5460 for (i = 0; RegEnumValueW(key, i, strW, &length, NULL, NULL, NULL, NULL) == ERROR_SUCCESS; i++)
5461 {
5462 INT left, right, res, x;
5463
5464 /* search in table */
5465 left = 0;
5466 right = sizeof(objcompat_table) / sizeof(struct objcompat_entry) - 1;
5467
5468 while (right >= left) {
5469 x = (left + right) / 2;
5471 if (res == 0)
5472 {
5473 ret |= objcompat_table[x].value;
5474 break;
5475 }
5476 else if (res < 0)
5477 right = x - 1;
5478 else
5479 left = x + 1;
5480 }
5481
5482 length = sizeof(strW)/sizeof(WCHAR);
5483 }
5484
5485 return ret;
5486}
#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:2853
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:5386
GLuint res
Definition: glext.h:9613
GLdouble GLdouble right
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
WCHAR strW[12]
Definition: clipboard.c:2029
#define strcmpW(s1, s2)
Definition: unicode.h:38
#define sprintfW
Definition: unicode.h:58
Definition: copy.c:22
Definition: name.c:39
Definition: ordinal.c:5380

Referenced by init_pointers().

◆ SHGetPathFromIDListWrapW()

BOOL WINAPI SHGetPathFromIDListWrapW ( LPCITEMIDLIST  pidl,
LPWSTR  pszPath 
)

Definition at line 3378 of file ordinal.c.

3379{
3380 return SHGetPathFromIDListW(pidl, pszPath);
3381}
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1294

◆ SHGetRestriction()

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

Definition at line 2693 of file ordinal.c.

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

Referenced by SHRestrictionLookup().

◆ SHGetShellKey()

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

Definition at line 4499 of file ordinal.c.

4500{
4501 enum _shellkey_flags {
4502 SHKEY_Root_HKCU = 0x1,
4503 SHKEY_Root_HKLM = 0x2,
4504 SHKEY_Key_Explorer = 0x00,
4505 SHKEY_Key_Shell = 0x10,
4506 SHKEY_Key_ShellNoRoam = 0x20,
4507 SHKEY_Key_Classes = 0x30,
4508 SHKEY_Subkey_Default = 0x0000,
4510 SHKEY_Subkey_Handlers = 0x2000,
4512 SHKEY_Subkey_Volatile = 0x4000,
4513 SHKEY_Subkey_MUICache = 0x5000,
4514 SHKEY_Subkey_FileExts = 0x6000
4515 };
4516
4517 static const WCHAR explorerW[] = {'S','o','f','t','w','a','r','e','\\',
4518 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4519 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
4520 'E','x','p','l','o','r','e','r','\\'};
4521 static const WCHAR shellW[] = {'S','o','f','t','w','a','r','e','\\',
4522 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4523 'S','h','e','l','l','\\'};
4524 static const WCHAR shell_no_roamW[] = {'S','o','f','t','w','a','r','e','\\',
4525 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
4526 'S','h','e','l','l','N','o','R','o','a','m','\\'};
4527 static const WCHAR classesW[] = {'S','o','f','t','w','a','r','e','\\',
4528 'C','l','a','s','s','e','s','\\'};
4529
4530 static const WCHAR localized_resource_nameW[] = {'L','o','c','a','l',