Add detailed analysis and documentation for RSNet.dll download functionality
- Introduced a comprehensive markdown document outlining the API surface of RSNet.dll related to downloading video files. - Documented initialization, connection, record querying, and download processes. - Provided insights into the exported functions, their parameters, and expected behaviors. - Included practical implications and recommendations for implementing a downloader script using C# interop. - Highlighted the necessary struct layouts and callback mechanisms for effective integration with the DLL.
This commit is contained in:
parent
0272c5ac3a
commit
de077ca5d5
34 changed files with 2084 additions and 152 deletions
62
SurveillanceClient/README.md
Normal file
62
SurveillanceClient/README.md
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# SurveillanceClient
|
||||
|
||||
.NET 10 host for driving the vendor `RSNet.dll` (32-bit) to download
|
||||
recorded video from a surveillance NVR/DVR.
|
||||
|
||||
## Layout
|
||||
|
||||
- `src/SurveillanceClient.Core` — class library that wraps the `RSNet.dll`
|
||||
native exports behind a service interface (`IRsNetClient`).
|
||||
- `src/SurveillanceClient.Cli` — console host used for iterative,
|
||||
manual testing of the Core library against a real device.
|
||||
|
||||
## Platform
|
||||
|
||||
`RSNet.dll` is a 32-bit Visual Studio DLL using `__stdcall`. Every
|
||||
project in this solution targets `x86` via `Directory.Build.props`.
|
||||
|
||||
## Running
|
||||
|
||||
The vendor DLL and its dependencies live in
|
||||
`i:\Apps\Surveillance_client`. The CLI sets that directory as the
|
||||
native DLL search path at startup so the DLL and its `.ini` config
|
||||
are found.
|
||||
|
||||
## Credentials
|
||||
|
||||
Credentials are **never committed**. Configure them via .NET user
|
||||
secrets (recommended) or a `appsettings.Local.json` file (ignored by
|
||||
`.gitignore`).
|
||||
|
||||
### User secrets (recommended)
|
||||
|
||||
```powershell
|
||||
cd src/SurveillanceClient.Cli
|
||||
dotnet user-secrets set "Device:Host" "192.168.100.92"
|
||||
dotnet user-secrets set "Device:Port" "9000"
|
||||
dotnet user-secrets set "Device:Username" "admin"
|
||||
dotnet user-secrets set "Device:Password" "your-password-here"
|
||||
```
|
||||
|
||||
### appsettings.Local.json (alternative)
|
||||
|
||||
Create `src/SurveillanceClient.Cli/appsettings.Local.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"Device": {
|
||||
"Host": "192.168.100.92",
|
||||
"Port": 9000,
|
||||
"Username": "admin",
|
||||
"Password": "your-password-here"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Build / Run
|
||||
|
||||
```powershell
|
||||
cd SurveillanceClient
|
||||
dotnet build
|
||||
dotnet run --project src/SurveillanceClient.Cli
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue