Пример #1
0
HRESULT PipeStream::GetClientUserName(char* buffer, ULONG length) {
  if (buffer == nullptr)
    return E_INVALIDARG;
  if (!IsValid())
    return E_HANDLE;

  if (!GetNamedPipeHandleStateA(handle_, nullptr, nullptr, nullptr, nullptr,
                                buffer, length))
    return HRESULT_FROM_LAST_ERROR();

  return S_OK;
}
Пример #2
0
std::string Pipe::userName()
{
    MLIB_ASSERT_STR(m_handle != nullptr, "Pipe invalid in Pipe::UserName");
    char buffer[512];
    BOOL success = GetNamedPipeHandleStateA(
        m_handle,
        nullptr,
        nullptr,
        nullptr,
        nullptr,
        buffer,
        512);
    MLIB_ASSERT_STR(success != FALSE, "GetNamedPipeHandleState failed in Pipe::UserName");
    return std::string(buffer);
}