The central unit of work in PrintingTools is PrintSession.
RequestSessionAsync on IPrintManager.A session captures:
JobStatusChangedCapabilities depend on the selected device. By resolving them during session creation, PrintingTools can merge requested settings with what the target printer actually supports before the preview or print step executes.
CreatePreviewAsync produces PrintPreviewModel from the same session that will be printed. That is important because preview and final output should share the same pagination, ticket data, and rendering options.
PrintAsync delegates to the active adapter:
NSPrintOperation.