Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendrmk.h
Go to the documentation of this file.
00001 /* 00002 ReactOS Kernel Streaming 00003 Digital Rights Management 00004 00005 Author: Andrew Greenwood 00006 */ 00007 00008 #ifndef DRMK_H 00009 #define DRMK_H 00010 00011 typedef struct { 00012 DWORD Flags; 00013 PDEVICE_OBJECT DeviceObject; 00014 PFILE_OBJECT FileObject; 00015 PVOID Context; 00016 } DRMFORWARD, *PDRMFORWARD, *PCDRMFORWARD; 00017 00018 typedef struct { 00019 BOOL CopyProtect; 00020 ULONG Reserved; 00021 BOOL DigitalOutputDisable; 00022 } DRMRIGHTS, *PDRMRIGHTS; 00023 00024 typedef const DRMRIGHTS *PCDRMRIGHTS; 00025 00026 /* =============================================================== 00027 Digital Rights Management Functions 00028 TODO: Check calling convention 00029 */ 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00035 _IRQL_requires_max_(PASSIVE_LEVEL) 00036 NTSTATUS 00037 NTAPI 00038 DrmAddContentHandlers( 00039 _In_ ULONG ContentId, 00040 _In_reads_(NumHandlers) PVOID *paHandlers, 00041 _In_ ULONG NumHandlers); 00042 00043 _IRQL_requires_max_(PASSIVE_LEVEL) 00044 NTSTATUS 00045 NTAPI 00046 DrmCreateContentMixed( 00047 _In_ PULONG paContentId, 00048 _In_ ULONG cContentId, 00049 _Out_ PULONG pMixedContentId); 00050 00051 _IRQL_requires_max_(PASSIVE_LEVEL) 00052 NTSTATUS 00053 NTAPI 00054 DrmDestroyContent( 00055 _In_ ULONG ContentId); 00056 00057 NTSTATUS 00058 NTAPI 00059 DrmForwardContentToDeviceObject( 00060 _In_ ULONG ContentId, 00061 _In_opt_ PVOID Reserved, 00062 _In_ PCDRMFORWARD DrmForward); 00063 00064 _IRQL_requires_max_(PASSIVE_LEVEL) 00065 NTSTATUS 00066 NTAPI 00067 DrmForwardContentToFileObject( 00068 _In_ ULONG ContentId, 00069 _In_ PFILE_OBJECT FileObject); 00070 00071 _IRQL_requires_max_(PASSIVE_LEVEL) 00072 NTSTATUS 00073 NTAPI 00074 DrmForwardContentToInterface( 00075 _In_ ULONG ContentId, 00076 _In_ PUNKNOWN pUnknown, 00077 _In_ ULONG NumMethods); 00078 00079 _IRQL_requires_max_(PASSIVE_LEVEL) 00080 NTSTATUS 00081 NTAPI 00082 DrmGetContentRights( 00083 _In_ ULONG ContentId, 00084 _Out_ PDRMRIGHTS DrmRights); 00085 00086 #ifdef __cplusplus 00087 } 00088 #endif 00089 00090 DEFINE_GUID(IID_IDrmAudioStream, 00091 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e); 00092 00093 #undef INTERFACE 00094 #define INTERFACE IDrmAudioStream 00095 00096 DECLARE_INTERFACE_(IDrmAudioStream, IUnknown) { 00097 STDMETHOD_(NTSTATUS, QueryInterface)(THIS_ 00098 _In_ REFIID InterfaceId, 00099 _Out_ PVOID* Interface 00100 ) PURE; 00101 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00102 STDMETHOD_(ULONG,Release)(THIS) PURE; 00103 STDMETHOD_(NTSTATUS,SetContentId)(THIS_ 00104 _In_ ULONG ContentId, 00105 _In_ PCDRMRIGHTS DrmRights 00106 ) PURE; 00107 }; 00108 00109 typedef IDrmAudioStream *PDRMAUDIOSTREAM; 00110 00111 #define IMP_IDrmAudioStream \ 00112 STDMETHODIMP_(NTSTATUS) SetContentId( \ 00113 _In_ ULONG ContentId, \ 00114 _In_ PCDRMRIGHTS DrmRights); 00115 00116 #endif /* DRMK_H */ Generated on Sun May 27 2012 04:29:57 for ReactOS by
1.7.6.1
|