home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 July & August / Pcwk78a98.iso / Micrsoft / VJ / VJ98 / WIZARDS / WIN32 / OTHERFNC.JAV < prev    next >
Text File  |  1998-02-12  |  40KB  |  831 lines

  1. // Copyright (C) 1997 Microsoft Corporation  All Rights Reserved
  2.  
  3. // This software is a preview release of the Windows Api Access classes
  4. // for Java. These classes provide direct, low-overhead access to commonly used
  5. // Windows api. These classes use the new J/Direct feature and therefore
  6. // require either Internet Explorer 4.0 beta-2, or the Microsoft SDK for Java 2.0.
  7. //
  8. // WARNING: These classes are still in development and are incomplete.
  9. // This preview release is being provided as-is in order to solicit feedback
  10. // and to assist developers in the use of J/Direct by providing a library
  11. // of prewritten declarations for the most common Win32 api. As with all
  12. // prerelease software, it is subject to significant change without notice before
  13. // shipping.
  14. //
  15. // Information on how to use J/Direct to write your own declarations
  16. // can be found in the Microsoft SDK for Java 2.0.
  17.  
  18. package com.ms.win32;
  19.  
  20. class Advapi32 {
  21.         /** @dll.import("ADVAPI32", auto) */
  22.         /* explicitly excluded */ // public native static boolean AccessCheckAndAuditAlarm (String SubsystemName, int HandleId, String ObjectTypeName, String ObjectName, int SecurityDescriptor, int DesiredAccess, GENERIC_MAPPING GenericMapping, boolean ObjectCreation, int[] GrantedAccess, int[] AccessStatus, int[] pfGenerateOnClose);
  23.  
  24.         /** @dll.import("ADVAPI32", auto) */
  25.         public native static boolean BackupEventLog (int hEventLog, String lpBackupFileName);
  26.  
  27.         /** @dll.import("ADVAPI32", auto) */
  28.         public native static boolean ClearEventLog (int hEventLog, String lpBackupFileName);
  29.  
  30.         /** @dll.import("ADVAPI32",auto) */
  31.         public native static boolean CloseEventLog (int hEventLog);
  32.  
  33.         /** @dll.import("ADVAPI32", auto) */
  34.         public native static boolean CreateProcessAsUser (int hToken, String lpApplicationName, String lpCommandLine, SECURITY_ATTRIBUTES lpProcessAttributes, SECURITY_ATTRIBUTES lpThreadAttributes, boolean bInheritHandles, int dwCreationFlags, int lpEnvironment, String lpCurrentDirectory, STARTUPINFO lpStartupInfo, PROCESS_INFORMATION lpProcessInformation);
  35.  
  36.         /** @dll.import("ADVAPI32", auto) */
  37.         public native static boolean CryptAcquireContext (int[] phProv, String pszContainer, String pszProvider, int dwProvType, int dwFlags);
  38.  
  39.         /** @dll.import("ADVAPI32",auto) */
  40.         public native static boolean CryptCreateHash (int hProv, int Algid, int hKey, int dwFlags, int[] phHash);
  41.  
  42.         /** @dll.import("ADVAPI32",auto) */
  43.         public native static boolean CryptDecrypt (int hKey, int hHash, boolean Final, int dwFlags, byte[] pbData, int[] pdwDataLen);
  44.  
  45.         /** @dll.import("ADVAPI32",auto) */
  46.         public native static boolean CryptDeriveKey (int hProv, int Algid, int hBaseData, int dwFlags, int[] phKey);
  47.  
  48.         /** @dll.import("ADVAPI32",auto) */
  49.         public native static boolean CryptDestroyHash (int hHash);
  50.  
  51.         /** @dll.import("ADVAPI32",auto) */
  52.         public native static boolean CryptDestroyKey (int hKey);
  53.  
  54.         /** @dll.import("ADVAPI32",auto) */
  55.         public native static boolean CryptEncrypt (int hKey, int hHash, boolean Final, int dwFlags, byte[] pbData, int[] pdwDataLen, int dwBufLen);
  56.  
  57.         /** @dll.import("ADVAPI32",auto) */
  58.         public native static boolean CryptExportKey (int hKey, int hExpKey, int dwBlobType, int dwFlags, byte[] pbData, int[] pdwDataLen);
  59.  
  60.         /** @dll.import("ADVAPI32",auto) */
  61.         public native static boolean CryptGenKey (int hProv, int Algid, int dwFlags, int[] phKey);
  62.  
  63.         /** @dll.import("ADVAPI32",auto) */
  64.         public native static boolean CryptGenRandom (int hProv, int dwLen, byte[] pbBuffer);
  65.  
  66.         /** @dll.import("ADVAPI32",auto) */
  67.         public native static boolean CryptGetHashParam (int hHash, int dwParam, byte[] pbData, int[] pdwDataLen, int dwFlags);
  68.  
  69.         /** @dll.import("ADVAPI32",auto) */
  70.         public native static boolean CryptGetKeyParam (int hKey, int dwParam, byte[] pbData, int[] pdwDataLen, int dwFlags);
  71.  
  72.         /** @dll.import("ADVAPI32",auto) */
  73.         public native static boolean CryptGetProvParam (int hProv, int dwParam, byte[] pbData, int[] pdwDataLen, int dwFlags);
  74.  
  75.         /** @dll.import("ADVAPI32",auto) */
  76.         public native static boolean CryptGetUserKey (int hProv, int dwKeySpec, int[] phUserKey);
  77.  
  78.         /** @dll.import("ADVAPI32",auto) */
  79.         public native static boolean CryptHashData (int hHash, byte[] pbData, int dwDataLen, int dwFlags);
  80.  
  81.         /** @dll.import("ADVAPI32",auto) */
  82.         public native static boolean CryptHashSessionKey (int hHash, int hKey, int dwFlags);
  83.  
  84.         /** @dll.import("ADVAPI32",auto) */
  85.         public native static boolean CryptImportKey (int hProv, byte[] pbData, int dwDataLen, int hPubKey, int dwFlags, int[] phKey);
  86.  
  87.         /** @dll.import("ADVAPI32",auto) */
  88.         public native static boolean CryptReleaseContext (int hProv, int dwFlags);
  89.  
  90.         /** @dll.import("ADVAPI32",auto) */
  91.         public native static boolean CryptSetHashParam (int hHash, int dwParam, byte[] pbData, int dwFlags);
  92.  
  93.         /** @dll.import("ADVAPI32",auto) */
  94.         public native static boolean CryptSetKeyParam (int hKey, int dwParam, byte[] pbData, int dwFlags);
  95.  
  96.         /** @dll.import("ADVAPI32",auto) */
  97.         public native static boolean CryptSetProvParam (int hProv, int dwParam, byte[] pbData, int dwFlags);
  98.  
  99.         /** @dll.import("ADVAPI32", auto) */
  100.         public native static boolean CryptSetProvider (String pszProvName, int dwProvType);
  101.  
  102.         /** @dll.import("ADVAPI32", auto) */
  103.         public native static boolean CryptSignHash (int hHash, int dwKeySpec, String sDescription, int dwFlags, byte[] pbSignature, int[] pdwSigLen);
  104.  
  105.         /** @dll.import("ADVAPI32", auto) */
  106.         public native static boolean CryptVerifySignature (int hHash, byte[] pbSignature, int dwSigLen, int hPubKey, String sDescription, int dwFlags);
  107.  
  108.         /** @dll.import("ADVAPI32",auto) */
  109.         public native static boolean DeregisterEventSource (int hEventLog);
  110.  
  111.         /** @dll.import("ADVAPI32",auto) */
  112.         public native static boolean DuplicateTokenEx (int hExistingToken, int dwDesiredAccess, SECURITY_ATTRIBUTES lpTokenAttributes, int ImpersonationLevel, int TokenType, int[] phNewToken);
  113.  
  114.         /** @dll.import("ADVAPI32",auto) */
  115.         public native static boolean GetCurrentHwProfile (HW_PROFILE_INFO lpHwProfileInfo);
  116.  
  117.         /** @dll.import("ADVAPI32", auto) */
  118.         /* explicitly excluded */ // public native static boolean GetFileSecurity (String lpFileName, int RequestedInformation, int pSecurityDescriptor, int nLength, int[] lpnLengthNeeded);
  119.  
  120.         /** @dll.import("ADVAPI32",auto) */
  121.         public native static boolean GetNumberOfEventLogRecords (int hEventLog, int[] NumberOfRecords);
  122.  
  123.         /** @dll.import("ADVAPI32",auto) */
  124.         public native static boolean GetOldestEventLogRecord (int hEventLog, int[] OldestRecord);
  125.  
  126.         /** @dll.import("ADVAPI32", auto) */
  127.         public native static boolean GetUserName (StringBuffer lpBuffer, int[] nSize);
  128.  
  129.         /** @dll.import("ADVAPI32",auto) */
  130.         public native static boolean ImpersonateLoggedOnUser (int hToken);
  131.  
  132.         /** @dll.import("ADVAPI32",auto) */
  133.         public native static boolean IsTextUnicode (int lpBuffer, int cb, int[] lpi);
  134.  
  135.         /** @dll.import("ADVAPI32", auto) */
  136.         public native static boolean LogonUser (String lpszUsername, String lpszDomain, String lpszPassword, int dwLogonType, int dwLogonProvider, int[] phToken);
  137.  
  138.         /** @dll.import("ADVAPI32", auto) */
  139.         /* explicitly excluded */ // public native static boolean LookupAccountName (String lpSystemName, String lpAccountName, int Sid, int[] cbSid, StringBuffer ReferencedDomainName, int[] cbReferencedDomainName, int[] peUse);
  140.  
  141.         /** @dll.import("ADVAPI32", auto) */
  142.         /* explicitly excluded */ // public native static boolean LookupAccountSid (String lpSystemName, int Sid, StringBuffer Name, int[] cbName, StringBuffer ReferencedDomainName, int[] cbReferencedDomainName, int[] peUse);
  143.  
  144.         /** @dll.import("ADVAPI32", auto) */
  145.         /* explicitly excluded */ // public native static boolean LookupPrivilegeDisplayName (String lpSystemName, String lpName, StringBuffer lpDisplayName, int[] cbDisplayName, int[] lpLanguageId);
  146.  
  147.         /** @dll.import("ADVAPI32", auto) */
  148.         /* explicitly excluded */ // public native static boolean LookupPrivilegeName (String lpSystemName, long[] lpLuid, StringBuffer lpName, int[] cbName);
  149.  
  150.         /** @dll.import("ADVAPI32", auto) */
  151.         /* explicitly excluded */ // public native static boolean LookupPrivilegeValue (String lpSystemName, String lpName, long[] lpLuid);
  152.  
  153.         /** @dll.import("ADVAPI32",auto) */
  154.         public native static boolean NotifyChangeEventLog (int hEventLog, int hEvent);
  155.  
  156.         /** @dll.import("ADVAPI32", auto) */
  157.         /* explicitly excluded */ // public native static boolean ObjectCloseAuditAlarm (String SubsystemName, int HandleId, boolean GenerateOnClose);
  158.  
  159.         /** @dll.import("ADVAPI32", auto) */
  160.         /* explicitly excluded */ // public native static boolean ObjectDeleteAuditAlarm (String SubsystemName, int HandleId, boolean GenerateOnClose);
  161.  
  162.         /** @dll.import("ADVAPI32", auto) */
  163.         /* explicitly excluded */ // public native static boolean ObjectOpenAuditAlarm (String SubsystemName, int HandleId, String ObjectTypeName, String ObjectName, int pSecurityDescriptor, int ClientToken, int DesiredAccess, int GrantedAccess, PRIVILEGE_SET Privileges, boolean ObjectCreation, boolean AccessGranted, int[] GenerateOnClose);
  164.  
  165.         /** @dll.import("ADVAPI32", auto) */
  166.         /* explicitly excluded */ // public native static boolean ObjectPrivilegeAuditAlarm (String SubsystemName, int HandleId, int ClientToken, int DesiredAccess, PRIVILEGE_SET Privileges, boolean AccessGranted);
  167.  
  168.         /** @dll.import("ADVAPI32", auto) */
  169.         public native static int OpenBackupEventLog (String lpUNCServerName, String lpFileName);
  170.  
  171.         /** @dll.import("ADVAPI32", auto) */
  172.         public native static int OpenEventLog (String lpUNCServerName, String lpSourceName);
  173.  
  174.         /** @dll.import("ADVAPI32", auto) */
  175.         /* explicitly excluded */ // public native static boolean PrivilegedServiceAuditAlarm (String SubsystemName, String ServiceName, int ClientToken, PRIVILEGE_SET Privileges, boolean AccessGranted);
  176.  
  177.         /** @dll.import("ADVAPI32",auto) */
  178.         public native static boolean ReadEventLog (int hEventLog, int dwReadFlags, int dwRecordOffset, int lpBuffer, int nNumberOfBytesToRead, int[] pnBytesRead, int[] pnMinNumberOfBytesNeeded);
  179.  
  180.         /** @dll.import("ADVAPI32", auto) */
  181.         public native static int RegisterEventSource (String lpUNCServerName, String lpSourceName);
  182.  
  183.         /** @dll.import("ADVAPI32",auto) */
  184.         public native static boolean ReportEvent (int hEventLog, short wType, short wCategory, int dwEventID, int lpUserSid, short wNumStrings, int dwDataSize, int lpStrings, int lpRawData);
  185.  
  186.         /** @dll.import("ADVAPI32", auto) */
  187.         /* explicitly excluded */ // public native static boolean SetFileSecurity (String lpFileName, int SecurityInformation, int pSecurityDescriptor);
  188.  
  189.         /** @dll.import("ADVAPI32",auto) */
  190.         public native static boolean SetThreadToken (int[] Thread, int Token);
  191.  
  192.  
  193. }
  194.  
  195. class Shell32 {
  196.         /** @dll.import("SHELL32", auto) */
  197.         public native static int CommandLineToArgvW (String lpCmdLine, int[] pNumArgs);
  198.  
  199.         /** @dll.import("SHELL32",auto) */
  200.         public native static void DragAcceptFiles (int anonymous0, boolean anonymous1);
  201.  
  202.         /** @dll.import("SHELL32",auto) */
  203.         public native static void DragFinish (int anonymous0);
  204.  
  205.         /** @dll.import("SHELL32", auto) */
  206.         public native static int DragQueryFile (int anonymous0, int anonymous1, StringBuffer anonymous2, int anonymous3);
  207.  
  208.         /** @dll.import("SHELL32",auto) */
  209.         public native static boolean DragQueryPoint (int anonymous0, POINT anonymous1);
  210.  
  211.         /** @dll.import("SHELL32", auto) */
  212.         public native static int ExtractAssociatedIcon (int hInst, StringBuffer lpIconPath, short[] lpiIcon);
  213.  
  214.         /** @dll.import("SHELL32", auto) */
  215.         public native static int ExtractIconEx (String lpszFile, int nIconIndex, int[] phiconLarge, int[] phiconSmall, int nIcons);
  216.  
  217.         /** @dll.import("SHELL32", auto) */
  218.         public native static int ExtractIcon (int hInst, String lpszExeFileName, int nIconIndex);
  219.  
  220.         /** @dll.import("SHELL32", auto) */
  221.         public native static int FindExecutable (String lpFile, String lpDirectory, StringBuffer lpResult);
  222.  
  223.         /** @dll.import("SHELL32",auto) */
  224.         public native static int SHAppBarMessage (int dwMessage, APPBARDATA pData);
  225.  
  226.         /** @dll.import("SHELL32",auto) */
  227.         public native static int SHFileOperation (SHFILEOPSTRUCT lpFileOp);
  228.  
  229.         /** @dll.import("SHELL32",auto) */
  230.         public native static void SHFreeNameMappings (int hNameMappings);
  231.  
  232.         /** @dll.import("SHELL32", auto) */
  233.         public native static int SHGetFileInfo (String pszPath, int dwFileAttributes, SHFILEINFO psfi, int cbFileInfo, int uFlags);
  234.  
  235.         /** @dll.import("SHELL32", auto) */
  236.         public native static int ShellAbout (int hWnd, String szApp, String szOtherStuff, int hIcon);
  237.  
  238.         /** @dll.import("SHELL32",auto) */
  239.         public native static boolean ShellExecuteEx (SHELLEXECUTEINFO lpExecInfo);
  240.  
  241.         /** @dll.import("SHELL32", auto) */
  242.         public native static int ShellExecute (int hwnd, String lpOperation, String lpFile, String lpParameters, String lpDirectory, int nShowCmd);
  243.  
  244.         /** @dll.import("SHELL32",auto) */
  245.         public native static boolean Shell_NotifyIcon (int dwMessage, NOTIFYICONDATA lpData);
  246.  
  247.  
  248. }
  249.  
  250. class Spoolss {
  251.         /** @dll.import("SPOOLSS",auto) */
  252.         public native static boolean AbortPrinter (int hPrinter);
  253.  
  254.         /** @dll.import("SPOOLSS",auto) */
  255.         public native static boolean AddForm (int hPrinter, int Level, byte[] pForm);
  256.  
  257.         /** @dll.import("SPOOLSS",auto) */
  258.         public native static boolean AddJob (int hPrinter, int Level, byte[] pData, int cbBuf, int[] pcbNeeded);
  259.  
  260.         /** @dll.import("SPOOLSS", auto) */
  261.         public native static boolean AddMonitor (String pName, int Level, byte[] pMonitors);
  262.  
  263.         /** @dll.import("SPOOLSS", auto) */
  264.         public native static boolean AddPort (String pName, int hWnd, String pMonitorName);
  265.  
  266.         /** @dll.import("SPOOLSS", auto) */
  267.         public native static boolean AddPrintProcessor (String pName, String pEnvironment, String pPathName, String pPrintProcessorName);
  268.  
  269.         /** @dll.import("SPOOLSS", auto) */
  270.         public native static boolean AddPrintProvidor (String pName, int level, byte[] pProvidorInfo);
  271.  
  272.         /** @dll.import("SPOOLSS", auto) */
  273.         public native static boolean AddPrinterConnection (String pName);
  274.  
  275.         /** @dll.import("SPOOLSS", auto) */
  276.         public native static boolean AddPrinterDriver (String pName, int Level, byte[] pDriverInfo);
  277.  
  278.         /** @dll.import("SPOOLSS", auto) */
  279.         public native static int AddPrinter (String pName, int Level, byte[] pPrinter);
  280.  
  281.         /** @dll.import("SPOOLSS",auto) */
  282.         public native static boolean ClosePrinter (int hPrinter);
  283.  
  284.         /** @dll.import("SPOOLSS", auto) */
  285.         public native static boolean ConfigurePort (String pName, int hWnd, String pPortName);
  286.  
  287.         /** @dll.import("SPOOLSS", auto) */
  288.         public native static boolean DeleteForm (int hPrinter, String pFormName);
  289.  
  290.         /** @dll.import("SPOOLSS", auto) */
  291.         public native static boolean DeleteMonitor (String pName, String pEnvironment, String pMonitorName);
  292.  
  293.         /** @dll.import("SPOOLSS", auto) */
  294.         public native static boolean DeletePort (String pName, int hWnd, String pPortName);
  295.  
  296.         /** @dll.import("SPOOLSS", auto) */
  297.         public native static boolean DeletePrintProcessor (String pName, String pEnvironment, String pPrintProcessorName);
  298.  
  299.         /** @dll.import("SPOOLSS", auto) */
  300.         public native static boolean DeletePrintProvidor (String pName, String pEnvironment, String pPrintProvidorName);
  301.  
  302.         /** @dll.import("SPOOLSS",auto) */
  303.         public native static boolean DeletePrinter (int hPrinter);
  304.  
  305.         /** @dll.import("SPOOLSS", auto) */
  306.         public native static boolean DeletePrinterConnection (String pName);
  307.  
  308.         /** @dll.import("SPOOLSS", auto) */
  309.         public native static int DeletePrinterData (int hPrinter, String pValueName);
  310.  
  311.         /** @dll.import("SPOOLSS", auto) */
  312.         public native static boolean DeletePrinterDriver (String pName, String pEnvironment, String pDriverName);
  313.  
  314.         /** @dll.import("SPOOLSS",auto) */
  315.         public native static boolean EndDocPrinter (int hPrinter);
  316.  
  317.         /** @dll.import("SPOOLSS",auto) */
  318.         public native static boolean EndPagePrinter (int hPrinter);
  319.  
  320.         /** @dll.import("SPOOLSS",auto) */
  321.         public native static boolean EnumForms (int hPrinter, int Level, byte[] pForm, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  322.  
  323.         /** @dll.import("SPOOLSS",auto) */
  324.         public native static boolean EnumJobs (int hPrinter, int FirstJob, int NoJobs, int Level, byte[] pJob, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  325.  
  326.         /** @dll.import("SPOOLSS", auto) */
  327.         public native static boolean EnumMonitors (String pName, int Level, byte[] pMonitors, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  328.  
  329.         /** @dll.import("SPOOLSS", auto) */
  330.         public native static boolean EnumPorts (String pName, int Level, byte[] pPorts, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  331.  
  332.         /** @dll.import("SPOOLSS", auto) */
  333.         public native static boolean EnumPrintProcessorDatatypes (String pName, String pPrintProcessorName, int Level, byte[] pDatatypes, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  334.  
  335.         /** @dll.import("SPOOLSS", auto) */
  336.         public native static boolean EnumPrintProcessors (String pName, String pEnvironment, int Level, byte[] pPrintProcessorInfo, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  337.  
  338.         /** @dll.import("SPOOLSS", auto) */
  339.         public native static int EnumPrinterData (int hPrinter, int dwIndex, String pValueName, int cbValueName, int[] pcbValueName, int[] pType, byte[] pData, int cbData, int[] pcbData);
  340.  
  341.         /** @dll.import("SPOOLSS", auto) */
  342.         public native static boolean EnumPrinterDrivers (String pName, String pEnvironment, int Level, byte[] pDriverInfo, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  343.  
  344.         /** @dll.import("SPOOLSS", auto) */
  345.         public native static boolean EnumPrinters (int Flags, String Name, int Level, byte[] pPrinterEnum, int cbBuf, int[] pcbNeeded, int[] pcReturned);
  346.  
  347.         /** @dll.import("SPOOLSS",auto) */
  348.         public native static boolean FindClosePrinterChangeNotification (int hChange);
  349.  
  350.         /** @dll.import("SPOOLSS", auto) */
  351.         public native static boolean GetForm (int hPrinter, String pFormName, int Level, byte[] pForm, int cbBuf, int[] pcbNeeded);
  352.  
  353.         /** @dll.import("SPOOLSS",auto) */
  354.         public native static boolean GetJob (int hPrinter, int JobId, int Level, byte[] pJob, int cbBuf, int[] pcbNeeded);
  355.  
  356.         /** @dll.import("SPOOLSS", auto) */
  357.         public native static boolean GetPrintProcessorDirectory (String pName, String pEnvironment, int Level, byte[] pPrintProcessorInfo, int cbBuf, int[] pcbNeeded);
  358.  
  359.         /** @dll.import("SPOOLSS", auto) */
  360.         public native static int GetPrinterData (int hPrinter, String pValueName, int[] pType, byte[] pData, int nSize, int[] pcbNeeded);
  361.  
  362.         /** @dll.import("SPOOLSS", auto) */
  363.         public native static boolean GetPrinterDriverDirectory (String pName, String pEnvironment, int Level, byte[] pDriverDirectory, int cbBuf, int[] pcbNeeded);
  364.  
  365.         /** @dll.import("SPOOLSS", auto) */
  366.         public native static boolean GetPrinterDriver (int hPrinter, String pEnvironment, int Level, byte[] pDriverInfo, int cbBuf, int[] pcbNeeded);
  367.  
  368.         /** @dll.import("SPOOLSS",auto) */
  369.         public native static boolean GetPrinter (int hPrinter, int Level, byte[] pPrinter, int cbBuf, int[] pcbNeeded);
  370.  
  371.         /** @dll.import("SPOOLSS", auto) */
  372.         public native static boolean OpenPrinter (String pPrinterName, int[] phPrinter, PRINTER_DEFAULTS pDefault);
  373.  
  374.         /** @dll.import("SPOOLSS", auto) */
  375.         public native static int PrinterMessageBox (int hPrinter, int Error, int hWnd, String pText, String pCaption, int dwType);
  376.  
  377.         /** @dll.import("SPOOLSS",auto) */
  378.         public native static boolean ReadPrinter (int hPrinter, int pBuf, int cbBuf, int[] pNoBytesRead);
  379.  
  380.         /** @dll.import("SPOOLSS",auto) */
  381.         public native static boolean ResetPrinter (int hPrinter, PRINTER_DEFAULTS pDefault);
  382.  
  383.         /** @dll.import("SPOOLSS",auto) */
  384.         public native static boolean ScheduleJob (int hPrinter, int JobId);
  385.  
  386.         /** @dll.import("SPOOLSS", auto) */
  387.         public native static boolean SetForm (int hPrinter, String pFormName, int Level, byte[] pForm);
  388.  
  389.         /** @dll.import("SPOOLSS",auto) */
  390.         public native static boolean SetJob (int hPrinter, int JobId, int Level, byte[] pJob, int Command);
  391.  
  392.         /** @dll.import("SPOOLSS", auto) */
  393.         public native static boolean SetPort (String pName, String pPortName, int dwLevel, byte[] pPortInfo);
  394.  
  395.         /** @dll.import("SPOOLSS", auto) */
  396.         public native static int SetPrinterData (int hPrinter, String pValueName, int Type, byte[] pData, int cbData);
  397.  
  398.         /** @dll.import("SPOOLSS",auto) */
  399.         public native static boolean SetPrinter (int hPrinter, int Level, byte[] pPrinter, int Command);
  400.  
  401.         /** @dll.import("SPOOLSS",auto) */
  402.         public native static int StartDocPrinter (int hPrinter, int Level, byte[] pDocInfo);
  403.  
  404.         /** @dll.import("SPOOLSS",auto) */
  405.         public native static boolean StartPagePrinter (int hPrinter);
  406.  
  407.         /** @dll.import("SPOOLSS",auto) */
  408.         public native static int WaitForPrinterChange (int hPrinter, int Flags);
  409.  
  410.         /** @dll.import("SPOOLSS",auto) */
  411.         public native static boolean WritePrinter (int hPrinter, int pBuf, int cbBuf, int[] pcWritten);
  412.  
  413.  
  414. }
  415.  
  416. class Winmm {
  417.         /** @dll.import("WINMM",auto) */
  418.         public native static int CloseDriver (int hDriver, int lParam1, int lParam2);
  419.  
  420.         /** @dll.import("WINMM",auto) */
  421.         public native static int DefDriverProc (int dwDriverIdentifier, int hdrvr, int uMsg, int lParam1, int lParam2);
  422.  
  423.         /** @dll.import("WINMM",auto) */
  424.         public native static int DrvGetModuleHandle (int hDriver);
  425.  
  426.         /** @dll.import("WINMM",auto) */
  427.         public native static int GetDriverModuleHandle (int hDriver);
  428.  
  429.         /** @dll.import("WINMM", auto) */
  430.         public native static int OpenDriver (String szDriverName, String szSectionName, int lParam2);
  431.  
  432.         /** @dll.import("WINMM", auto) */
  433.         public native static boolean PlaySound (String pszSound, int hmod, int fdwSound);
  434.  
  435.         /** @dll.import("WINMM",auto) */
  436.         public native static int SendDriverMessage (int hDriver, int message, int lParam1, int lParam2);
  437.  
  438.         /** @dll.import("WINMM",auto) */
  439.         public native static int auxGetDevCaps (int uDeviceID, AUXCAPS pac, int cbac);
  440.  
  441.         /** @dll.import("WINMM",auto) */
  442.         public native static int auxGetNumDevs ();
  443.  
  444.         /** @dll.import("WINMM",auto) */
  445.         public native static int auxGetVolume (int uDeviceID, int[] pdwVolume);
  446.  
  447.         /** @dll.import("WINMM",auto) */
  448.         public native static int auxOutMessage (int uDeviceID, int uMsg, int dw1, int dw2);
  449.  
  450.         /** @dll.import("WINMM",auto) */
  451.         public native static int auxSetVolume (int uDeviceID, int dwVolume);
  452.  
  453.         /** @dll.import("WINMM",auto) */
  454.         public native static int joyGetDevCaps (int uJoyID, JOYCAPS pjc, int cbjc);
  455.  
  456.         /** @dll.import("WINMM",auto) */
  457.         public native static int joyGetNumDevs ();
  458.  
  459.         /** @dll.import("WINMM",auto) */
  460.         public native static int joyGetPos (int uJoyID, JOYINFO pji);
  461.  
  462.         /** @dll.import("WINMM",auto) */
  463.         public native static int joyGetPosEx (int uJoyID, JOYINFOEX pji);
  464.  
  465.         /** @dll.import("WINMM",auto) */
  466.         public native static int joyGetThreshold (int uJoyID, int[] puThreshold);
  467.  
  468.         /** @dll.import("WINMM",auto) */
  469.         public native static int joyReleaseCapture (int uJoyID);
  470.  
  471.         /** @dll.import("WINMM",auto) */
  472.         public native static int joySetCapture (int hwnd, int uJoyID, int uPeriod, boolean fChanged);
  473.  
  474.         /** @dll.import("WINMM",auto) */
  475.         public native static int joySetThreshold (int uJoyID, int uThreshold);
  476.  
  477.         /** @dll.import("WINMM",auto) */
  478.         public native static int mciGetCreatorTask (int mciId);
  479.  
  480.         /** @dll.import("WINMM", auto) */
  481.         public native static int mciGetDeviceIDFromElementID (int dwElementID, String lpstrType);
  482.  
  483.         /** @dll.import("WINMM", auto) */
  484.         public native static int mciGetDeviceID (String pszDevice);
  485.  
  486.         /** @dll.import("WINMM", auto) */
  487.         public native static boolean mciGetErrorString (int mcierr, StringBuffer pszText, int cchText);
  488.  
  489.         /** @dll.import("WINMM",auto) */
  490.         public native static com.ms.dll.Callback mciGetYieldProc (int mciId, int[] pdwYieldData);
  491.  
  492.         /** @dll.import("WINMM",auto) */
  493.         public native static boolean mciExecute (String cmd);
  494.  
  495.         /** @dll.import("WINMM",auto) */
  496.         public native static int mciSendCommand (int mciId, int uMsg, int dwParam1, int dwParam2);
  497.  
  498.         /** @dll.import("WINMM",auto) */
  499.         public native static int mciSendCommand (int mciId, int uMsg, int dwParam1, Object dwParam2);
  500.  
  501.         /** @dll.import("WINMM",auto) */
  502.         public native static int mciSendCommand (int mciId, int uMsg, int dwParam1, byte[] dwParam2);
  503.  
  504.         /** @dll.import("WINMM", auto) */
  505.         public native static int mciSendString (String lpstrCommand, StringBuffer lpstrReturnString, int uReturnLength, int hwndCallback);
  506.  
  507.         /** @dll.import("WINMM",auto) */
  508.         public native static boolean mciSetYieldProc (int mciId, com.ms.dll.Callback fpYieldProc, int dwYieldData);
  509.  
  510.         /** @dll.import("WINMM",auto) */
  511.         public native static int midiConnect (int hmi, int hmo, int pReserved);
  512.  
  513.         /** @dll.import("WINMM",auto) */
  514.         public native static int midiDisconnect (int hmi, int hmo, int pReserved);
  515.  
  516.         /** @dll.import("WINMM",auto) */
  517.         public native static int midiInAddBuffer (int hmi, MIDIHDR pmh, int cbmh);
  518.  
  519.         /** @dll.import("WINMM",auto) */
  520.         public native static int midiInClose (int hmi);
  521.  
  522.         /** @dll.import("WINMM",auto) */
  523.         public native static int midiInGetDevCaps (int uDeviceID, MIDIINCAPS pmic, int cbmic);
  524.  
  525.         /** @dll.import("WINMM", auto) */
  526.         public native static int midiInGetErrorText (int mmrError, StringBuffer pszText, int cchText);
  527.  
  528.         /** @dll.import("WINMM",auto) */
  529.         public native static int midiInGetID (int hmi, int[] puDeviceID);
  530.  
  531.         /** @dll.import("WINMM",auto) */
  532.         public native static int midiInGetNumDevs ();
  533.  
  534.         /** @dll.import("WINMM",auto) */
  535.         public native static int midiInMessage (int hmi, int uMsg, int dw1, int dw2);
  536.  
  537.         /** @dll.import("WINMM",auto) */
  538.         public native static int midiInOpen (int phmi, int uDeviceID, int dwCallback, int dwInstance, int fdwOpen);
  539.  
  540.         /** @dll.import("WINMM",auto) */
  541.         public native static int midiInPrepareHeader (int hmi, MIDIHDR pmh, int cbmh);
  542.  
  543.         /** @dll.import("WINMM",auto) */
  544.         public native static int midiInReset (int hmi);
  545.  
  546.         /** @dll.import("WINMM",auto) */
  547.         public native static int midiInStart (int hmi);
  548.  
  549.         /** @dll.import("WINMM",auto) */
  550.         public native static int midiInStop (int hmi);
  551.  
  552.         /** @dll.import("WINMM",auto) */
  553.         public native static int midiInUnprepareHeader (int hmi, MIDIHDR pmh, int cbmh);
  554.  
  555.         /** @dll.import("WINMM",auto) */
  556.         public native static int midiOutCacheDrumPatches (int hmo, int uPatch, short[] pwkya, int fuCache);
  557.  
  558.         /** @dll.import("WINMM",auto) */
  559.         public native static int midiOutCachePatches (int hmo, int uBank, short[] pwpa, int fuCache);
  560.  
  561.         /** @dll.import("WINMM",auto) */
  562.         public native static int midiOutClose (int hmo);
  563.  
  564.         /** @dll.import("WINMM",auto) */
  565.         public native static int midiOutGetDevCaps (int uDeviceID, MIDIOUTCAPS pmoc, int cbmoc);
  566.  
  567.         /** @dll.import("WINMM", auto) */
  568.         public native static int midiOutGetErrorText (int mmrError, StringBuffer pszText, int cchText);
  569.  
  570.         /** @dll.import("WINMM",auto) */
  571.         public native static int midiOutGetID (int hmo, int[] puDeviceID);
  572.  
  573.         /** @dll.import("WINMM",auto) */
  574.         public native static int midiOutGetNumDevs ();
  575.  
  576.         /** @dll.import("WINMM",auto) */
  577.         public native static int midiOutGetVolume (int hmo, int[] pdwVolume);
  578.  
  579.         /** @dll.import("WINMM",auto) */
  580.         public native static int midiOutLongMsg (int hmo, MIDIHDR pmh, int cbmh);
  581.  
  582.         /** @dll.import("WINMM",auto) */
  583.         public native static int midiOutMessage (int hmo, int uMsg, int dw1, int dw2);
  584.  
  585.         /** @dll.import("WINMM",auto) */
  586.         public native static int midiOutOpen (int phmo, int uDeviceID, int dwCallback, int dwInstance, int fdwOpen);
  587.  
  588.         /** @dll.import("WINMM",auto) */
  589.         public native static int midiOutPrepareHeader (int hmo, MIDIHDR pmh, int cbmh);
  590.  
  591.         /** @dll.import("WINMM",auto) */
  592.         public native static int midiOutReset (int hmo);
  593.  
  594.         /** @dll.import("WINMM",auto) */
  595.         public native static int midiOutSetVolume (int hmo, int dwVolume);
  596.  
  597.         /** @dll.import("WINMM",auto) */
  598.         public native static int midiOutShortMsg (int hmo, int dwMsg);
  599.  
  600.         /** @dll.import("WINMM",auto) */
  601.         public native static int midiOutUnprepareHeader (int hmo, MIDIHDR pmh, int cbmh);
  602.  
  603.         /** @dll.import("WINMM",auto) */
  604.         public native static int midiStreamClose (int hms);
  605.  
  606.         /** @dll.import("WINMM",auto) */
  607.         public native static int midiStreamOpen (int phms, int[] puDeviceID, int cMidi, int dwCallback, int dwInstance, int fdwOpen);
  608.  
  609.         /** @dll.import("WINMM",auto) */
  610.         public native static int midiStreamOut (int hms, MIDIHDR pmh, int cbmh);
  611.  
  612.         /** @dll.import("WINMM",auto) */
  613.         public native static int midiStreamPause (int hms);
  614.  
  615. // midiStreamPosition took a parameter that either was or contained a union.
  616.  
  617.         /** @dll.import("WINMM",auto) */
  618.         public native static int midiStreamProperty (int hms, Object lppropdata, int dwProperty);
  619.  
  620.         /** @dll.import("WINMM",auto) */
  621.         public native static int midiStreamRestart (int hms);
  622.  
  623.         /** @dll.import("WINMM",auto) */
  624.         public native static int midiStreamStop (int hms);
  625.  
  626.         /** @dll.import("WINMM",auto) */
  627.         public native static int mixerClose (int hmx);
  628.  
  629. // mixerGetControlDetails took a parameter that either was or contained a union.
  630.  
  631.         /** @dll.import("WINMM",auto) */
  632.         public native static int mixerGetDevCaps (int uMxId, MIXERCAPS pmxcaps, int cbmxcaps);
  633.  
  634.         /** @dll.import("WINMM",auto) */
  635.         public native static int mixerGetID (int hmxobj, int[] puMxId, int fdwId);
  636.  
  637. // mixerGetLineControls took a parameter that either was or contained a union.
  638.  
  639.         /** @dll.import("WINMM",auto) */
  640.         public native static int mixerGetLineInfo (int hmxobj, MIXERLINE pmxl, int fdwInfo);
  641.  
  642.         /** @dll.import("WINMM",auto) */
  643.         public native static int mixerGetNumDevs ();
  644.  
  645.         /** @dll.import("WINMM",auto) */
  646.         public native static int mixerMessage (int hmx, int uMsg, int dwParam1, int dwParam2);
  647.  
  648.         /** @dll.import("WINMM",auto) */
  649.         public native static int mixerOpen (int phmx, int uMxId, int dwCallback, int dwInstance, int fdwOpen);
  650.  
  651. // mixerSetControlDetails took a parameter that either was or contained a union.
  652.  
  653.         /** @dll.import("WINMM",auto) */
  654.         public native static int mmioAdvance (int hmmio, MMIOINFO pmmioinfo, int fuAdvance);
  655.  
  656.         /** @dll.import("WINMM",auto) */
  657.         public native static int mmioAscend (int hmmio, MMCKINFO pmmcki, int fuAscend);
  658.  
  659.         /** @dll.import("WINMM",auto) */
  660.         public native static int mmioClose (int hmmio, int fuClose);
  661.  
  662.         /** @dll.import("WINMM",auto) */
  663.         public native static int mmioCreateChunk (int hmmio, MMCKINFO pmmcki, int fuCreate);
  664.  
  665.         /** @dll.import("WINMM",auto) */
  666.         public native static int mmioDescend (int hmmio, MMCKINFO pmmcki, MMCKINFO pmmckiParent, int fuDescend);
  667.  
  668.         /** @dll.import("WINMM",auto) */
  669.         public native static int mmioFlush (int hmmio, int fuFlush);
  670.  
  671.         /** @dll.import("WINMM",auto) */
  672.         public native static int mmioGetInfo (int hmmio, MMIOINFO pmmioinfo, int fuInfo);
  673.  
  674.         /** @dll.import("WINMM",auto) */
  675.         public native static com.ms.dll.Callback mmioInstallIOProc (int fccIOProc, com.ms.dll.Callback pIOProc, int dwFlags);
  676.  
  677.         /** @dll.import("WINMM", auto) */
  678.         public native static int mmioOpen (String pszFileName, MMIOINFO pmmioinfo, int fdwOpen);
  679.  
  680.         /** @dll.import("WINMM",auto) */
  681.         public native static int mmioRead (int hmmio, byte[] pch, int cch);
  682.  
  683.         /** @dll.import("WINMM", auto) */
  684.         public native static int mmioRename (String pszFileName, String pszNewFileName, MMIOINFO pmmioinfo, int fdwRename);
  685.  
  686.         /** @dll.import("WINMM",auto) */
  687.         public native static int mmioSeek (int hmmio, int lOffset, int iOrigin);
  688.  
  689.         /** @dll.import("WINMM",auto) */
  690.         public native static int mmioSendMessage (int hmmio, int uMsg, int lParam1, int lParam2);
  691.  
  692.         /** @dll.import("WINMM", ansi) */
  693.         public native static int mmioSetBuffer (int hmmio, int pchBuffer, int cchBuffer, int fuBuffer);
  694.  
  695.         /** @dll.import("WINMM",auto) */
  696.         public native static int mmioSetInfo (int hmmio, MMIOINFO pmmioinfo, int fuInfo);
  697.  
  698.         /** @dll.import("WINMM", auto) */
  699.         public native static int mmioStringToFOURCC (String sz, int uFlags);
  700.  
  701.         /** @dll.import("WINMM",auto) */
  702.         public native static int mmioWrite (int hmmio, byte[] pch, int cch);
  703.  
  704.         /** @dll.import("WINMM", auto) */
  705.         public native static boolean sndPlaySound (String pszSound, int fuSound);
  706.  
  707.         /** @dll.import("WINMM",auto) */
  708.         public native static int timeBeginPeriod (int uPeriod);
  709.  
  710.         /** @dll.import("WINMM",auto) */
  711.         public native static int timeEndPeriod (int uPeriod);
  712.  
  713.         /** @dll.import("WINMM",auto) */
  714.         public native static int timeGetDevCaps (TIMECAPS ptc, int cbtc);
  715.  
  716. // timeGetSystemTime took a parameter that either was or contained a union.
  717.  
  718.         /** @dll.import("WINMM",auto) */
  719.         public native static int timeGetTime ();
  720.  
  721.         /** @dll.import("WINMM",auto) */
  722.         public native static int timeKillEvent (int uTimerID);
  723.  
  724.         /** @dll.import("WINMM",auto) */
  725.         public native static int timeSetEvent (int uDelay, int uResolution, com.ms.dll.Callback fptc, int dwUser, int fuEvent);
  726.  
  727.         /** @dll.import("WINMM",auto) */
  728.         public native static int waveInAddBuffer (int hwi, WAVEHDR pwh, int cbwh);
  729.  
  730.         /** @dll.import("WINMM",auto) */
  731.         public native static int waveInClose (int hwi);
  732.  
  733.         /** @dll.import("WINMM",auto) */
  734.         public native static int waveInGetDevCaps (int uDeviceID, WAVEINCAPS pwic, int cbwic);
  735.  
  736.         /** @dll.import("WINMM", auto) */
  737.         public native static int waveInGetErrorText (int mmrError, StringBuffer pszText, int cchText);
  738.  
  739.         /** @dll.import("WINMM",auto) */
  740.         public native static int waveInGetID (int hwi, int[] puDeviceID);
  741.  
  742.         /** @dll.import("WINMM",auto) */
  743.         public native static int waveInGetNumDevs ();
  744.  
  745. // waveInGetPosition took a parameter that either was or contained a union.
  746.  
  747.         /** @dll.import("WINMM",auto) */
  748.         public native static int waveInMessage (int hwi, int uMsg, int dw1, int dw2);
  749.  
  750.         /** @dll.import("WINMM",auto) */
  751.         public native static int waveInOpen (int[] phwi, int uDeviceID, WAVEFORMATEX pwfx, int dwCallback, int dwInstance, int fdwOpen);
  752.  
  753.         /** @dll.import("WINMM",auto) */
  754.         public native static int waveInPrepareHeader (int hwi, WAVEHDR pwh, int cbwh);
  755.  
  756.         /** @dll.import("WINMM",auto) */
  757.         public native static int waveInReset (int hwi);
  758.  
  759.         /** @dll.import("WINMM",auto) */
  760.         public native static int waveInStart (int hwi);
  761.  
  762.         /** @dll.import("WINMM",auto) */
  763.         public native static int waveInStop (int hwi);
  764.  
  765.         /** @dll.import("WINMM",auto) */
  766.         public native static int waveInUnprepareHeader (int hwi, WAVEHDR pwh, int cbwh);
  767.  
  768.         /** @dll.import("WINMM",auto) */
  769.         public native static int waveOutBreakLoop (int hwo);
  770.  
  771.         /** @dll.import("WINMM",auto) */
  772.         public native static int waveOutClose (int hwo);
  773.  
  774.         /** @dll.import("WINMM",auto) */
  775.         public native static int waveOutGetDevCaps (int uDeviceID, WAVEOUTCAPS pwoc, int cbwoc);
  776.  
  777.         /** @dll.import("WINMM", auto) */
  778.         public native static int waveOutGetErrorText (int mmrError, StringBuffer pszText, int cchText);
  779.  
  780.         /** @dll.import("WINMM",auto) */
  781.         public native static int waveOutGetID (int hwo, int[] puDeviceID);
  782.  
  783.         /** @dll.import("WINMM",auto) */
  784.         public native static int waveOutGetNumDevs ();
  785.  
  786.         /** @dll.import("WINMM",auto) */
  787.         public native static int waveOutGetPitch (int hwo, int[] pdwPitch);
  788.  
  789.         /** @dll.import("WINMM",auto) */
  790.         public native static int waveOutGetPlaybackRate (int hwo, int[] pdwRate);
  791.  
  792. // waveOutGetPosition took a parameter that either was or contained a union.
  793.  
  794.         /** @dll.import("WINMM",auto) */
  795.         public native static int waveOutGetVolume (int hwo, int[] pdwVolume);
  796.  
  797.         /** @dll.import("WINMM",auto) */
  798.         public native static int waveOutMessage (int hwo, int uMsg, int dw1, int dw2);
  799.  
  800.         /** @dll.import("WINMM",auto) */
  801.         public native static int waveOutOpen (int[] phwo, int uDeviceID, WAVEFORMATEX pwfx, int dwCallback, int dwInstance, int fdwOpen);
  802.  
  803.         /** @dll.import("WINMM",auto) */
  804.         public native static int waveOutPause (int hwo);
  805.  
  806.         /** @dll.import("WINMM",auto) */
  807.         public native static int waveOutPrepareHeader (int hwo, WAVEHDR pwh, int cbwh);
  808.  
  809.         /** @dll.import("WINMM",auto) */
  810.         public native static int waveOutReset (int hwo);
  811.  
  812.         /** @dll.import("WINMM",auto) */
  813.         public native static int waveOutRestart (int hwo);
  814.  
  815.         /** @dll.import("WINMM",auto) */
  816.         public native static int waveOutSetPitch (int hwo, int dwPitch);
  817.  
  818.         /** @dll.import("WINMM",auto) */
  819.         public native static int waveOutSetPlaybackRate (int hwo, int dwRate);
  820.  
  821.         /** @dll.import("WINMM",auto) */
  822.         public native static int waveOutSetVolume (int hwo, int dwVolume);
  823.  
  824.         /** @dll.import("WINMM",auto) */
  825.         public native static int waveOutUnprepareHeader (int hwo, WAVEHDR pwh, int cbwh);
  826.  
  827.         /** @dll.import("WINMM",auto) */
  828.         public native static int waveOutWrite (int hwo, WAVEHDR pwh, int cbwh);
  829.  
  830.  
  831. }