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.
Gdy do przesyłania informacji między interfejsem TAPI a aplikacją są używane niezmiennie rozmiary struktur danych, aplikacja jest odpowiedzialna za przydzielanie niezbędnej pamięci. Ilość przydzielonej pamięci musi być co najmniej wystarczająco duża dla stałej części struktury danych i jest ustawiana przez aplikację w dwTotalSize składowej struktury danych. Elementy członkowskie dwUsedSize i dwNeededSize są wypełniane przez interfejs TAPI. Jeśli dwTotalSize jest mniejsza niż rozmiar stałej części, zwracana jest wartość LINEERR/PHONEERR_STRUCTURETOOSMALL. Jeśli funkcja zwróci powodzenie, wszystkie pola w stałej części zostały wypełnione. Elementy członkowskie dwUsedSize i dwNeededSize można porównać, aby określić, czy wszystkie części zmiennych zostały wypełnione i ile miejsca będzie wymagane do wypełnienia ich wszystkich.
Jeśli dwNeededSize jest równa dwUsedSize, wszystkie stałe i zmienne części zostały wypełnione. Jeśli dwNeededSize jest większa niż dwUsedSize, niektóre części zmiennych mogły zostać wypełnione, ale dokładnie, które pola o niezmiennym rozmiarze zostały wypełnione, jest niezdefiniowane. Żadna część zmiennej nigdy nie jest obcięta, a części zmiennych, które byłyby obcięte z powodu niewystarczającej ilości miejsca, są wskazywane przez obie części odpowiadające im "Przesunięcie" i "Rozmiar" ustawione na zero. Jeśli nie są one zerowe (i nie zostały zwrócone żadne błędy), wskazują przesunięcie i rozmiar prawidłowych, nietrudowanych danych części zmiennej.
Aplikacja zawsze może zagwarantować, że wszystkie części zmiennych są wypełniane przez przydzielanie i wskazywanie dwNeededSize bajtów dla struktury i wywołanie funkcji "Get" ponownie, dopóki funkcja nie zwróci powodzenia i dwNeedEdSize równa się dwUsedSize. Powinno się to zdarzyć w drugiej próbie z wyjątkiem warunków wyścigu, które powodują zmiany wielkości zmiennych części między wywołaniami, co powinno być rzadkim wystąpieniem.
Nuta
Wszystkie ciągi tekstowe, niezależnie od kodowania, w niezmiennych strukturach wielkości powinny być null- zakończone zgodnie z normalną konwencją obsługi ciągów języka C.