-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "\"Marsjanin\"" <z...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: Bezpieczne przekazywanie ciągów znaków
Date: Tue, 23 Feb 2010 19:53:07 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 38
Message-ID: <hm187v$d75$1@inews.gazeta.pl>
References: <hkv3ln$h6k$1@news.onet.pl>
NNTP-Posting-Host: chello089079131109.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1266951232 13541 89.79.131.109 (23 Feb 2010 18:53:52 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 23 Feb 2010 18:53:52 +0000 (UTC)
X-Antivirus-Status: Clean
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
X-User: ziemianp
X-Antivirus: avast! (VPS 100223-1, 2010-02-23), Outbound message
X-MSMail-Priority: Normal
Xref: news-archive.icm.edu.pl pl.comp.programming:185081
[ ukryj nagłówki ]Ja taką współpracę (program <-> DLL) zrealizowałem kiedyś następująco:
void* Init(...); // wołane raz przy inicjalizacji (rejestracja pluginu)
__int32 DoSomenthing(void *handle,TCHAR *Bufor,unsigned __int32
*SizeOfBufor);
__int32 Free(void *handle); // wołane raz przy zwalnianiu zasobów
(wyrejestrowanie pluginu)
Komunikacja z DoSomething wyglądała następująco:
<CODE>
unsigned __int32 buforSize = 0;
__int32 error = DoSomenthing(handle,NULL,&buforSize);
if (error >= _OK) {
TCHAR *wynik = new TCHAR[buforSize];
if (wynik) {
error = DoSomenthing(handle,wynik,&buforSize);
if (error >= _OK) {
// obsługa wyniku
}
else AddError(error,TEXT("DoSomenthing(...)"));
delete[] wynik;
}
}
else AddError(error,TEXT("DoSomenthing(NULL)"));
</CODE>
Wewnątrz funkcji DoSomenthing "pracochłonne rzeczy" wykonywałem tylko gdy
wywołanie było z NULL'em. Wówczas czyściłem wewnętrzne struktury (ukryte pod
wskaźnikiem "handle") i zapamiętywałem tam bieżące wyniki.
Wywołanie z podanym wskaźnikiem "wynik" i rozmiarem bufora kopiowało tylko
dane ze struktur wewnętrznych do bufora użytkownika.
Problemu z wątkami nie miałem, bo każdy wątek musiał wykonać swoje "Init" i
"Free".
Pozdrawiam,
Piotr
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-10 wyobrazcie sobie ze
- 2024-06-10 malowanie samochodu
- 2024-06-10 News from Poland
- 2024-06-10 Czy na pewno będą CŁA na chińskie samochody?
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- 2024-06-09 Czemu news.chmurka.nwt jest taki wolny?
- 2024-06-11 Funbox 3.0 zakres adresów DHCP
- 2024-06-11 Re: Funbox 3.0 zakres adresów DHCP
- 2024-06-09 Miernik szybkości netu
- 2024-06-11 Panele PV w pionie (prawie).
- 2024-06-11 czy ta grupa żyje?
- 2024-06-11 Warszawa => Senior React Native Developer <=
- 2024-06-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=