mirror of
https://github.com/reactos/reactos.git
synced 2025-04-15 01:47:30 +00:00
These files aren't complete yet, but this will put them at least in
their right place... svn path=/trunk/; revision=25107
This commit is contained in:
parent
b06bb7eb7e
commit
275e3ef97e
4 changed files with 3870 additions and 0 deletions
75
reactos/include/ddk/drmk.h
Normal file
75
reactos/include/ddk/drmk.h
Normal file
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
ReactOS Kernel Streaming
|
||||
Digital Rights Management
|
||||
|
||||
Author: Andrew Greenwood
|
||||
*/
|
||||
|
||||
#ifndef DRMK_H
|
||||
#define DRMK_H
|
||||
|
||||
#include <ntddk.h>
|
||||
#include <ks.h>
|
||||
#include <punknown.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD Flags;
|
||||
PDEVICE_OBJECT DeviceObject;
|
||||
PFILE_OBJECT FileObject;
|
||||
PVOID Context;
|
||||
} DRMFORWARD, *PDRMFORWARD, *PCDRMFORWARD;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BOOL CopyProtect;
|
||||
ULONG Reserved;
|
||||
BOOL DigitalOutputDisable;
|
||||
} DRMRIGHTS, *PDRMRIGHTS;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Digital Rights Management Functions
|
||||
TODO: Check calling convention
|
||||
*/
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmAddContentHandlers(
|
||||
IN ULONG ContentId,
|
||||
IN PVOID *paHandlers,
|
||||
IN ULONG NumHandlers);
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmCreateContentMixed(
|
||||
IN PULONG paContentId,
|
||||
IN ULONG cContentId,
|
||||
OUT PULONG pMixedContentId);
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmDestroyContent(
|
||||
IN ULONG ContentId);
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmForwardContentToDeviceObject(
|
||||
IN ULONG ContentId,
|
||||
IN PVOID Reserved,
|
||||
IN PCDRMFORWARD DrmForward);
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmForwardContentToFileObject(
|
||||
IN ULONG ContentId,
|
||||
IN PFILE_OBJECT FileObject);
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmForwardContentToInterface(
|
||||
IN ULONG ContentId,
|
||||
IN PUNKNOWN pUnknown,
|
||||
IN ULONG NumMethods);
|
||||
|
||||
NTAPI NTSTATUS
|
||||
DrmGetContentRights(
|
||||
IN ULONG ContentId,
|
||||
OUT PDRMRIGHTS DrmRights);
|
||||
|
||||
|
||||
#endif
|
2481
reactos/include/ddk/ks.h
Normal file
2481
reactos/include/ddk/ks.h
Normal file
File diff suppressed because it is too large
Load diff
1232
reactos/include/ddk/portcls.h
Normal file
1232
reactos/include/ddk/portcls.h
Normal file
File diff suppressed because it is too large
Load diff
82
reactos/include/ddk/punknown.h
Normal file
82
reactos/include/ddk/punknown.h
Normal file
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
ReactOS Kernel-Mode COM
|
||||
by Andrew Greenwood
|
||||
|
||||
Please see COPYING in the top-level directory for license information.
|
||||
*/
|
||||
|
||||
#ifndef _UNKNOWN_H_
|
||||
#define _UNKNOWN_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <windef.h>
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <basetyps.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IUnknown
|
||||
*/
|
||||
|
||||
DEFINE_GUID(
|
||||
IID_IUnknown,
|
||||
0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IUnknown
|
||||
|
||||
DECLARE_INTERFACE(IUnknown)
|
||||
{
|
||||
STDMETHOD_(NTSTATUS, QueryInterface)( THIS_
|
||||
IN REFIID,
|
||||
OUT PVOID*)
|
||||
PURE;
|
||||
|
||||
STDMETHOD_(ULONG, AddRef)( THIS )
|
||||
PURE;
|
||||
|
||||
STDMETHOD_(ULONG, Release)( THIS )
|
||||
PURE;
|
||||
};
|
||||
|
||||
#undef INTERFACE
|
||||
|
||||
typedef IUnknown *PUNKNOWN;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IUnknown definition
|
||||
Boilerplate code macro for use in subclassed interfaces
|
||||
*/
|
||||
|
||||
#define DEFINE_ABSTRACT_UNKNOWN() \
|
||||
STDMETHOD_(NTSTATUS, QueryInterface)( THIS_ \
|
||||
REFIID InterfaceId, \
|
||||
PVOID* Interface) \
|
||||
PURE; \
|
||||
\
|
||||
STDMETHOD_(ULONG, AddRef)(THIS) \
|
||||
PURE; \
|
||||
\
|
||||
STDMETHOD_(ULONG, Release)(THIS) \
|
||||
PURE;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Constructor callback definition
|
||||
*/
|
||||
|
||||
typedef HRESULT (*PFNCREATEINSTANCE)(
|
||||
OUT PUNKNOWN* Unknown,
|
||||
IN REFCLSID ClassId,
|
||||
IN PUNKNOWN OuterUnknown,
|
||||
IN POOL_TYPE PoolType);
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue