Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
3.1 KiB

  1. #include <objbase.h>
  2. class CHWDeviceInst;
  3. //=============================================================================
  4. HRESULT _GetEventHandlerFromDeviceHandler(LPCWSTR pszDeviceHandler,
  5. LPCWSTR pszEventType, LPWSTR pszEventHandler, DWORD cchEventHandler);
  6. //=============================================================================
  7. HRESULT _GetActionFromHandler(LPCWSTR pszHandler, LPWSTR pszAction,
  8. DWORD cchAction);
  9. HRESULT _GetProviderFromHandler(LPCWSTR pszHandler, LPWSTR pszProvider,
  10. DWORD cchProvider);
  11. HRESULT _GetIconLocationFromHandler(LPCWSTR pszHandler,
  12. LPWSTR pszIconLocation, DWORD cchIconLocation);
  13. HRESULT _GetInvokeProgIDFromHandler(LPCWSTR pszHandler,
  14. LPWSTR pszInvokeProgID, DWORD cchInvokeProgID);
  15. HRESULT _GetInvokeVerbFromHandler(LPCWSTR pszHandler,
  16. LPWSTR pszInvokeVerb, DWORD cchInvokeVerb);
  17. // Uses the CTSTR_ flags in shpriv.idl
  18. HRESULT _GetEventFriendlyName(LPCWSTR pszDeviceID, LPCWSTR pszEventType,
  19. LPWSTR pszFriendlyName, DWORD cchFriendlyName);
  20. HRESULT _GetEventIconLocation(LPCWSTR pszDeviceID, LPCWSTR pszEventType,
  21. LPWSTR pszIconLocation, DWORD cchIconLocation);
  22. //=============================================================================
  23. HRESULT _GetDeviceHandler(CHWDeviceInst* phwdevinst,
  24. LPWSTR pszDeviceHandler, DWORD cchDeviceHandler);
  25. //=============================================================================
  26. HRESULT _GetHandlerCLSID(LPCWSTR pszEventHandler, CLSID* pclsid);
  27. HRESULT _GetHandlerCancelCLSID(LPCWSTR pszHandler, CLSID* pclsid);
  28. HRESULT _GetInitCmdLine(LPCWSTR pszEventHandler, LPWSTR* ppsz);
  29. //=============================================================================
  30. #define GUH_IMPERSONATEUSER TRUE
  31. #define GUH_USEWINSTA0USER FALSE
  32. HRESULT _GetUserDefaultHandler(LPCWSTR pszDeviceID, LPCWSTR pszEventHandler,
  33. LPWSTR pszHandler, DWORD cchHandler, BOOL fImpersonateCaller);
  34. HRESULT _SetUserDefaultHandler(LPCWSTR pszDeviceID, LPCWSTR pszEventHandler,
  35. LPCWSTR pszHandler);
  36. HRESULT _SetSoftUserDefaultHandler(LPCWSTR pszDeviceID,
  37. LPCWSTR pszEventHandler, LPCWSTR pszHandler);
  38. HRESULT _GetHandlerForNoContent(LPCWSTR pszEventHandler, LPWSTR pszHandler,
  39. DWORD cchHandler);
  40. //=============================================================================
  41. HRESULT _FindDeepestSubkeyName(LPCWSTR pszSubKey, CHWDeviceInst* phwdevinst,
  42. LPWSTR pszKey, DWORD cchKey);
  43. //=============================================================================
  44. HRESULT _GetDevicePropertyAsString(CHWDeviceInst* phwdevinst,
  45. LPCWSTR pszPropName, LPCWSTR psz, DWORD cch);
  46. HRESULT _GetDevicePropertyStringNoBuf(CHWDeviceInst* phwdevinst,
  47. LPCWSTR pszPropName, BOOL fUseMergeMultiSz, DWORD* pdwType,
  48. LPWSTR* ppszProp);
  49. HRESULT _GetDevicePropertyGenericAsBlob(CHWDeviceInst* phwdevinst,
  50. LPCWSTR pszPropName, BYTE_BLOB** ppblob);
  51. HRESULT _GetDevicePropertyGenericAsMultiSz(CHWDeviceInst* phwdevinst,
  52. LPCWSTR pszPropName, BOOL fUseMergeMultiSz, WORD_BLOB** ppblob);
  53. HRESULT _GetDevicePropertyGeneric(CHWDeviceInst* phwdevinst,
  54. LPCWSTR pszPropName, BOOL fUseMergeMultiSz, DWORD* pdwType, LPBYTE pbData,
  55. DWORD cbData);