I_NetLogonControl2関数 (lmaccess.h)

I_NetLogonControl2関数は、Netlogon サービスのさまざまな側面を制御します。

構文

NET_API_STATUS NET_API_FUNCTION I_NetLogonControl2(
  [in, optional] LPCWSTR ServerName,
  [in]           DWORD   FunctionCode,
  [in]           DWORD   QueryLevel,
  [in]           LPBYTE  Data,
  [out]          LPBYTE  *Buffer
);

パラメーター

[in, optional] ServerName

リモート サーバーの名前。

[in] FunctionCode

実行する操作。 この値には、次のいずれかを指定できます。

説明
NETLOGON_CONTROL_QUERY
1
何も実行しません。 要求された情報のみを返します。
NETLOGON_CONTROL_REPLICATE
2
バックアップ ドメイン コントローラー (BDC) 上のセキュリティ アカウント マネージャー (SAM) データベースを、プライマリ ドメイン コントローラー (PDC) のコピーと同期させます。 この操作は、完全同期を意味するものではありません。 Netlogon サービスは、可能な場合は未解決の相違点をレプリケートします。
NETLOGON_CONTROL_SYNCHRONIZE
3
BDC に、PDC から SAM データベースの新しいコピーを強制的に取得します。 この操作では、完全同期が実行されます。
NETLOGON_CONTROL_PDC_REPLICATE
4
PDC に対して、各 BDC に対して今すぐレプリケートを要求するように強制します。
NETLOGON_CONTROL_REDISCOVER
5
ドメイン コントローラー (DC) で、指定した信頼されたドメイン DC を強制的に再検出します。
NETLOGON_CONTROL_TC_QUERY
6
セキュリティで保護されたチャネルに対してクエリを実行し、最後の使用状況に関する状態の更新を要求します。
NETLOGON_CONTROL_TC_VERIFY
10
指定された信頼されたドメインセキュリティで保護されたチャネルの現在の状態を確認します。 状態が成功を示す場合、ドメイン コントローラーに ping が実行されます。 状態または ping が失敗を示している場合は、新しい信頼されたドメイン コントローラーが再検出されます。
NETLOGON_CONTROL_CHANGE_PASSWORD
9
セキュリティで保護されたチャネルで信頼されたドメインにパスワードを強制的に変更します。
NETLOGON_CONTROL_FORCE_DNS_REG
11
ドメイン コントローラーにすべての DNS レコードを強制的に再登録します。 QueryLevel パラメーターは 1 に設定する必要があります。
NETLOGON_CONTROL_QUERY_DNS_REG
12
Netlogon サービスによって実行される DNS 更新の状態を要求するクエリを発行します。 前回の更新で DNS 登録または登録解除エラーが発生した場合、結果は負になります。 QueryLevel パラメーターは 1 に設定する必要があります。

[in] QueryLevel

Netlogon サービスから返される情報を示します。 この値には、次のいずれかの構造体を指定できます。

NETLOGON_INFO_1 (1)

NETLOGON_INFO_2 (2)

NETLOGON_INFO_3 (3)

NETLOGON_INFO_4 (4)

[in] Data

FunctionCode パラメーターで指定された値に依存する入力データを格納します。 NETLOGON_CONTROL_REDISCOVERおよびNETLOGON_CONTROL_TC_QUERY関数コードは、信頼されたドメイン名を指定します (データ型は LPWSTR *)。

[out] Buffer

QueryLevel パラメーターで渡される構造体で要求された情報を含むバッファーへのポインターを返します。

バッファーは NetApiBufferFree を使用して解放する必要があります。

戻り値

メソッドは、成功した0x00000000 (NERR_Success) を返します。それ以外の場合は、Lmerr.h または Winerror.h で定義されている 0 以外のエラー コードが返されます。 エラー コードNET_API_STATUS、値0x00000834で始まります。 ネットワーク管理エラー コードの詳細については、「 Network_Management_Error_Codes」を参照してください。 返される可能性がある戻り値を次の表に示します。

リターン コード/値 Description
NERR_Success
0x00000000
メソッド呼び出しはエラーなしで完了しました。
ERROR_ACCESS_DENIED
0x00000005
呼び出し元に対するアクセス検証は false を返します。 アクセスが拒否されました。
ERROR_NOT_ENOUGH_MEMORY
0x00000008
このコマンドを処理するのに十分なストレージがありません。
ERROR_NOT_SUPPORTED
0x00000032
関数コードは、指定されたサーバーでは無効です。 たとえば、NETLOGON_CONTROL_REPLICATEがプライマリ ドメイン コントローラー (PDC) に渡されている可能性があります。
ERROR_INVALID_PARAMETER
0x00000057
パラメーターが正しくありません。
ERROR_INVALID_LEVEL
0x0000007C
クエリ呼び出しレベルが正しくありません。
ERROR_SERVICE_NOT_ACTIVE
0x000004261210121
サービスは開始されていません。
ERROR_INVALID_COMPUTERNAME
0x000004BA
指定されたコンピューター名の形式が無効です。
ERROR_NO_LOGON_SERVERS
0x0000051F
現在、ログオン要求を処理できるログオン サーバーはありません。
ERROR_INVALID_DOMAIN_ROLE
0x0000054A
ドメイン間信頼アカウントのパスワード変更がバックアップ ドメイン コントローラー (BDC) で試行されました。 この操作は、ドメインの PDC に対してのみ許可されます。
ERROR_NO_SUCH_DOMAIN
0x0000054B
指定したドメインが存在しないか、またはアクセスできません。
NERR_UserNotFound
0x000008AD
ユーザー名が見つかりませんでした。

解説

この関数を使用して、BDC が SAM データベースのコピーを最新の状態に保つよう要求できます。 また、BDC が現在 PDC に対してセキュリティで保護されたチャネルを開いているかどうかを判断するためにも使用できます。

必要条件

   
対象プラットフォーム Windows
ヘッダー lmaccess.h
Library Netapi32.lib
[DLL] Netapi32.dll

関連項目

NETLOGON_INFO_1

NETLOGON_INFO_2

NETLOGON_INFO_3

NETLOGON_INFO_4