The height and width of the capability of the output device is queried for each form code available. Note that a valid device context handle must be passed. This example assumes a DevOpenDC call has been made to obtain the device context handle of a say a printer.
#define INCL_DEV #include <OS2.H> HDC hdc; LONG lStartForm; /* Form code number from which the query */ /* is to start */ LONG lForms; /* number of forms to query */ /* array of structures containing return information. */ HCINFO ahciHcInfo[5]; LONG lreturn; int i; HCINFO height[5]; HCINFO width[5]; lStartForm = 0L; lForms = 0L; /* the actual number of forms codes is */ /* returned. There will be lreturn */ /* copies of the HINFO structure. */ lreturn = DevQueryHardcopyCaps(hdc, lStartForm, lForms, ahciHcInfo); if (lreturn > 5) { lreturn = 5L; /* we only want the first five form codes */ } /* if there are more than five */ for(i = 0; i < lreturn; i++) { width[lreturn].cx = ahciHcInfo[lreturn].cx; height[lreturn].cy = ahciHcInfo[lreturn].cy; }