npapi.h 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _NPAPI_INCLUDED
  7. #define _NPAPI_INCLUDED
  8. #include <_mingw_unicode.h>
  9. typedef DWORD (WINAPI *PF_NPAddConnection)(LPNETRESOURCEW lpNetResource,LPWSTR lpPassword,LPWSTR lpUserName);
  10. typedef DWORD (WINAPI *PF_NPAddConnection3)(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPWSTR lpPassword,LPWSTR lpUserName,DWORD dwFlags);
  11. typedef DWORD (WINAPI *PF_NPCancelConnection)(LPWSTR lpName,WINBOOL fForce);
  12. typedef DWORD (WINAPI *PF_NPGetConnection)(LPWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnBufferLen);
  13. #define WNGETCON_CONNECTED 0x00000000
  14. #define WNGETCON_DISCONNECTED 0x00000001
  15. typedef DWORD (WINAPI *PF_NPGetConnection3)(LPCWSTR lpLocalName,DWORD dwLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
  16. typedef DWORD (WINAPI *PF_NPGetConnectionPerformance)(LPCWSTR lpRemoteName,LPNETCONNECTINFOSTRUCT lpNetConnectInfo);
  17. typedef DWORD (WINAPI *PF_NPGetUniversalName)(LPWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpnBufferSize);
  18. typedef DWORD (WINAPI *PF_NPOpenEnum)(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum);
  19. typedef DWORD (WINAPI *PF_NPEnumResource)(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
  20. DWORD WINAPI NPAddConnection(LPNETRESOURCEW lpNetResource,LPWSTR lpPassword,LPWSTR lpUserName);
  21. DWORD WINAPI NPAddConnection3(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPTSTR lpPassword,LPTSTR lpUserName,DWORD dwFlags);
  22. DWORD WINAPI NPCancelConnection(LPWSTR lpName,WINBOOL fForce);
  23. DWORD WINAPI NPGetConnection(LPWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnBufferLen);
  24. DWORD WINAPI NPGetConnection3(LPCWSTR lpLocalName,DWORD dwLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
  25. DWORD WINAPI NPGetConnectionPerformance(LPCWSTR lpRemoteName,LPNETCONNECTINFOSTRUCT lpNetConnectInfo);
  26. DWORD WINAPI NPGetUniversalName(LPWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
  27. DWORD WINAPI NPOpenEnum(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum);
  28. DWORD WINAPI NPEnumResource(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
  29. DWORD WINAPI NPCloseEnum(HANDLE hEnum);
  30. typedef DWORD (*PF_NPCloseEnum)(HANDLE hEnum);
  31. #define WNNC_SPEC_VERSION 0x00000001
  32. #define WNNC_SPEC_VERSION51 0x00050001
  33. #define WNNC_NET_TYPE 0x00000002
  34. #define WNNC_NET_NONE 0x00000000
  35. #define WNNC_DRIVER_VERSION 0x00000003
  36. #define WNNC_USER 0x00000004
  37. #define WNNC_USR_GETUSER 0x00000001
  38. #define WNNC_CONNECTION 0x00000006
  39. #define WNNC_CON_ADDCONNECTION 0x00000001
  40. #define WNNC_CON_CANCELCONNECTION 0x00000002
  41. #define WNNC_CON_GETCONNECTIONS 0x00000004
  42. #define WNNC_CON_ADDCONNECTION3 0x00000008
  43. #define WNNC_CON_GETPERFORMANCE 0x00000040
  44. #define WNNC_CON_DEFER 0x00000080
  45. #define WNNC_DIALOG 0x00000008
  46. #define WNNC_DLG_DEVICEMODE 0x00000001
  47. #define WNNC_DLG_PROPERTYDIALOG 0x00000020
  48. #define WNNC_DLG_SEARCHDIALOG 0x00000040
  49. #define WNNC_DLG_FORMATNETWORKNAME 0x00000080
  50. #define WNNC_DLG_PERMISSIONEDITOR 0x00000100
  51. #define WNNC_DLG_GETRESOURCEPARENT 0x00000200
  52. #define WNNC_DLG_GETRESOURCEINFORMATION 0x00000800
  53. #define WNNC_ADMIN 0x00000009
  54. #define WNNC_ADM_GETDIRECTORYTYPE 0x00000001
  55. #define WNNC_ADM_DIRECTORYNOTIFY 0x00000002
  56. #define WNNC_ENUMERATION 0x0000000B
  57. #define WNNC_ENUM_GLOBAL 0x00000001
  58. #define WNNC_ENUM_LOCAL 0x00000002
  59. #define WNNC_ENUM_CONTEXT 0x00000004
  60. #define WNNC_ENUM_SHAREABLE 0x00000008
  61. #define WNNC_START 0x0000000C
  62. #define WNNC_WAIT_FOR_START 0x00000001
  63. typedef DWORD (WINAPI *PF_NPGetCaps)(DWORD ndex);
  64. typedef DWORD (WINAPI *PF_NPGetUser)(LPWSTR lpName,LPWSTR lpUserName,LPDWORD lpnBufferLen);
  65. DWORD WINAPI NPGetCaps (DWORD ndex);
  66. DWORD WINAPI NPGetUser(LPWSTR lpName,LPWSTR lpUserName,LPDWORD lpnBufferLen);
  67. #define WNTYPE_DRIVE 1
  68. #define WNTYPE_FILE 2
  69. #define WNTYPE_PRINTER 3
  70. #define WNTYPE_COMM 4
  71. #define WNPS_FILE 0
  72. #define WNPS_DIR 1
  73. #define WNPS_MULT 2
  74. #define WNSRCH_REFRESH_FIRST_LEVEL 0x00000001
  75. typedef DWORD (WINAPI *PF_NPDeviceMode)(HWND hParent);
  76. typedef DWORD (WINAPI *PF_NPSearchDialog)(HWND hwndParent,LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,DWORD cbBuffer,LPDWORD lpnFlags);
  77. typedef DWORD (WINAPI *PF_NPGetResourceParent)(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpBufferSize);
  78. typedef DWORD (WINAPI *PF_NPGetResourceInformation)(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpBufferSize,LPWSTR *lplpSystem);
  79. typedef DWORD (WINAPI *PF_NPFormatNetworkName)(LPWSTR lpRemoteName,LPWSTR lpFormattedName,LPDWORD lpnLength,DWORD dwFlags,DWORD dwAveCharPerLine);
  80. typedef DWORD (WINAPI *PF_NPGetPropertyText)(DWORD iButton,DWORD nPropSel,LPWSTR lpName,LPWSTR lpButtonName,DWORD nButtonNameLen,DWORD nType);
  81. typedef DWORD (WINAPI *PF_NPPropertyDialog)(HWND hwndParent,DWORD iButtonDlg,DWORD nPropSel,LPWSTR lpFileName,DWORD nType);
  82. DWORD WINAPI NPDeviceMode(HWND hParent);
  83. DWORD WINAPI NPSearchDialog(HWND hwndParent,LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,DWORD cbBuffer,LPDWORD lpnFlags);
  84. DWORD WINAPI NPGetResourceParent(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpBufferSize);
  85. DWORD WINAPI NPGetResourceInformation(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpBufferSize,LPWSTR *lplpSystem);
  86. DWORD WINAPI NPFormatNetworkName(LPWSTR lpRemoteName,LPWSTR lpFormattedName,LPDWORD lpnLength,DWORD dwFlags,DWORD dwAveCharPerLine);
  87. DWORD WINAPI NPGetPropertyText(DWORD iButton,DWORD nPropSel,LPWSTR lpName,LPWSTR lpButtonName,DWORD nButtonNameLen,DWORD nType);
  88. DWORD WINAPI NPPropertyDialog(HWND hwndParent,DWORD iButtonDlg,DWORD nPropSel,LPWSTR lpFileName,DWORD nType);
  89. #define WNDT_NORMAL 0
  90. #define WNDT_NETWORK 1
  91. #define WNDN_MKDIR 1
  92. #define WNDN_RMDIR 2
  93. #define WNDN_MVDIR 3
  94. typedef DWORD (WINAPI *PF_NPGetDirectoryType)(LPWSTR lpName,LPINT lpType,WINBOOL bFlushCache);
  95. typedef DWORD (WINAPI *PF_NPDirectoryNotify)(HWND hwnd,LPWSTR lpDir,DWORD dwOper);
  96. DWORD WINAPI NPGetDirectoryType(LPWSTR lpName,LPINT lpType,WINBOOL bFlushCache);
  97. DWORD WINAPI NPDirectoryNotify(HWND hwnd,LPWSTR lpDir,DWORD dwOper);
  98. VOID WNetSetLastErrorA(DWORD err,LPSTR lpError,LPSTR lpProviders);
  99. VOID WNetSetLastErrorW(DWORD err,LPWSTR lpError,LPWSTR lpProviders);
  100. #define WNetSetLastError __MINGW_NAME_AW(WNetSetLastError)
  101. #define WN_NETWORK_CLASS 0x00000001
  102. #define WN_CREDENTIAL_CLASS 0x00000002
  103. #define WN_PRIMARY_AUTHENT_CLASS 0x00000004
  104. #define WN_SERVICE_CLASS 0x00000008
  105. #define WN_VALID_LOGON_ACCOUNT 0x00000001
  106. #define WN_NT_PASSWORD_CHANGED 0x00000002
  107. typedef DWORD (WINAPI *PF_NPLogonNotify) (PLUID lpLogonId,LPCWSTR lpAuthentInfoType,LPVOID lpAuthentInfo,LPCWSTR lpPreviousAuthentInfoType,LPVOID lpPreviousAuthentInfo,LPWSTR lpStationName,LPVOID StationHandle,LPWSTR *lpLogonScript);
  108. typedef DWORD (WINAPI *PF_NPPasswordChangeNotify) (LPCWSTR lpAuthentInfoType,LPVOID lpAuthentInfo,LPCWSTR lpPreviousAuthentInfoType,LPVOID lpPreviousAuthentInfo,LPWSTR lpStationName,LPVOID StationHandle,DWORD dwChangeInfo);
  109. DWORD WINAPI NPLogonNotify (PLUID lpLogonId,LPCWSTR lpAuthentInfoType,LPVOID lpAuthentInfo,LPCWSTR lpPreviousAuthentInfoType,LPVOID lpPreviousAuthentInfo,LPWSTR lpStationName,LPVOID StationHandle,LPWSTR *lpLogonScript);
  110. DWORD WINAPI NPPasswordChangeNotify (LPCWSTR lpAuthentInfoType,LPVOID lpAuthentInfo,LPCWSTR lpPreviousAuthentInfoType,LPVOID lpPreviousAuthentInfo,LPWSTR lpStationName,LPVOID StationHandle,DWORD dwChangeInfo);
  111. #define NOTIFY_PRE 0x00000001
  112. #define NOTIFY_POST 0x00000002
  113. #define WNPERMC_PERM 0x00000001
  114. #define WNPERMC_AUDIT 0x00000002
  115. #define WNPERMC_OWNER 0x00000004
  116. #define WNPERM_DLG_PERM 0
  117. #define WNPERM_DLG_AUDIT 1
  118. #define WNPERM_DLG_OWNER 2
  119. typedef struct _NOTIFYINFO {
  120. DWORD dwNotifyStatus;
  121. DWORD dwOperationStatus;
  122. LPVOID lpContext;
  123. } NOTIFYINFO,*LPNOTIFYINFO;
  124. typedef struct _NOTIFYADD {
  125. HWND hwndOwner;
  126. NETRESOURCE NetResource;
  127. DWORD dwAddFlags;
  128. } NOTIFYADD,*LPNOTIFYADD;
  129. typedef struct _NOTIFYCANCEL {
  130. LPTSTR lpName;
  131. LPTSTR lpProvider;
  132. DWORD dwFlags;
  133. WINBOOL fForce;
  134. } NOTIFYCANCEL,*LPNOTIFYCANCEL;
  135. typedef DWORD (WINAPI *PF_AddConnectNotify) (LPNOTIFYINFO lpNotifyInfo,LPNOTIFYADD lpAddInfo);
  136. typedef DWORD (WINAPI *PF_CancelConnectNotify) (LPNOTIFYINFO lpNotifyInfo,LPNOTIFYCANCEL lpCancelInfo);
  137. typedef DWORD (WINAPI *PF_NPFMXGetPermCaps)(LPWSTR lpDriveName);
  138. typedef DWORD (WINAPI *PF_NPFMXEditPerm)(LPWSTR lpDriveName,HWND hwndFMX,DWORD nDialogType);
  139. typedef DWORD (WINAPI *PF_NPFMXGetPermHelp)(LPWSTR lpDriveName,DWORD nDialogType,WINBOOL fDirectory,LPVOID lpFileNameBuffer,LPDWORD lpBufferSize,LPDWORD lpnHelpContext);
  140. DWORD WINAPI AddConnectNotify (LPNOTIFYINFO lpNotifyInfo,LPNOTIFYADD lpAddInfo);
  141. DWORD WINAPI CancelConnectNotify (LPNOTIFYINFO lpNotifyInfo,LPNOTIFYCANCEL lpCancelInfo);
  142. DWORD WINAPI NPFMXGetPermCaps(LPWSTR lpDriveName);
  143. DWORD WINAPI NPFMXEditPerm(LPWSTR lpDriveName,HWND hwndFMX,DWORD nDialogType);
  144. DWORD WINAPI NPFMXGetPermHelp(LPWSTR lpDriveName,DWORD nDialogType,WINBOOL fDirectory,LPVOID lpFileNameBuffer,LPDWORD lpBufferSize,LPDWORD lpnHelpContext);
  145. #endif