internal static extern error_t RG_ReadBlockDirect(
     [In] ref RG_ENDPOINT pEndpoint,
     byte deviceAddress,
     byte blockNum,
     [In] ref RG_PROFILE_DATA profileData,
     [In, Out] byte[] blockData,
     [In, Out] ref UInt32 blockDataSize,
     [In, Out] ref RG_PIN_SATETS_16 pinStates);
 /**
  * @brief Записывает профиль в память устройства
  * @param pEndpoint указатель на структуру с параметрами подключения
  * @param deviceAddress адрес устройства
  * @param profileNumber номер под которым будет записан профиль в память, в порядке убывания приоритета
  * @param pProfileinfo указатель на структуру с данными профиля
  * @return Код ошибки
  */
 public error_t RG_WriteProfile(
     ref RG_ENDPOINT pEndpoint,
     byte deviceAddress,
     byte profileNumber,
     byte blockNum,
     ref RG_PROFILE_DATA profileData)
 {
     if (_disposed)
     {
         throw new ObjectDisposedException(GetType().FullName);
     }
     return(_delegates.RG_WriteProfile(ref pEndpoint, deviceAddress, profileNumber, blockNum, ref profileData));
 }
 public error_t RG_ReadBlockDirect(
     ref RG_ENDPOINT pEndpoint,
     byte deviceAddress,
     byte blockNum,
     ref RG_PROFILE_DATA profileData,
     byte[] blockData,
     ref UInt32 blockDataSize,
     ref RG_PIN_SATETS_16 pinStates)
 {
     if (_disposed)
     {
         throw new ObjectDisposedException(GetType().FullName);
     }
     return(_delegates.RG_ReadBlockDirect(ref pEndpoint, deviceAddress, blockNum, ref profileData, blockData, ref blockDataSize, ref pinStates));
 }
 internal static extern error_t RG_WriteProfile(
     [In] ref RG_ENDPOINT pEndpoint,
     byte deviceAddress,
     byte profileNumber,
     byte blockNum,
     [In] ref RG_PROFILE_DATA profileData);