IMetabaseDeviceDescriptor.DeviceName

Синтаксис

DeviceName: String;

DeviceName: System.String;

Описание

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

Комментарии

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

Пример

Для выполнения примера добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET). Добавьте ссылку на NET-сборку System.Windows.Forms для примера на Fore.NET.

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    MP: IMetabasePolicy;
    DP: IMetabaseDevicePolicy;
    DevDess: IMetabaseDeviceDescriptors;
    Users: IMetabaseUsers;
    User: IMetabaseUser;
    Printers: IMetabaseDeviceDescriptors;
    DevDes: IMetabaseDeviceDescriptor;
    Category: ISecurityCategory;
    Desc: ISecurityDescriptor;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    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;
    Lic := 
Null;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports System.Windows.Forms;

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;
    Lic: Object;
Begin
    MB := Params.Metabase;
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    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: System.Exception Do
        System.Windows.Forms.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();
    Lic := 
Null;
End Sub;

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

См. также:

IMetabaseDeviceDescriptor