IMetabaseDeviceDescriptors.Add

Fore Syntax

Add (DeviceName:String): IMetabaseDeviceDescriptor;

Fore.NET Syntax

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

Parameters

DeviceName. Device name.

Description

The Add method adds description of printer into the list of printers available for printing by the specified name.

Fore Example

To execute the example, add a link to the Metabase system assembly.

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;

After executing this example, two printers are added to the security policy, one of them is added to the list of administrator printers available for printing with security label on.

Fore.NET Example

To execute the example, add a link to the Forms.NET system assembly.

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;

After executing this example, two printers are added to the security policy, one of them is added to the list of administrator printers available for printing and with security label on.

See also:

IMetabaseDeviceDescriptors