Skip to content

Commit f14309c

Browse files
authored
Create README
1 parent 54ca683 commit f14309c

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# FaxSync
2+
3+
Windows faxes are not stored in the filesystem like [normal systems](https://en.wikipedia.org/wiki/Linux) do, so you have to do an entire song and dance to get all faxes on a machine.
4+
5+
This should build a `FaxSync.exe` executable, which can then be used to either extract the last N days of faxes (default 1 week):
6+
7+
```
8+
> FaxSync.exe \\myfaxserver 10
9+
```
10+
11+
Or you can show some information about the fax server
12+
13+
```
14+
> FaxSync.exe \\myfaxserver info
15+
```
16+
17+
## Creating a windows fax service api client in VB
18+
19+
Don't do this.
20+
21+
I cannot stress that enough--do not do this. It's a soul crushing journey through incomplete documentation, old Windows APIs, and boneheaded design decision.
22+
23+
If you do, here are some notes:
24+
25+
- Faxes on windows are handled by an archaic API. Inbound faxes are hidden on the filesystem, locked away in a proprietary database.
26+
- Access is provided through the `FAXCOMEXLib` .COM library, which you can use through .NET systems
27+
- An example is provided from the MS docs (see second link below). This is helpful, but:
28+
- Note that to use this, you must enable the `FAXCOMEXLib` .COM reference. See Project Explorer > References > Add Reference
29+
- The specific reference is "Microsoft Fax Service Extended COM Type Library", version 1.0. Something tells me there won't be a version 2.0.
30+
- You'll also need to add a `Imports FAXCOMEXLib` to the top of the file.
31+
- Skip the line which has the `objFaxServer.Folders.IncomingArchive.Refresh()` method, this will fail with `0x80070032 Operation Failed.`
32+
- Googling this will not help. Why is it there? Why is it like this? A mystery lost to the ages.
33+
- `FaxIncomingMessage`'s `TransmissionEnd` date does not exist. It's an invalid date.
34+
- (At least with our fax system), `FaxIncomingMessage`'s `SenderFaxNumber` doesn't exist, rather it's a part of the `CallerId` string
35+
36+
Useful links:
37+
- [Fax Server Documentation](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/fax/-mfax-faxserve)
38+
- [Open a fax from the Incoming Fax Archive](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/fax/-mfax-opening-a-fax-from-the-incoming-archive)

0 commit comments

Comments
 (0)