Как COM отправляет буфер? - PullRequest
0 голосов
/ 15 апреля 2019

Я создал сервер ATL (.exe) с функцией, которая фактически отправляет буфер. Примерно так (idl):

interface IMyIFace : IDispatch{
    [helpstring("method SendBuffer")] HRESULT SendBuffer([in] LONG     BuffSize, [in, size_is(BuffSize)] BYTE* pData, [out] LONG* pExecCode);
};

Когда я вызываю функцию из клиента (другой exe), фактическая производительность была быстрее, чем raw memcpy того же блока памяти. Совершенно неясно, как это происходит? COM должен делать хотя бы memcpy внутри, верно?

...