< prev index next >

src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp

Print this page

        

*** 42,52 **** /* constants for DeviceCapability buffer lengths */ #define PAPERNAME_LENGTH 64 #define TRAYNAME_LENGTH 24 - static BOOL IsSupportedLevel(HANDLE hPrinter, DWORD dwLevel) { BOOL isSupported = FALSE; DWORD cbBuf = 0; LPBYTE pPrinter = NULL; --- 42,51 ----
*** 115,125 **** } CATCH_BAD_ALLOC_RET(NULL); } - JNIEXPORT jobjectArray JNICALL Java_sun_print_PrintServiceLookupProvider_getAllPrinterNames(JNIEnv *env, jobject peer) { TRY; --- 114,123 ----
*** 172,240 **** return nameArray; CATCH_BAD_ALLOC_RET(NULL); } - JNIEXPORT jlong JNICALL ! Java_sun_print_PrintServiceLookupProvider_notifyFirstPrinterChange(JNIEnv *env, ! jobject peer, ! jstring printer) { ! HANDLE hPrinter; ! ! LPTSTR printerName = NULL; ! if (printer != NULL) { ! printerName = (LPTSTR)JNU_GetStringPlatformChars(env, ! printer, ! NULL); ! JNU_ReleaseStringPlatformChars(env, printer, printerName); ! } ! ! // printerName - "Win NT/2K/XP: If NULL, it indicates the local printer ! // server" - MSDN. Win9x : OpenPrinter returns 0. ! BOOL ret = OpenPrinter(printerName, &hPrinter, NULL); ! if (!ret) { ! return (jlong)-1; ! } ! ! // PRINTER_CHANGE_PRINTER = PRINTER_CHANGE_ADD_PRINTER | ! // PRINTER_CHANGE_SET_PRINTER | ! // PRINTER_CHANGE_DELETE_PRINTER | ! // PRINTER_CHANGE_FAILED_CONNECTION_PRINTER ! HANDLE chgObj = FindFirstPrinterChangeNotification(hPrinter, ! PRINTER_CHANGE_PRINTER, ! 0, ! NULL); ! return (chgObj == INVALID_HANDLE_VALUE) ? (jlong)-1 : (jlong)chgObj; ! } ! ! ! ! JNIEXPORT void JNICALL ! Java_sun_print_PrintServiceLookupProvider_notifyClosePrinterChange(JNIEnv *env, ! jobject peer, ! jlong chgObject) { ! FindClosePrinterChangeNotification((HANDLE)chgObject); ! } ! ! JNIEXPORT jint JNICALL ! Java_sun_print_PrintServiceLookupProvider_notifyPrinterChange(JNIEnv *env, ! jobject peer, ! jlong chgObject) { ! DWORD dwChange; ! DWORD ret = WaitForSingleObject((HANDLE)chgObject, INFINITE); ! if (ret == WAIT_OBJECT_0) { ! return(FindNextPrinterChangeNotification((HANDLE)chgObject, ! &dwChange, NULL, NULL)); ! } else { ! return 0; ! } } - JNIEXPORT jfloatArray JNICALL Java_sun_print_Win32PrintService_getMediaPrintableArea(JNIEnv *env, jobject peer, jstring printer, jint papersize) --- 170,191 ---- return nameArray; CATCH_BAD_ALLOC_RET(NULL); } JNIEXPORT jlong JNICALL ! Java_sun_print_PrintServiceLookupProvider_GetRemotePrintersCount(JNIEnv *env, ! jobject peer) { ! DWORD cbNeeded = 0; ! DWORD cReturned = 0; ! ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS, ! NULL, 4, NULL, 0, &cbNeeded, &cReturned); ! return (cbNeeded/sizeof(PRINTER_INFO_4)); } JNIEXPORT jfloatArray JNICALL Java_sun_print_Win32PrintService_getMediaPrintableArea(JNIEnv *env, jobject peer, jstring printer, jint papersize)
< prev index next >