ReactOS 0.4.16-dev-734-g364d6e0
CQueryAssociations.cpp File Reference
#include "precomp.h"
Include dependency graph for CQueryAssociations.cpp:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shell)
 
EXTERN_C HRESULT SHELL32_AssocGetFSDirectoryDescription (PWSTR Buf, UINT cchBuf)
 
static HRESULT GetExtensionDefaultDescription (PCWSTR DotExt, PWSTR Buf, UINT cchBuf)
 
static HRESULT SHELL32_AssocGetExtensionDescription (PCWSTR DotExt, PWSTR Buf, UINT cchBuf)
 
EXTERN_C HRESULT SHELL32_AssocGetFileDescription (PCWSTR Name, PWSTR Buf, UINT cchBuf)
 

Function Documentation

◆ GetExtensionDefaultDescription()

static HRESULT GetExtensionDefaultDescription ( PCWSTR  DotExt,
PWSTR  Buf,
UINT  cchBuf 
)
static

Definition at line 33 of file CQueryAssociations.cpp.

34{
35 static WCHAR fmt[33] = {};
36 if (!*fmt)
38 return StringCchPrintfW(Buf, cchBuf, fmt, DotExt);
39}
#define shell32_hInstance
#define IDS_ANY_FILE
Definition: shresdef.h:184
#define _countof(array)
Definition: sndvol32.h:70
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
Definition: dsound.c:943
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by SHELL32_AssocGetExtensionDescription().

◆ SHELL32_AssocGetExtensionDescription()

static HRESULT SHELL32_AssocGetExtensionDescription ( PCWSTR  DotExt,
PWSTR  Buf,
UINT  cchBuf 
)
static

Definition at line 41 of file CQueryAssociations.cpp.

42{
43 HRESULT hr;
44 if (!DotExt[0] || (!DotExt[1] && DotExt[0] == '.'))
45 {
46 if (SUCCEEDED(hr = GetExtensionDefaultDescription(L"", Buf, cchBuf)))
47 StrTrimW(Buf, L" -"); // Remove the empty %s so we are left with "File"
48 return hr;
49 }
50 HKEY hKey;
52 {
53 DWORD err = RegLoadMUIStringW(hKey, L"FriendlyTypeName", Buf, cchBuf, NULL, 0, NULL);
54 if (err && hr == S_OK) // ProgId default value fallback (but not if we only have a .ext key)
55 {
56 DWORD cb = cchBuf * sizeof(*Buf);
58 }
60 if (!err)
61 return err;
62 }
63 // No information in the registry, default to "UPPERCASEEXT File"
64 WCHAR ext[MAX_PATH + 33];
66 DotExt = ext;
67 return GetExtensionDefaultDescription(DotExt, Buf, cchBuf);
68}
static HRESULT GetExtensionDefaultDescription(PCWSTR DotExt, PWSTR Buf, UINT cchBuf)
#define RegCloseKey(hKey)
Definition: registry.h:49
LONG RegLoadMUIStringW(IN HKEY hKey, IN LPCWSTR pszValue OPTIONAL, OUT LPWSTR pszOutBuf, IN DWORD cbOutBuf, OUT LPDWORD pcbData OPTIONAL, IN DWORD Flags, IN LPCWSTR pszDirectory OPTIONAL)
Definition: muireg.c:53
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:1931
#define MAX_PATH
Definition: compat.h:34
static const WCHAR *const ext[]
Definition: module.c:53
INT WINAPI LCMapStringW(LCID lcid, DWORD flags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen)
Definition: locale.c:3805
#define RRF_RT_REG_SZ
Definition: driver.c:575
BOOL WINAPI StrTrimW(LPWSTR lpszStr, LPCWSTR lpszTrim)
Definition: string.c:1883
unsigned long DWORD
Definition: ntddk_ex.h:95
FxAutoRegKey hKey
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
#define LOCALE_USER_DEFAULT
#define L(x)
Definition: ntvdm.h:50
#define err(...)
HRESULT HCR_GetProgIdKeyOfExtension(PCWSTR szExtension, PHKEY phKey, BOOL AllowFallback)
Definition: classes.c:55
HRESULT hr
Definition: shlfolder.c:183
#define LCMAP_UPPERCASE
Definition: winnls.h:187

Referenced by SHELL32_AssocGetFileDescription().

◆ SHELL32_AssocGetFileDescription()

EXTERN_C HRESULT SHELL32_AssocGetFileDescription ( PCWSTR  Name,
PWSTR  Buf,
UINT  cchBuf 
)

Definition at line 70 of file CQueryAssociations.cpp.

71{
73}
static HRESULT SHELL32_AssocGetExtensionDescription(PCWSTR DotExt, PWSTR Buf, UINT cchBuf)
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
Definition: path.c:447

Referenced by GetItemDescription(), and SHGetFileInfoW().

◆ SHELL32_AssocGetFSDirectoryDescription()

EXTERN_C HRESULT SHELL32_AssocGetFSDirectoryDescription ( PWSTR  Buf,
UINT  cchBuf 
)

Definition at line 25 of file CQueryAssociations.cpp.

26{
27 static WCHAR cache[33] = {};
28 if (!*cache)
30 return StringCchCopyW(Buf, cchBuf, cache);
31}
#define IDS_DIRECTORY
Definition: shresdef.h:158
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:149
Definition: cache.c:49

Referenced by GetItemDescription(), and SHGetFileInfoW().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shell  )