コード例 #1
0
ファイル: winapi_common.py プロジェクト: vincentcr/watchdog
  def read_directory_changes(handle, event_buffer, recursive):
    """Read changes to the directory using the specified directory handle.

    http://timgolden.me.uk/pywin32-docs/win32file__ReadDirectoryChangesW_meth.html
    """
    nbytes = ctypes.wintypes.DWORD()
    try:
      ReadDirectoryChangesW(handle,
                            ctypes.byref(event_buffer),
                            len(event_buffer),
                            recursive,
                            WATCHDOG_FILE_NOTIFY_FLAGS,
                            ctypes.byref(nbytes),
                            None,
                            None)
    except WindowsError:
      return [], 0
    # get_FILE_NOTIFY_INFORMATION expects nBytes to be long.

    # Python 2/3 compat
    try:
      int_class = long
    except NameError:
      int_class = int
    return event_buffer.raw, int_class(nbytes.value)
コード例 #2
0
    def read_directory_changes(handle, event_buffer, recursive):
        """Read changes to the directory using the specified directory handle.

        http://timgolden.me.uk/pywin32-docs/win32file__ReadDirectoryChangesW_meth.html
        """
        nbytes = ctypes.wintypes.DWORD()
        ReadDirectoryChangesW(handle, ctypes.byref(event_buffer),
                              len(event_buffer),
                              recursive, WATCHDOG_FILE_NOTIFY_FLAGS,
                              ctypes.byref(nbytes), None, None)
        # get_FILE_NOTIFY_INFORMATION expects nBytes to be long.
        return event_buffer.raw, long(nbytes.value)