Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.1 KiB

  1. #include <windows.h>
  2. #include <shellapi.h>
  3. #include <tchar.h>
  4. #include <stdio.h>
  5. #include "faxutil.h"
  6. #include "winfax.h"
  7. #include "tifflib.h"
  8. BOOL
  9. FaxRecipientCallback(
  10. IN HANDLE FaxHandle,
  11. IN DWORD RecipientNumber,
  12. IN LPVOID Context,
  13. IN PFAX_JOB_PARAM JobParams,
  14. IN PFAX_COVERPAGE_INFO CoverpageInfo
  15. )
  16. {
  17. if (RecipientNumber > 3) {
  18. return FALSE;
  19. }
  20. JobParams->RecipientNumber = TEXT("22146");
  21. CoverpageInfo->CoverPageName = TEXT("fyi.cov");
  22. CoverpageInfo->RecFaxNumber = TEXT("22146");
  23. return TRUE;
  24. }
  25. BOOL
  26. DoBroadcastDocument(
  27. HANDLE hFax,
  28. LPTSTR DocName
  29. )
  30. {
  31. DWORD FaxJobId;
  32. return FaxSendDocumentForBroadcast( hFax, DocName, &FaxJobId, FaxRecipientCallback, NULL );
  33. }
  34. BOOL
  35. DoSingleDocument(
  36. HANDLE hFax,
  37. LPTSTR DocName
  38. )
  39. {
  40. DWORD FaxJobId;
  41. FAX_JOB_PARAM JobParams;
  42. FAX_COVERPAGE_INFO CoverpageInfo;
  43. ZeroMemory( &JobParams, sizeof(FAX_JOB_PARAM) );
  44. JobParams.SizeOfStruct = sizeof(FAX_JOB_PARAM);
  45. JobParams.RecipientNumber = TEXT("21464");
  46. ZeroMemory( &CoverpageInfo, sizeof(FAX_COVERPAGE_INFO) );
  47. CoverpageInfo.SizeOfStruct = sizeof(FAX_COVERPAGE_INFO);
  48. CoverpageInfo.CoverPageName = TEXT("fyi.cov");
  49. CoverpageInfo.RecFaxNumber = TEXT("21464");
  50. return FaxSendDocument( hFax, DocName, &JobParams, &CoverpageInfo, &FaxJobId );
  51. }
  52. int _cdecl
  53. main(
  54. int argc,
  55. char *argvA[]
  56. )
  57. {
  58. LPTSTR *argv;
  59. int argcount = 0;
  60. #if 0
  61. TCHAR TempFile[MAX_PATH];
  62. GetTempFileName( TEXT("."), TEXT("fax"), 0, TempFile );
  63. _tprintf(TEXT("file=%s\n"),TempFile);
  64. CopyFile( argv[1], TempFile, FALSE );
  65. MergeTiffFiles( TempFile, argv[2] );
  66. #endif
  67. HANDLE hFax;
  68. // do commandline stuff
  69. #ifdef UNICODE
  70. argv = CommandLineToArgvW( GetCommandLine(), &argc );
  71. #else
  72. argv = argvA;
  73. #endif
  74. if (!FaxConnectFaxServer( argc <3? NULL: argv[2], &hFax )) {
  75. return -1;
  76. }
  77. DoBroadcastDocument( hFax, argv[1] );
  78. //DoSingleDocument( hFax, argv[1] );
  79. FaxClose( hFax );
  80. return 0;
  81. }