Comment passer une map sur un named pipe windows ?
Bonjour tout le monde, :salut:
J'ai deux processus P1 et P2 qui tournent dans deux comptes différents sur le même pc (pour mon cas, l'un dans le compte SYSTEM et l'autre dans le compte user ) et qui veulent s'échanger des informations. un des deux récolte les informations qu'il a dans une map stl " std::map<string,vector<string>> ma_map", et veut envoyer ce contenu vers l'autre processus.
Alors j'aimerai bien savoir si la communication entre les deux peut se réduire à échanger une référence sur la map ou bien je vais m'acharner à encoder le contenu de la map sous format string puis la reconstruire de l'autre côté ?
Pour écrire sur le pipe les processus utilisent la fonction writefile, voici la doc msdn:
Citation:
BOOL WINAPI WriteFile(
__in HANDLE hFile,
__in LPCVOID lpBuffer,
__in DWORD nNumberOfBytesToWrite,
__out_opt LPDWORD lpNumberOfBytesWritten,
__inout_opt LPOVERLAPPED lpOverlapped
);
pBuffer [in]
A pointer to the buffer containing the data to be written to the file or device.
This buffer must remain valid for the duration of the write operation. The caller must not use this buffer until the write operation is completed.
Plus précisement, est ce que le type LPCVOID ici permettra de pointer une map stl pour la transmettre en entier à l'autre processus ? et si c'est vrai , comment je fais ça dans l'émission(je passe &ma_map ... ?) et dans la réception( casting vers map ..? )
Merci pour votre aide :)