Add (DeviceName:String): IMetabaseDeviceDescriptor;
Add (DeviceName:string): Prognoz.Platform.Interop.Metabase.IMetabaseDeviceDescriptor;
DeviceName. Device name.
The Add method adds description of printer into the list of printers available for printing by the specified name.
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.
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: