Leaked source code of windows server 2003
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.

36 lines
1.0 KiB

  1. #ifndef SCREENRESFIXER_H
  2. #define SCREENRESFIXER_H
  3. HRESULT CScreenResFixer_CreateInstance(IN IUnknown * punkOuter, IN REFIID riid, OUT LPVOID * ppvObj);
  4. typedef struct
  5. {
  6. DWORD dwWidth;
  7. DWORD dwHeight;
  8. DWORD dwColor;
  9. BOOL fAvailable;
  10. } SCREENMODE;
  11. class CScreenResFixer : public IContextMenu
  12. {
  13. public:
  14. // *** IUnknown methods
  15. STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppvObj);
  16. STDMETHODIMP_(ULONG) AddRef(void);
  17. STDMETHODIMP_(ULONG) Release(void);
  18. // *** IContextMenu methods ***
  19. STDMETHODIMP QueryContextMenu(HMENU hmenu, UINT iIndexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { return E_NOTIMPL; }
  20. STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
  21. STDMETHODIMP GetCommandString(UINT_PTR idCmd, UINT uType, UINT *pRes, LPSTR pszName, UINT cchMax) { return E_NOTIMPL; }
  22. private:
  23. LONG _cRef;
  24. int _PickScreenResolution(SCREENMODE* modes, int cModes);
  25. void _FixScreenResolution(BOOL fShowDisplayCPL);
  26. };
  27. #endif // SCREENRESFIXER_H