The DEVMODE structure is a truncated form of the variable-length, custom-marshaled _DEVMODE structure (section, which is version-specific and implementation-specific and cannot be expressed using IDL attributes.

All members of this structure are specified in section

 typedef struct _devicemode {
   wchar_t dmDeviceName[32];
   unsigned short dmSpecVersion;
   unsigned short dmDriverVersion;
   unsigned short dmSize;
   unsigned short dmDriverExtra;
   DWORD dmFields;
   short dmOrientation;
   short dmPaperSize;
   short dmPaperLength;
   short dmPaperWidth;
   short dmScale;
   short dmCopies;
   short dmDefaultSource;
   short dmPrintQuality;
   short dmColor;
   short dmDuplex;
   short dmYResolution;
   short dmTTOption;
   short dmCollate;
   wchar_t dmFormName[32];
   unsigned short reserved0;
   DWORD reserved1;
   DWORD reserved2;
   DWORD reserved3;
   DWORD dmNup;
   DWORD reserved4;
   DWORD dmICMMethod;
   DWORD dmICMIntent;
   DWORD dmMediaType;
   DWORD dmDitherType;
   DWORD reserved5;
   DWORD reserved6;
   DWORD reserved7;
   DWORD reserved8;