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.

33 lines
980 B

  1. #ifndef VRoot_h
  2. #define VRoot_h
  3. // KS "Validation Root"
  4. // Functions called to kick off the graph validation process, and provide
  5. // the proving and validation functions for DRMK itself.
  6. class VRoot: public IDrmAudioStream{
  7. public:
  8. VRoot();
  9. DRM_STATUS initiateValidation(PFILE_OBJECT OutPinFileObject, PDEVICE_OBJECT OutPinDeviceObject, DWORD StreamId);
  10. DRM_STATUS initiateValidation(IUnknown* OutPin, DWORD StreamId);
  11. static NTSTATUS MyProvingFunction(PVOID AudioObject, PVOID DrmContext);
  12. NTSTATUS provingFunction(PVOID DrmContext);
  13. // IUnknown
  14. STDMETHODIMP QueryInterface(REFIID, void **);
  15. STDMETHODIMP_(ULONG) AddRef(void);
  16. STDMETHODIMP_(ULONG) Release(void);
  17. IMP_IDrmAudioStream;
  18. protected:
  19. DWORD myStreamId;
  20. // OutPin is FILE_OBJECT or IUnknown
  21. enum OutPinType{IsUndefined, IsFileObject, IsCOM};
  22. PFILE_OBJECT outPinFileObject;
  23. PDEVICE_OBJECT outPinDeviceObject;
  24. IUnknown* outPinUnk;
  25. OutPinType outPinType;
  26. };
  27. #endif