📄 drm_types.h
字号:
// $Header: /Mux_Demux_SDK/libDrmCommon/src/DrmTypes.h 12 10/07/03 9:42a Bfudge $
// Copyright (c) 2003 DivXNetworks, Inc. http://www.divxnetworks.com
// All rights reserved.
//
// This software is the confidential and proprietary information of DivXNetworks
// Inc. ("Confidential Information"). You shall not disclose such Confidential
// Information and shall use it only in accordance with the terms of the license
// agreement you entered into with DivXNetworks, Inc.
#ifndef DRM_DEFINES_H
#define DRM_DEFINES_H
// Key Source Modes
#define KEY_SOURCE_MODE_BASE_FLAGS 0x0001
#define KEY_SOURCE_MODE_CONNECTED_FLAGS 0x0002
#define KEY_SOURCE_MODE_DISCONNECTED_FLAGS 0x0004
// DRM Modes
#define DRM_TYPE_BASE 0xF0F0
#define DRM_TYPE_ACTIVATION_PURCHASE 0xC3C3
#define DRM_TYPE_ACTIVATION_RENTAL 0x3C3C
#define DRM_TYPE_PURCHASE 0x5555
#define DRM_TYPE_RENTAL 0xAAAA
// Use Limits.
#define USE_LIMIT_ID_UNLIMITED 0x0707
#define USE_LIMIT_ID_ONE 0x1001
#define USE_LIMIT_ID_THREE 0x3003
#define USE_LIMIT_ID_FIVE 0x5005
#define USE_LIMIT_ID_SEVEN 0x7007
#define USE_LIMIT_ID_TEN 0xAAAA
#define USE_LIMIT_ID_TWENTY 0x5555
#define USE_LIMIT_ID_THIRTY 0xF0F0
typedef struct DrmUseLimitIdInfoStruct
{
USHORT id;
UCHAR uses;
} DrmUseLimitIdInfo;
typedef struct DrmActivateRecordStruct
{
UCHAR memoryGuard[OWNER_GUARD_BYTES];
UCHAR modelId[MODEL_ID_BYTES];
UCHAR userKey[KEY_SIZE_BYTES];
UCHAR reserved[3];
} DrmActivateRecord;
typedef struct DrmRentalRecordStruct
{
USHORT useLimitId;
UCHAR serialNumber[SLOT_SERIAL_NUMBER_BYTES];
UCHAR slotNumber;
UCHAR reserved[3];
} DrmRentalRecord;
typedef struct DrmAdpTargetHeaderStruct
{
USHORT drmMode;
UCHAR userId[OWNER_USER_ID_BYTES];
UCHAR reservedAlign;
DrmRentalRecord rentalRecord;
UCHAR sessionKey[KEY_SIZE_BYTES];
DrmActivateRecord activateRecord;
UCHAR reserved[DRM_ADP_RESERVED];
} DrmAdpTargetHeader;
typedef struct DrmTransactionInfoHeaderStruct
{
UCHAR transactionId[TRANSACTION_ID_BYTES];
USHORT transactionAuthorityId;
UINT contentId;
UCHAR reserved[DRM_OTHER_RESERVED];
} DrmTransactionInfoHeader;
typedef struct DrmHeaderStruct
{
UINT keySourceMode;
UCHAR masterKeyId[DRM_PORTABLE_KEY_LENGTH];
DrmAdpTargetHeader adpTarget;
DrmTransactionInfoHeader transaction;
UCHAR frameKeys[DRM_FRAME_KEY_COUNT][KEY_SIZE_BYTES];
} DrmHeader;
// DRM Playback Context States
#define DRM_STATE_INITIALIZED 1
#define DRM_STATE_RENTAL_QUERIED 2
#define DRM_STATE_COMMITTED 3
typedef struct DrmPlaybackContextStruct
{
DrmHeader clearHeader;
UCHAR state;
} DrmPlaybackContext;
#endif // DRM_DEFINES_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -