RemoteConfigCallBack.java 981 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package com.persagy.cameractl.controller;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. import java.nio.ByteBuffer;
  5. import com.persagy.cameractl.sdk40.HCNetSDK.FRemoteConfigCallBack;
  6. import com.sun.jna.Pointer;
  7. /**
  8. *
  9. * @version 1.0.0
  10. * @company persagy
  11. * @author zhangqiankun
  12. * @date 2022年6月24日 下午12:48:42
  13. */
  14. public class RemoteConfigCallBack implements FRemoteConfigCallBack {
  15. private FileOutputStream outputStream;
  16. public RemoteConfigCallBack(FileOutputStream outputStream) {
  17. this.outputStream = outputStream;
  18. }
  19. @Override
  20. public void invoke(int dwType, Pointer lpBuffer, int dwBufLen, Pointer pUserData) {
  21. long offset = 0;
  22. ByteBuffer buffers = pUserData.getByteBuffer(offset, dwBufLen);
  23. byte[] bytes = new byte[dwBufLen];
  24. buffers.rewind();
  25. buffers.get(bytes);
  26. try {
  27. outputStream.write(bytes);
  28. } catch (IOException e) {
  29. e.printStackTrace();
  30. }
  31. }
  32. }