viewer.cpp
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 3k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #include "pch.h"
  2. #include "..viewerviewerp.h"
  3. #include "viewer.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. VOID WINAPI
  8. CSCViewCacheRunDllA(
  9.     HWND hwnd,
  10.     HINSTANCE hInstance,
  11.     LPSTR pszCmdLineA,
  12.     INT nCmdShow);
  13. VOID WINAPI
  14. CSCViewCacheRunDllW(
  15.     HWND hwnd,
  16.     HINSTANCE hInstance,
  17.     LPWSTR pszCmdLineW,
  18.     INT nCmdShow);
  19. #ifdef __cplusplus
  20. }
  21. #endif
  22. //
  23. // Arguments:
  24. //
  25. //      iInitialView - Indicates initial view of cache to be displayed.
  26. //
  27. //              1 = Share view (default)
  28. //              2 = Details view.
  29. //              3 = Stale view.
  30. //
  31. //      pszInitialShare - Name of initial share to view.
  32. //
  33. //              i.e.: "\worfntspecs"
  34. //
  35. //              "" means All Shares.
  36. //
  37. //  Returns:  Nothing.
  38. //            
  39. VOID WINAPI
  40. CSCViewCacheW(
  41.     INT iInitialView,
  42.     LPCWSTR pszInitialShareW
  43.     )
  44. {
  45.     CSCViewCacheInternalNSE();
  46. //    CSCViewCacheInternalW(iInitialView, pszInitialShareW, false);
  47. }
  48. VOID WINAPI
  49. CSCViewCacheA(
  50.     INT iInitialView,
  51.     LPCSTR pszInitialShareA
  52.     )
  53. {
  54.     CSCViewCacheInternalNSE();
  55. //    CSCViewCacheInternalA(iInitialView, pszInitialShareA, false);
  56. }
  57. VOID WINAPI
  58. CSCViewShareSummaryW(
  59.     LPCWSTR pszShareW,
  60.     HWND hwndParent,
  61.     BOOL bModal
  62.     )
  63. {
  64.     CSCViewShareSummaryInternalW(pszShareW, hwndParent, bModal);
  65. }
  66. VOID WINAPI
  67. CSCViewShareSummaryA(
  68.     LPCSTR pszShareA,
  69.     HWND hwndParent,
  70.     BOOL bModal
  71.     )
  72. {
  73.     CSCViewShareSummaryInternalA(pszShareA, hwndParent, bModal);
  74. }
  75. VOID WINAPI
  76. CSCViewOptions(
  77.     HWND hwndParent,
  78.     BOOL bModal
  79.     )
  80. {
  81.     CSCViewOptionsInternal(hwndParent, bModal);
  82. }
  83. //
  84. // See CSCViewCacheRunDllW for command line argument information.
  85. //
  86. VOID WINAPI
  87. CSCViewCacheRunDllA(
  88.     HWND hwnd,
  89.     HINSTANCE hInstance,
  90.     LPSTR pszCmdLineA,
  91.     INT nCmdShow
  92.     )
  93. {
  94.     USES_CONVERSION;
  95.     CSCViewCacheRunDllW(hwnd, hInstance, A2W(pszCmdLineA), nCmdShow);
  96. }
  97. //
  98. // To call via rundll32.exe:
  99. //
  100. // rundll32 cscui.dll,CSCViewCacheRunDll <n> <share>
  101. //
  102. // where: <n> is the view type identifier:
  103. //
  104. //              1 = Share view (default)
  105. //              2 = Details view.
  106. //              3 = Stale view.
  107. //
  108. //        <share> is the name of the initial share to display.
  109. //                Default is to display all shares.
  110. //
  111. VOID WINAPI
  112. CSCViewCacheRunDllW(
  113.     HWND hwnd,
  114.     HINSTANCE hInstance,
  115.     LPWSTR pszCmdLineW,
  116.     INT nCmdShow
  117.     )
  118. {
  119.     WCHAR szBlank[] = L"";
  120.     LPWSTR psz = pszCmdLineW;
  121.     LPWSTR pszEnd = pszCmdLineW;
  122.     int iView = 1;
  123.     while(*pszEnd && L' ' != *pszEnd)
  124.         pszEnd++;
  125.     if (pszEnd > psz)
  126.     {
  127.         *pszEnd = 0;
  128.         iView = StrToIntW(psz);
  129.         pszEnd = psz = pszEnd + 1;
  130.     }
  131.     while(*pszEnd && L' ' != *pszEnd)
  132.         pszEnd++;
  133.     if (*pszEnd)
  134.         *pszEnd = 0;
  135.     if (!(*psz))
  136.         psz = szBlank;
  137.     CSCViewCacheInternalW(iView, psz, true);
  138. }