Author: janderwald
Date: Thu Dec 11 08:51:27 2008
New Revision: 38017
URL:
http://svn.reactos.org/svn/reactos?rev=38017&view=rev
Log:
- Add IDrmPort, IDrmPort2 interfaces
Modified:
trunk/reactos/include/ddk/portcls.h
Modified: trunk/reactos/include/ddk/portcls.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/portcls.h?rev=…
==============================================================================
--- trunk/reactos/include/ddk/portcls.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/portcls.h [iso-8859-1] Thu Dec 11 08:51:27 2008
@@ -1409,8 +1409,34 @@
These are almost identical, except for the addition of two extra methods.
*/
-#define DEFINE_ABSTRACT_DRMPORT()
-/* TODO */
+#undef INTERFACE
+#define INTERFACE IDrmPort
+
+#if (NTDDI_VERSION >= NTDDI_WINXP)
+DEFINE_GUID(IID_IDrmPort, 0x286D3DF8L, 0xCA22, 0x4E2E, 0xB9, 0xBC, 0x20, 0xB4, 0xF0,
0xE2, 0x01, 0xCE);
+#endif
+
+#define DEFINE_ABSTRACT_DRMPORT() \
+ STDMETHOD_(NTSTATUS,CreateContentMixed)(THIS_ \
+ IN PULONG paContentId, \
+ IN ULONG cContentId, \
+ OUT PULONG pMixedContentId)PURE; \
+ \
+ STDMETHOD_(NTSTATUS,DestroyContent)(THIS_ \
+ IN ULONG ContentId)PURE; \
+ \
+ STDMETHOD_(NTSTATUS,ForwardContentToFileObject)(THIS_ \
+ IN ULONG ContentId, \
+ IN PFILE_OBJECT FileObject)PURE; \
+ \
+ STDMETHOD_(NTSTATUS,ForwardContentToInterface)(THIS_ \
+ IN ULONG ContentId, \
+ IN PUNKNOWN pUnknown, \
+ IN ULONG NumMethods)PURE; \
+ \
+ STDMETHOD_(NTSTATUS,GetContentRights)(THIS_ \
+ IN ULONG ContentId, \
+ OUT PDRMRIGHTS DrmRights)PURE;
DECLARE_INTERFACE_(IDrmPort, IUnknown)
{
@@ -1420,15 +1446,45 @@
typedef IDrmPort *PDRMPORT;
-/* TODO */
-
+/* ===============================================================
+ IDrmPort2 Interface
+*/
+
+#undef INTERFACE
+#define INTERFACE IDrmPort2
+
+#if (NTDDI_VERSION >= NTDDI_WINXP)
+DEFINE_GUID(IID_IDrmPort2, 0x1ACCE59CL, 0x7311, 0x4B6B, 0x9F, 0xBA, 0xCC, 0x3B, 0xA5,
0x9A, 0xCD, 0xCE);
+#endif
+
+DECLARE_INTERFACE_(IDrmPort2, IDrmPort)
+{
+ DEFINE_ABSTRACT_UNKNOWN()
+ DEFINE_ABSTRACT_DRMPORT()
+
+ STDMETHOD_(NTSTATUS,AddContentHandlers)(THIS_
+ IN ULONG ContentId,
+ IN PVOID * paHandlers,
+ IN ULONG NumHandlers)PURE;
+
+ STDMETHOD_(NTSTATUS,ForwardContentToDeviceObject)(THIS_
+ IN ULONG ContentId,
+ IN PVOID Reserved,
+ IN PCDRMFORWARD DrmForward)PURE;
+};
+
+typedef IDrmPort2 *PDRMPORT2;
/* ===============================================================
IPortClsVersion Interface
*/
+#undef INTERFACE
+#define INTERFACE IPortClsVersion
DECLARE_INTERFACE_(IPortClsVersion, IUnknown)
{
+ DEFINE_ABSTRACT_UNKNOWN()
+
STDMETHOD_(DWORD, GetVersion)(THIS) PURE;
};