次の方法で共有


NetWkstaUserGetInfo 関数 (lmwksta.h)

NetWkstaUserGetInfo 関数は、現在ログオンしているユーザーに関する情報を返します。 この関数は、ログオンユーザーのコンテキストで呼び出す必要があります。

構文

NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
        LMSTR  reserved,
  [in]  DWORD  level,
  [out] LPBYTE *bufptr
);

パラメーター

reserved

このパラメーターは NULL に設定する必要があります。

[in] level

データの情報レベルを指定します。 このパラメーターには、次の値のいずれかを指定できます。

説明
0
ワークステーションに現在ログオンしているユーザーの名前を返します。 bufptr パラメーターは、WKSTA_USER_INFO_0構造体を指します。
1
ワークステーションに関する情報 (現在のユーザーの名前、ワークステーションからアクセスされるドメインなど) を返します。 bufptr パラメーターは、WKSTA_USER_INFO_1構造体を指します。
1101
ワークステーションが参照するドメインを返します。 bufptr パラメーターは、WKSTA_USER_INFO_1101構造体を指します。

[out] bufptr

データを受信するバッファーへのポインター。 このデータの形式は 、bufptr パラメーターの値によって異なります。 このバッファーはシステムによって割り当てられ、 NetApiBufferFree 関数を使用して解放する必要があります。 詳細については、「 ネットワーク管理機能バッファー 」および「 ネットワーク管理機能バッファーの長さ」を参照してください。

戻り値

関数が成功した場合、戻り値はNERR_Success。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
ERROR_NOT_ENOUGH_MEMORY
システムがメモリ リソースを使い果たしました。 ネットワーク マネージャーの構成が正しくないか、メモリが不足しているシステムでプログラムが実行されています。
ERROR_INVALID_LEVEL
level パラメーターが無効です。
ERROR_INVALID_PARAMETER
関数パラメーターの 1 つが無効です。

解説

NetWkstaUserGetInfo 関数はローカルでのみ機能します。

次のコード サンプルは、 NetWkstaUserGetInfo 関数の呼び出しを使用して、現在ログオンしているユーザーに関する情報を取得する方法を示しています。 このサンプルでは、情報レベル 1 ( WKSTA_USER_INFO_1) を指定して NetWkstaUserGetInfo を呼び出します。 呼び出しが成功した場合、サンプルはログオンしているユーザーに関する情報を出力します。 最後に、サンプルは情報バッファーに割り当てられたメモリを解放します。

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")

#include <stdio.h>
#include <windows.h> 
#include <lm.h>

int wmain(void)
{
   DWORD dwLevel = 1;
   LPWKSTA_USER_INFO_1 pBuf = NULL;
   NET_API_STATUS nStatus;
   //
   // Call the NetWkstaUserGetInfo function;
   //  specify level 1.
   //
   nStatus = NetWkstaUserGetInfo(NULL,
                                 dwLevel,
                                 (LPBYTE *)&pBuf);
   //
   // If the call succeeds, print the information
   //  about the logged-on user.
   //
   if (nStatus == NERR_Success)
   {
      if (pBuf != NULL)
      {
         wprintf(L"\n\tUser:          %s\n", pBuf->wkui1_username);
         wprintf(L"\tDomain:        %s\n", pBuf->wkui1_logon_domain);
         wprintf(L"\tOther Domains: %s\n", pBuf->wkui1_oth_domains);
         wprintf(L"\tLogon Server:  %s\n", pBuf->wkui1_logon_server);
      }
   }
   // Otherwise, print the system error.
   //
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);
   //
   // Free the allocated memory.
   //
   if (pBuf != NULL)
      NetApiBufferFree(pBuf);

   return 0;
}

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー lmwksta.h (Lm.h を含む)
Library Netapi32.lib
[DLL] Netapi32.dll

関連項目

NetWkstaSetInfo

ネットワーク管理機能

ネットワーク管理の概要

WKSTA_USER_INFO_0

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

ワークステーションとワークステーションのユーザー機能