Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa urządzenia comm/datamodem składa się z urządzeń datamodem. Dostęp do tych urządzeń można uzyskać przy użyciu plików i funkcji komunikacji . Urządzenia w tej klasie są skojarzone z urządzeniami liniowymi obsługującymi typ nośnika LINEMEDIAMODE_DATAMODEM określony w dwMediaModes składowej LINEDEVCAPS struktury urządzenia liniowego.
Funkcja lineGetID wypełnia strukturę VARSTRING, ustawiając dwStringFormat na wartość STRINGFORMAT_BINARY i dołączając następujące dodatkowe elementy członkowskie:
HANDLE hComm; // file handle to data modem
CHAR szDeviceName[1]; // name of data modem
Elementem członkowskim hComm jest obsługa otwartego portu komunikacyjnego. Ten element członkowski jest null, jeśli port nie jest jeszcze otwarty lub jeśli parametr dwSelect lineGetID nie jest wartością LINECALLSELECT_CALL. Jeśli wywołanie jest aktywne, dostawca usług zazwyczaj otwiera sam port, aby uzyskać bezpośrednią kontrolę nad sprzętem komunikacji, ale jest wymagany tylko do zwrócenia prawidłowego uchwytu, jeśli linia jest połączona. Dostawca usług otwiera port przy użyciu wartości FILE_FLAG_OVERLAPPED, a następnie konfiguruje port przy użyciu ustawień określonych przez funkcję lineSetDevConfig. Dodatkowe opcje konfiguracji dla urządzenia można ustawić przy użyciu funkcji komunikacji z zwróconym uchwytem.
Element członkowski szDeviceName jest o wartości null-terminated ciąg określający nazwę portu komunikacji skojarzonego z wierszem, adresem lub wywołaniem.
Jeśli hComm jest prawidłowym dojściem, można go użyć w kolejnych wywołaniach funkcji plików, takich jak ReadFile i WriteFile, do wysyłania i odbierania danych w wywołaniu. Po zakończeniu korzystania z portu komunikacji, a najlepiej przed użyciem funkcji lineDeallocateCall, należy zamknąć port przy użyciu funkcji closeHandle.
W przypadku korzystania z funkcji lineGetDevConfig i lineSetDevConfig niektórzy dostawcy usług wymagają, aby dane konfiguracji dla tej klasy urządzeń miały następujący format:
typedef struct tagDEVCFG {
DEVCFGHDR dfgHdr;
COMMCONFIG commconfig;
} DEVCFG, *PDEVCFG, FAR* LPDEVCFG;
// Device setting information
typedef struct tagDEVCFGDR {
DWORD dwSize;
DWORD dwVersion;
WORD fwOptions;
WORD wWaitBong;
} DEVCFGHDR;
Poniżej przedstawiono informacje o konfiguracji urządzenia do użycia z lineGetDevConfig i lineSetDevConfig funkcji.
-
dwSize
-
Suma rozmiaru struktury DEVCFGHDR oraz rzeczywistego rozmiaru struktury COMMCONFIG.
-
dwVersion
-
Numer wersji struktury Dev Config unimodem. Ten element członkowski może być MDMCFG_VERSION (0x00010003).
-
fwOptions
-
Flagi opcji wyświetlane na stronie Opcja unimodem. Ten element członkowski może być kombinacją tych wartości:
-
TERMINAL_PRE (1)
-
Wyświetla ekran przed terminalem.
-
TERMINAL_POST (2)
-
Wyświetla ekran po terminalu.
-
MANUAL_DIAL (4)
-
Wybiera telefon ręcznie, jeśli jest w stanie to zrobić.
-
LAUNCH_LIGHTS (8)
-
Wyświetla ikonę modemu w obszarze stanu paska zadań.
Domyślnie ustawiona jest tylko wartość LAUNCH_LIGHTS
-
-
wWaitBong
-
Liczba sekund (w ciągu dwóch sekund szczegółowości) w celu zastąpienia oczekiwania na ton środków ($).
-
Commconfig
-
struktura COMMCONFIG, która może być używana z funkcjami konfiguracji komunikacji i modemu.