We have an application that can edit PDF documents (joining documents, adding header and footer) and print them to a printer selected from a Windows print dialog.
When using Acrobat XI, print output was no longer sent to specified printer but to the default printer.
Our plugin uses AVDocPrintPagesWithParams, passing the printer information via the ASPlatformPrinterSpecRec structure (found in PluginSupport\Headers\API\AVExpT.h).
The layout of this structure was changed in Acrobat XI SDK by changing
#define kPrinterSpecNameLen 64 to
#define kPrinterSpecNameLen 221
When using the Acrobat XI SDK headers, printer selection would fail for older Acrobat versions.
So we had to declare 2 ASPlatformPrinterSpecRec structures inline and select the correct one based on the Acrobat version.
Unfortunately no ADOBE programmer had the idea to evaluate the structure's size entry to detect the old/new interface and handle it accordingly.