IMetabaseDeviceDescriptors.Add

Синтаксис Fore

Add (DeviceName:String): IMetabaseDeviceDescriptor;

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

Add (DeviceName:string): Prognoz.Platform.Interop.Metabase.IMetabaseDeviceDescriptor;

Параметры

DeviceName. Наименование устройства.

Описание

Метод Add добавляет описание принтера в список доступных для печати принтеров по указанному наименованию.

Пример 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 Main(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;

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

См. также:

IMetabaseDeviceDescriptors