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.

53 lines
1.2 KiB

  1. /*
  2. * DRIVEARB.H
  3. *
  4. * External header
  5. *
  6. * DRIVEARB.DLL - Shared Drive Aribiter for shared disks and libraries
  7. * - inter-machine sharing client
  8. * - inter-app sharing service
  9. *
  10. * Author: ErvinP
  11. *
  12. * (c) 2000 Microsoft Corporation
  13. *
  14. */
  15. /*
  16. * AcquireDrive flags
  17. */
  18. #define DRIVEARB_REQUEST_READ (1 << 0)
  19. #define DRIVEARB_REQUEST_WRITE (1 << 1)
  20. #define DRIVEARB_INTRANODE_SHARE_READ (1 << 2)
  21. #define DRIVEARB_INTRANODE_SHARE_WRITE (1 << 3)
  22. #define DRIVEARB_NOWAIT (1 << 15)
  23. #ifdef __cplusplus
  24. extern "C"{
  25. #endif
  26. typedef VOID (CALLBACK* INVALIDATE_DRIVE_HANDLE_PROC)(HANDLE);
  27. /*
  28. * API for drive arbiter SERVICE
  29. */
  30. HANDLE __stdcall RegisterSharedDrive(LPSTR driveName);
  31. BOOL __stdcall UnRegisterSharedDrive(HANDLE hDrive);
  32. /*
  33. * API for drive arbiter CLIENT
  34. */
  35. HANDLE __stdcall OpenDriveSession(LPSTR driveName, INVALIDATE_DRIVE_HANDLE_PROC invalidateHandleProc);
  36. VOID __stdcall CloseDriveSession(HANDLE hDrive);
  37. BOOL __stdcall AcquireDrive(HANDLE hDriveSession, DWORD flags);
  38. VOID __stdcall ReleaseDrive(HANDLE hDriveSession);
  39. #ifdef __cplusplus
  40. }
  41. #endif