Ключи доступа панели инструментов фильма

Ключи доступа позволяют защитить данные. Они позволяют приложение, снабжающее данными для регистрации пароля для данных с QuickTime и позволяющее пользователю вводить пароль для получения доступа к данным. Например, кодек может защитить данные, которые он сжимает с паролем, так, чтобы это было доступно только кому-то с паролем. Точно так же создатель фильма может потребовать, чтобы пароль просмотрел фильм.

Для получения доступа к защищенным данным пользователь вводит ключ доступа в панель управления Настроек QuickTime.

Система и ключи доступа к приложениям

Существует два вида ключей доступа:

Системные ключи доступа полезны для данных, которые должны использоваться больше чем одним приложением. Когда системный ключ доступа регистрируется для данных, приложения не должны выполнять дополнительную регистрацию для разблокирования данных. Напротив, ключи доступа к приложениям обычно регистрируются приложением, в котором данные доступны, и каждое приложение регистрирует ключи доступа к приложениям, которые это использует. Например, поставщик CDROM может зарегистрировать тот же ключ доступа к приложениям для всех данных по CDROM, делающему доступные данные к приложению на CDROM (такие как игра) и недоступный всем другим приложениям. Это предотвращает просмотр данных пользователями.

Типы ключа доступа

Ключи доступа сгруппированы типом. Например, мог быть тип ключа доступа, определенный в частности для кодека Cinepak. Группировка ключей доступа позволяет вызывающей стороне QuickTime запросить только те ключи, применяющиеся к ней. Этот ускоряют операции, включающие большие количества ключей, которые могли бы иначе вмешаться в производительность работы в режиме реального времени. Функции для использования ключей доступа все требуют типа доступа.

Используя ключи доступа

Этот раздел иллюстрирует, как использовать ключи доступа.

Регистрация ключа доступа

Перечисление 6-1 иллюстрирует, как зарегистрировать ключ доступа к приложениям.

Перечисление 6-1  , Регистрирующее ключ доступа к приложениям

OSErr myErr = 0;
Str255 keyType = doomCDKeyType;
long flags = AccessKeySystemFlag;
handle keyHdl;
keyHdl = NewHandle (sizeof("keykeykey")-1);
/* put key in handle */
myErr = QTRegisterAccessKey (keyType, flags, keyHdl);

Перечисление 6-2 иллюстрирует, как зарегистрировать системный ключ доступа.

Перечисление 6-2  , Регистрирующее системный ключ доступа

OSErr myErr = 0;
Str255 keyType = doomCDKeyType;
long flags = 0;
handle keyHdl;
keyHdl = NewHandle (sizeof("keykeykey")-1);
/* put key in handle */
myErr = QTRegisterAccessKey (keyType, flags, keyHdl);

Получение ключей доступа

Перечисление 6-3 иллюстрирует, как получить ключи доступа к приложениям определенного типа.

Перечисление 6-3  , Получающее ключи доступа

OSErr myErr = 0;
Str255 keyType = doomCDKeyType;
long flags = 0;
handle keyHdl;
/* handle initialization here */
myErr = QTGetAccessKeys (keyType, flags, keyHdl);

Нерегистрация ключа доступа

Перечисление 6-4 иллюстрирует, как не зарегистрировать системный ключ доступа.

Перечисление 6-4  , Не регистрирующее ключ доступа

OSErr myErr = 0;
Str255 keyType = doomCDKeyType;
long flags = AccessKeySystemFlag;
handle keyHdl;
keyHdl = NewHandle (sizeof("keykeykey")-1);
/* put key in handle */
myErr = QTUnRegisterAccessKey (keyType, flags, keyHdl);