M
Aus irgendeinem Grund funktioniert das TEXT-Makro in diesem Beispiel nicht (Bei mir auch nicht, wenn ich den originalen Code aus dem MSDN-Beispiel nehme). Ich habe dann immer einen Konvertierungsfehler erhalten(1113-Für das Unicode-Zeichen ist kein zugeordnetes Zeichen in der Mehrbytecodepage vorhanden.) Ich habe es dann mit einer eigenen Funktion umgewandelt und hatte damit keine Probleme
PWCHAR WString( const char* str ) {
if( str == NULL ) {
return NULL;
}
int iBufSize = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, str, -1, NULL, 0 );
WCHAR* wstr= new WCHAR[iBufSize+1];
MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, str, -1, wstr, iBufSize );
return (wstr);
}
bool AFile::createShare( const AString& dir ,const AString& shareName){
SHARE_INFO_2 p;
p.shi2_netname = (LPSTR)WString(shareName);
p.shi2_type = STYPE_DISKTREE; // disk drive
p.shi2_remark = (LPSTR)WString("TESTSHARE to test NetShareAdd");
p.shi2_permissions = ACCESS_ALL;
p.shi2_max_uses = 4;
p.shi2_current_uses = 0;
p.shi2_path = (LPSTR)WString(dir);
p.shi2_passwd = NULL; // no password
DWORD parm_err = 0;
if(NetShareAdd((LPSTR)WString(AInfo::getCurrentNode()), 2, (LPBYTE) &p, &parm_err)==0) {
printf("Share created.");
return true;
} else {
AMsg::warnLogBox(AInfo::getCurrentLastErrorText());
return false;
}
}