IMetabaseDeviceDescriptor.DeviceName

Синтаксис Fore

DeviceName: String;

Синтаксис Fore.NET

DeviceName: System.String;

Описание

Свойство DeviceName возвращает наименование устройства.

Комментарии

Свойство используется, если для пользователей установлен режим ограничения на используемые для печати принтеры.

Пример Fore

Для выполнения примера добавьте ссылку на системную сборку Metabase.

Sub macro;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    MP: IMetabasePolicy;
    DP: IMetabaseDevicePolicy;
    DevDess: IMetabaseDeviceDescriptors;
    Users: IMetabaseUsers;
    User: IMetabaseUser;
    printers: IMetabaseDeviceDescriptors;
    DevDes: IMetabaseDeviceDescriptor;
    category: ISecurityCategory;
    Desc: ISecurityDescriptor;
Begin
    MB := MetabaseClass.Active;
    MS := MB.Security;
    MP := Ms.Policy;
    DP := MP.PrintersPolicy;
    DevDess := DP.Enumerate;
    users := MS.Users;
    user := users.Administrator;
    printers := user.Printers;
    Try
        DevDess.Add("printserver1\Microsoft Office Document Image Writer");
        DevDes := DevDess.Add("printserver2\snagit 8");
    Except On e: Exception Do
        WinApplication.InformationBox(e.Message);
    End Try;
    desc := DevDes.SecurityDescriptor;
    desc.Edit;
    category := MP.MandatoryAccess.Category(0);
    desc.AccessToken.ClassificationLabel(category) := category.Level(1);
    desc.Apply(False);
    Printers.Add(DevDes.DeviceName);
    Ms.Apply;
End Sub macro;

После выполнения примера в политику безопасности будет добавлено два принтера, один из которых будет добавлен в список доступных для печати принтеров администратора, для него также будет установлена метка безопасности.

Пример Fore.NET

Для выполнения примера добавьте ссылку на системную сборку Forms.NET.

Imports Prognoz.Platform.Interop.Metabase;
...

Public Shared Sub Macro(Params: StartParams);
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    MP: IMetabasePolicy;
    DP: IMetabaseDevicePolicy;
    DevDess: IMetabaseDeviceDescriptors;
    Users: IMetabaseUsers;
    User: IMetabaseUser;
    printers: IMetabaseDeviceDescriptors;
    DevDes: IMetabaseDeviceDescriptor;
    category: ISecurityCategory;
    Desc: ISecurityDescriptor;
Begin
    MB := Params.Metabase;
    MS := MB.Security;
    MP := Ms.Policy;
    DP := MP.PrintersPolicy;
    DevDess := DP.Enumerate();
    users := MS.Users;
    user := users.Administrator;
    printers := user.Printers;
    Try
        DevDess.Add("printserver1\Microsoft Office Document Image Writer");
        DevDes := DevDess.Add("printserver2\snagit 8");
   Except On e: Exception Do
        MessageBox.Show(e.Message);
    End Try;
    desc := DevDes.SecurityDescriptor;
    desc.Edit();
    category := MP.MandatoryAccess.Category[0];
    desc.AccessToken.ClassificationLabel[category] := category.Level[1];
    desc.Apply(False);
    Printers.Add(DevDes.DeviceName);
    Ms.Apply();
End Sub;

После выполнения примера в политику безопасности будет добавлено два принтера, один из которых будет добавлен в список доступных для печати принтеров администратора, для него также будет установлена метка безопасности.

См. также:

IMetabaseDeviceDescriptor