IMetabaseDeviceDescriptor.DeviceName

Fore Syntax

DeviceName: String;

Fore.NET Syntax

DeviceName: System.String;

Description

The DeviceName property returns the device name.

Comments

The property is used if limit mode is set for the printers used for printing.

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 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;

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.

See also:

IMetabaseDeviceDescriptor