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.

65 lines
1.8 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: protbase.hxx
  7. //
  8. // Contents:
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. // History: 11-07-1996 JohannP (Johann Posch) Created
  15. //
  16. //----------------------------------------------------------------------------
  17. #ifndef _RESPROT_HXX_
  18. #define _RESPROT_HXX_
  19. #define offsetof(s,m) (size_t)&(((s *)0)->m)
  20. #define GETPPARENT(pmemb, struc, membname) ((struc FAR *)(((char FAR *)(pmemb))-offsetof(struc, membname)))
  21. #define MAX_URL_SIZE INTERNET_MAX_URL_LENGTH
  22. class CResProtocol : public CBaseProtocol
  23. {
  24. public:
  25. STDMETHODIMP Start(LPCWSTR szUrl,IOInetProtocolSink *pProtSink,
  26. IOInetBindInfo *pOIBindInfo, DWORD grfSTI, DWORD dwReserved);
  27. STDMETHODIMP Continue(PROTOCOLDATA *pStateInfo);
  28. STDMETHODIMP Read(void *pv,ULONG cb,ULONG *pcbRead);
  29. STDMETHODIMP Seek(LARGE_INTEGER dlibMove,DWORD dwOrigin,
  30. ULARGE_INTEGER *plibNewPosition);
  31. STDMETHODIMP LockRequest(DWORD dwOptions);
  32. STDMETHODIMP UnlockRequest();
  33. public:
  34. CResProtocol(REFCLSID rclsid, IUnknown *pUnkOuter, IUnknown **ppUnkInner);
  35. virtual ~CResProtocol();
  36. private:
  37. STDMETHODIMP GetResource(LPCWSTR pwzFileName, LPCWSTR pwzResName, LPCWSTR pwzResType, LPCWSTR pwzMime);
  38. STDMETHODIMP ParseAndBind(BOOL fBind = TRUE);
  39. private:
  40. LPWSTR _wzRID; // String resource id to use
  41. LPWSTR _wzResName; // Resource dll name
  42. LPWSTR _wzDispName; // Full display name
  43. HINSTANCE _hInst;
  44. ULONG _cbBuffer;
  45. LPVOID _pBuffer;
  46. HGLOBAL _hgbl;
  47. ULONG _cbPos;
  48. };
  49. #endif // _RESPROT_HXX_