Если вы не используете службу аутентификации на основе сертификатов, я предлагаю вам взглянуть на QueryBlanket
IServerSecurity::QueryBlanket([out] DWORD *pAuthnSvc..., [out] void** pPrivs, ...)
В зависимости от фактической службы аутентификации, pPrivs может представлять собойуказатель на объект типа SEC_WINNT_AUTH_IDENTITY.Эта структура содержит доменное имя клиента.Таким образом, вы можете легко проверить, соответствует ли он серверному.
Чтобы получить экземпляр объекта защиты сервера, можно использовать следующий код:
HRESULT hr;
CComQIPtr<IServerSecurity> ss;
if(FAILED(hr = ::CoGetCallContext(__uuidof(IServerSecurity), reinterpret_cast<void**>(&ss))))
throw com_exception(hr, "Unable to retrieve the server security object");