Windows NT 4.0 source code leak
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.

41 lines
955 B

4 years ago
  1. class Strm : public Stream {
  2. public:
  3. Strm(MSF* pmsf_, SN sn_) {
  4. pmsf = pmsf_;
  5. sn = sn_;
  6. }
  7. CB QueryCb() {
  8. return MSFGetCbStream(pmsf, sn);
  9. }
  10. BOOL Read(OFF off, void* pvBuf, CB* pcbBuf) {
  11. return MSFReadStream2(pmsf, sn, off, pvBuf, pcbBuf);
  12. }
  13. BOOL Read2(OFF off, void* pvBuf, CB cbBuf) {
  14. CB cbT = cbBuf;
  15. return MSFReadStream2(pmsf, sn, off, pvBuf, &cbT) && cbT == cbBuf;
  16. }
  17. BOOL Write(OFF off, void* pvBuf, CB cbBuf) {
  18. return MSFWriteStream(pmsf, sn, off, pvBuf, cbBuf);
  19. }
  20. BOOL Replace(void* pvBuf, CB cbBuf) {
  21. return MSFReplaceStream(pmsf, sn, pvBuf, cbBuf);
  22. }
  23. BOOL Append(void* pvBuf, CB cbBuf) {
  24. return MSFAppendStream(pmsf, sn, pvBuf, cbBuf);
  25. }
  26. BOOL Truncate(CB cb) {
  27. return MSFTruncateStream(pmsf, sn, cb);
  28. }
  29. BOOL Delete() {
  30. // BUG: does not revoke the streamname->sn mapping.
  31. assert(0);
  32. return MSFDeleteStream(pmsf, sn);
  33. }
  34. BOOL Release() {
  35. delete this;
  36. return TRUE;
  37. }
  38. private:
  39. MSF* pmsf;
  40. SN sn;
  41. };