Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Faxdienst ruft während der Initialisierung die FaxDevVirtualDeviceCreation-Funktion auf, damit der Faxdienstanbieter (FSP) virtuelle Faxgeräte präsentieren kann. Jeder FSP, der virtuelle Faxgeräte für den Faxdienst darstellt, muss die FaxDevVirtualDeviceCreation-Funktion exportieren.
Syntax
BOOL FaxDevVirtualDeviceCreation(
[out] LPDWORD DeviceCount,
[out] LPWSTR DeviceNamePrefix,
[out] LPDWORD DeviceIdPrefix,
[in] HANDLE CompletionPort,
[in] ULONG_PTR CompletionKey
);
Parameter
[out] DeviceCount
Typ: LPDWORD
Zeiger auf eine nicht signierte DWORD-Variable , die die Anzahl der virtuellen Faxgeräte empfängt, die der Faxdienst für den FSP erstellen muss. Wenn der FSP diesen Parameter auf Null festlegt, schlägt die Initialisierung des Anbieters fehl.
[out] DeviceNamePrefix
Typ: LPWSTR
Zeiger auf eine Variable, die eine Unicode-Zeichenfolge mit Null-Endung empfängt, die auf 128 WCHAR-Zeichen beschränkt ist. Der FSP muss diese Zeichenfolge auf das Namenspräfix für das virtuelle Faxgerät festlegen. Der Faxdienst fügt den Wert des DeviceIdPrefix-Parameters an diese Zeichenfolge an. Das Ergebnis ist ein eindeutiger Gerätename für jedes virtuelle Faxgerät, das der Faxdienst erstellt.
[out] DeviceIdPrefix
Typ: LPDWORD
Zeiger auf eine nicht vorzeichenlose DWORD-Variable , die einen wert ohne Zero empfängt. Der FSP muss diesen Member auf einen eindeutigen numerischen Wert festlegen, der das virtuelle Faxgerät identifiziert. Der Faxdienst fügt diesen Wert einer sequenziellen Zahl hinzu, beginnend mit null für das erste virtuelle Gerät. Das Ergebnis ist ein eindeutiger Gerätebezeichner für jedes virtuelle Faxgerät, das der Faxdienst erstellt.
[in] CompletionPort
Typ: HANDLE
Gibt ein Handle an, das der FSP verwenden muss, um E/A-Vervollständigungsportpakete für asynchrone Zeilen status-Ereignisse an den Faxdienst zu senden. Derzeit unterstützt die FaxDevVirtualDeviceCreation-Funktion nur das Ereignis, das einen eingehenden Aufruf signalisiert.
Das Vervollständigungsportpaket muss eine TAPI 2.x LINEMESSAGE-Struktur sein. Der FSP muss Arbeitsspeicher für die Struktur mit LocalAlloc(LPTR, sizeof(LINEMESSAGE)) zuordnen. Der Faxdienstanbieter muss die Größe des zugewiesenen Arbeitsspeichers (in diesem Fall sizeof(LINEMESSAGE) an den dwNumberOfBytesTransferred-Parameter der PostQueuedCompletionStatus-Methode übergeben. Der Faxdienst gibt den Speicher frei, der für die Struktur des Vervollständigungspakets zugewiesen ist.
Der FSP muss die Elemente der Struktur wie folgt festlegen.
| Mitglied | Inhalte |
|---|---|
| hDevice | Festlegen auf DeviceId von FaxDevStartJob |
| dwMessageID | Auf 0 festlegen |
| dwCallbackInstance | Auf 0 festlegen |
| dwParam1 | Auf LINEDEVSTATE_RINGING festlegen |
| dwParam2 | Auf 0 festlegen |
| dwParam1 | Auf 0 festlegen |
Informationen zu Zeilen-status-Ereignissen finden Sie unter LINEDEVSTATE_ Konstanten in der TAPI-Dokumentation. Informationen zu E/A-Vervollständigungsports finden Sie unter E/A-Vervollständigungsports.
[in] CompletionKey
Typ: ULONG_PTR
Gibt einen Vervollständigungsschlüsselwert an. Der FSP muss diesen Wert verwenden, wenn der Anbieter Vervollständigungsportpakete an den Faxdienst sendet. Der FSP sollte diesen undurchsichtigen Wert an die PostQueuedCompletionStatus-Funktion übergeben.
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen abzurufen, ruft der Faxdienst GetLastError auf.
Hinweise
Der Faxdienst überprüft die FSP-DLL auf die FaxDevVirtualDeviceCreation-Funktion während der Initialisierung. Wenn der FSP die Funktion exportiert, geht der Faxdienst davon aus, dass der Anbieter virtuelle Faxgeräte bereitstellt. Der Faxdienst verarbeitet virtuelle Faxgeräte genauso wie physische Faxgeräte. Nach der Initialisierung gibt es keinen Unterschied zwischen der Funktionalität oder dem Betrieb eines FSP, der virtuelle Faxgeräte darstellt, und einem, der diese nicht darstellt.
Wenn ein FSP physische Faxgeräte verwendet, werden die Geräte für den Faxdienst vom TAPI und vom Telefoniedienstanbieter (TSP) aufgelistet. Wenn der FSP über keine physischen Faxgeräte verfügt und nur virtuelle Faxgeräte angezeigt wird, ist kein TSP vorhanden, und TAPI listet die Geräte nicht auf. In diesem instance stellt FaxDevVirtualDeviceCreation die Aufzählung des virtuellen Faxgeräts für den Faxdienst bereit.
Anforderungen
| Unterstützte Mindestversion (Client) | Windows 2000 Professional, Windows XP [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | faxdev.h |
Weitere Informationen
Erstellen eines Vervollständigungspakets
Verwenden eines virtuellen Geräts zum Übertragen eines Faxes