RPC - ваш друг здесь (я бы не использовал именованные каналы для передачи защищенных данных, потому что у них есть серьезные проблемы (потому что они работают в глобальном пространстве имен и поэтому уязвимы для атак на корточках)).
Поскольку данные не передаются по проводам, шифрование не так важно, как описывают некоторые. Вместо этого пусть один процесс реализует сервер RPC, а другой конец связывается с этим сервером, выполняет вызов RPC с учетными данными и уничтожает дескриптор привязки, что должно разрушить промежуточные структуры данных.
Не забудьте безопасно обнулить память, когда вы закончите ее использовать (в противном случае она может быть сохранена на диске).
Если вы действительно хотите использовать шифрование, используйте CryptProtectMemory, который будет шифровать данные способом, который можно использовать для IPC.