Zmiana LPCSTR na const char* lub PCHAR

0

Robię modyfikację dla filezilla server i chcę wkleić sprawdzanie użytkownika w AD. Kompiluje pod VS2013 w systemie UNICODE.
Na wejściu funkcji sprawdzającej mam zdefiniowane:

BOOL CPermissions::CheckUserLogin(LPCTSTR username, LPCTSTR pass, CUser &userdata, BOOL noPasswordCheck /=FALSE/)

Wykonuję wstępnie szyfrowanie połączenia i następnie dokonuję sprawdzenia połączenia przy pomocy określonego użytkownika za pomocą funkcji ldap_simple_bind_s.
Wg msdn zdefiniowana jest ona następująco:

ULONG ldap_simple_bind_s(
In LDAP *ld,
In PCHAR dn,
In PCHAR passwd
);

Mój fragment kodu:


// Tu nie wiem jak przejść z username na user_1

const size_t cSize2 = strlen(user_1) + 1;
wchar_t* user_ldap = new wchar_t[cSize2];
mbstowcs(user_ldap, user_1, cSize2);

// Tu nie wiem jak przejść z pass na pass_1

const size_t cSize2 = strlen(pass_1) + 1;
wchar_t* user_ldap = new wchar_t[cSize2];
mbstowcs(user_ldap, user_1, cSize2);

returnCode2 = ldap_simple_bind_s(pLdapConnection,user_ldap,pass_ldap);

Czy dobrze rozumiem, że w UNICODE LPCTSTR przyjmuję wartość long pointer const char*?

0

Zmiana LPCSTR na const char* lub PCHAR

LPCSTR (Long Pointer to Constant STRing) - const char *

UNICODE LPCTSTR

An LPCWSTR is a 32-bit pointer to a constant string of 16-bit Unicode characters, which MAY be null-terminated.

This type is declared as follows:

typedef const wchar_t* LPCWSTR;
0

L — Long. pojęcie long pointera miało sens tylko w 16-bitowym systemie. teraz nie ma znaczenia czy jest L czy nie ma.
P — Pointer. wskaźnik.

teraz opcjonalnie:
C — const

następnie typ znakowy:
(brak) — char, domyślna strona kodowa systemu
W — Wide, czyli wchar_t, co pod Windowsem oznacza kodowanie UTF-16
T — zależnie od tego czy jest #define UNICODE, oznacza wchar_t jeśli zdefiniowano UNICODE i char jeśli nie.

i w końcu:
STR — STRing.

czyli:
LPSTRchar*
LPCSTRconst char*
LPWSTRwchar_t*
LPCWSTRconst wchar_t*
LPTSTRTCHAR*, czyli albo LPSTR albo LPWSTR
LPCTSTRconst TCHAR*, czyli albo LPCSTR albo LPCWSTR
PWSTR — to samo co LPWSTR
TCHARchar albo wchar_t

1 użytkowników online, w tym zalogowanych: 0, gości: 1