NetWkstaUserSetInfo 関数 (lmwksta.h)

NetWkstaUserSetInfo 関数は、ワークステーションの構成要素に関するユーザー固有の情報を設定します。

構文

NET_API_STATUS NET_API_FUNCTION NetWkstaUserSetInfo(
        LMSTR   reserved,
  [in]  DWORD   level,
  [in]  LPBYTE  buf,
  [out] LPDWORD parm_err
);

パラメーター

reserved

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

[in] level

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

説明
1
ワークステーションに関する情報 (現在のユーザーの名前やワークステーションがアクセスするドメインを含む) を指定します。 buf パラメーターは、WKSTA_USER_INFO_1構造体を指します。
1101
ワークステーションによって参照されるドメインを指定します。 buf パラメーターは、WKSTA_USER_INFO_1101構造体を指します。

[in] buf

データを指定するバッファーへのポインター。 このデータの形式は、 level パラメーターの値によって異なります。 詳細については、「 ネットワーク管理関数バッファー」を参照してください。

[out] parm_err

ERROR_INVALID_PARAMETER エラーの原因となる最初のパラメーターのインデックスを受け取る値へのポインター。 このパラメーターが NULL の場合、エラー時にインデックスは返されません。

戻り値

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

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

リターン コード 説明
ERROR_INVALID_LEVEL
level パラメーターが無効です。
ERROR_INVALID_PARAMETER
関数パラメーターの 1 つが無効です。

解説

NetWkstaUserSetInfo 関数はローカルでのみ機能します。 管理者グループのメンバーシップが必要です。

WKSTA_USER_INFO_1101構造体のwkui1101_oth_domains メンバー内のドメイン名は、スペースで区切られます。 空のリストは有効です。 NULL ポインターは、メンバーを変更しないで残すことを意味します。 wkui1101_oth_domains メンバーを MS-DOS で設定することはできません。 この要素を設定すると、名前リストが無効な場合、またはシステムによって管理されている 1 つ以上のネットワーク アダプターに名前を追加できなかった場合、 NetWkstaUserSetInfo は要求を拒否します。

NetWkstaUserSetInfo 関数がERROR_INVALID_PARAMETERを返す場合は、parm_err パラメーターを使用して、ワークステーションのユーザー情報構造体のメンバーが無効であることを示すことができます。 (ワークステーションのユーザー情報構造はWKSTA_USER_INFO_で始まり、その形式は level パラメーターで指定されます)。次の表に、 parm_err パラメーターで返すことができる値と、エラーが発生している対応する構造体メンバーを示します。 (プレフィックス wkui*_ は、メンバーが複数のプレフィックス (wkui0_やwkui1_など) で始めることができることを示します。

メンバー
WKSTA_OTH_DOMAINS_PARMNUM wkui*_oth_domains
 

次のコード サンプルでは、 NetWkstaUserSetInfo 関数の呼び出しを使用して、情報レベル 1101 ( WKSTA_USER_INFO_1101) を指定して、ワークステーションのユーザー固有の情報を設定する方法を示します。

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

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

int wmain(int argc, wchar_t *argv[])
{
   DWORD dwLevel = 1101;
   WKSTA_USER_INFO_1101 wui;
   NET_API_STATUS nStatus;

   if (argc != 2)
   {
      fwprintf(stderr, L"Usage: %s OtherDomains\n", argv[0]);
      exit(1);
   }
   //
   // Fill in the WKSTA_USER_INFO_1101 structure member.
   //
   wui.wkui1101_oth_domains = argv[1];
   //
   // Call the NetWkstaUserSetInfo function
   //  to change the list of domains browsed by
   //  the workstation; specify level 1101.
   //
   nStatus = NetWkstaUserSetInfo(NULL,
                                 dwLevel,
                                 (LPBYTE)&wui,
                                 NULL);
   //
   // Display the result of the call.
   //
   if (nStatus == NERR_Success)
      fprintf(stderr, "Workstation user information has been changed\n");
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);

   return 0;
}

要件

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

関連項目

NetWkstaUserGetInfo

ネットワーク管理機能

ネットワーク管理の概要

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

ワークステーションおよびワークステーションのユーザー機能