76 lines
3 KiB
C
76 lines
3 KiB
C
|
/*
|
||
|
* comc.h - Shared routines description.
|
||
|
*/
|
||
|
|
||
|
|
||
|
/* Types
|
||
|
********/
|
||
|
|
||
|
/* input flags to MyExecute() */
|
||
|
|
||
|
typedef enum myexecute_in_flags
|
||
|
{
|
||
|
/*
|
||
|
* Adds double quotes around the given argument string on the generated
|
||
|
* command line if the argument string contains any white space.
|
||
|
*/
|
||
|
|
||
|
ME_IFL_QUOTE_ARGS = 0x0001,
|
||
|
|
||
|
/* flag combinations */
|
||
|
|
||
|
ALL_ME_IN_FLAGS = ME_IFL_QUOTE_ARGS
|
||
|
}
|
||
|
MYEXECUTE_IN_FLAGS;
|
||
|
|
||
|
|
||
|
/* Global Variables
|
||
|
*******************/
|
||
|
|
||
|
/* comc.c */
|
||
|
|
||
|
extern const char g_cszWhiteSpace[];
|
||
|
extern const char g_cszSlashes[];
|
||
|
extern const char g_cszPathSeparators[];
|
||
|
extern const char g_cszEditFlags[];
|
||
|
|
||
|
|
||
|
/* Prototypes
|
||
|
*************/
|
||
|
|
||
|
/* comc.c */
|
||
|
|
||
|
extern BOOL DataCopy(PCBYTE pcbyteSrc, ULONG ulcbLen, PBYTE *ppbyteDest);
|
||
|
extern BOOL StringCopy(PCSTR pcszSrc, PSTR *ppszCopy);
|
||
|
extern BOOL GetMIMETypeSubKey(PCSTR pcszMIMEType, PSTR pszSubKeyBuf, UINT ucSubKeyBufLen);
|
||
|
extern BOOL GetMIMEValue(PCSTR pcszMIMEType, PCSTR pcszValue, PDWORD pdwValueType, PBYTE pbyteValueBuf, PDWORD pdwcbValueBufLen);
|
||
|
extern BOOL GetFileTypeValue(PCSTR pcszExtension, PCSTR pcszSubKey, PCSTR pcszValue, PDWORD pdwValueType, PBYTE pbyteValueBuf, PDWORD pdwcbValueBufLen);
|
||
|
extern BOOL GetMIMEFileTypeValue(PCSTR pcszMIMEType, PCSTR pcszSubKey, PCSTR pcszValue, PDWORD pdwValueType, PBYTE pbyteValueBuf, PDWORD pdwcbValueBufLen);
|
||
|
extern BOOL MIME_IsExternalHandlerRegistered(PCSTR pcszMIMEType);
|
||
|
extern BOOL MIME_GetExtension(PCSTR pcszMIMEType, PSTR pszExtensionBuf, UINT ucExtensionBufLen);
|
||
|
extern BOOL MIME_GetMIMETypeFromExtension(PCSTR pcszPath, PSTR pszMIMETypeBuf, UINT ucMIMETypeBufLen);
|
||
|
extern void CatPath(PSTR pszPath, PCSTR pcszSubPath);
|
||
|
extern void MyLStrCpyN(PSTR pszDest, PCSTR pcszSrc, int ncb);
|
||
|
extern COMPARISONRESULT MapIntToComparisonResult(int nResult);
|
||
|
extern void TrimWhiteSpace(PSTR pszTrimMe);
|
||
|
extern void TrimSlashes(PSTR pszTrimMe);
|
||
|
extern void TrimString(PSTR pszTrimMe, PCSTR pszTrimChars);
|
||
|
extern PCSTR ExtractFileName(PCSTR pcszPathName);
|
||
|
extern PCSTR ExtractExtension(PCSTR pcszName);
|
||
|
extern LONG SetRegKeyValue(HKEY hkeyParent, PCSTR pcszSubKey, PCSTR pcszValue, DWORD dwType, PCBYTE lpcbyte, DWORD dwcb);;
|
||
|
extern LONG GetRegKeyValue(HKEY hkeyParent, PCSTR pcszSubKey, PCSTR pcszValue, PDWORD pdwValueType, PBYTE pbyteBuf, PDWORD pdwcbBufLen);
|
||
|
extern LONG GetRegKeyStringValue(HKEY hkeyParent, PCSTR pcszSubKey, PCSTR pcszValue, PSTR pszBuf, PDWORD pdwcbBufLen);
|
||
|
extern LONG GetDefaultRegKeyValue(HKEY hkeyParent, PCSTR pcszSubKey, PSTR pszBuf, PDWORD pdwcbBufLen);
|
||
|
extern HRESULT FullyQualifyPath(PCSTR pcszPath, PSTR pszFullyQualifiedPath, UINT ucFullyQualifiedPathBufLen);
|
||
|
extern HRESULT MyExecute(PCSTR pcszApp, PCSTR pcszArgs, DWORD dwInFlags);
|
||
|
extern BOOL GetClassDefaultVerb(PCSTR pcszClass, PSTR pszDefaultVerbBuf, UINT ucDefaultVerbBufLen);
|
||
|
extern BOOL GetPathDefaultVerb(PCSTR pcszPath, PSTR pszDefaultVerbBuf, UINT ucDefaultVerbBufLen);
|
||
|
extern BOOL ClassIsSafeToOpen(PCSTR pcszClass);
|
||
|
extern BOOL SetClassEditFlags(PCSTR pcszClass, DWORD dwFlags, BOOL bSet);
|
||
|
|
||
|
#ifdef DEBUG
|
||
|
|
||
|
extern BOOL IsFullPath(PCSTR pcszPath);
|
||
|
|
||
|
#endif /* DEBUG */
|