NetRemoteTOD 関数 (lmremutl.h)
NetRemoteTOD 関数は、指定されたサーバーから時刻情報を返します。
構文
NET_API_STATUS NET_API_FUNCTION NetRemoteTOD(
[in] LPCWSTR UncServerName,
[out] LPBYTE *BufferPtr
);
パラメーター
[in] UncServerName
関数を実行するリモート サーバーの DNS または NetBIOS 名を指定する定数文字列へのポインター。 このパラメーターが NULL の場合は、ローカル コンピューターが使用されます。
[out] BufferPtr
TIME_OF_DAY_INFO情報構造体を受け取るアドレスへのポインター。 このバッファーはシステムによって割り当てられ、 NetApiBufferFree 関数を使用して解放する必要があります。
戻り値
関数が成功した場合、戻り値はNERR_Success。
関数が失敗した場合、戻り値はシステム エラー コードです。 エラー コードの一覧については、「 システム エラー コード」を参照してください。
解説
NetRemoteTOD 関数を正常に実行するために特別なグループ メンバーシップは必要ありません。
例
次のコード サンプルは、 NetRemoteTOD 関数を呼び出して現在の日付と時刻を取得して出力する方法を示しています。 これを行うために、サンプルでは TIME_OF_DAY_INFO 構造体を使用します。 最後に、このサンプルでは、情報バッファーに割り当てられたメモリを解放します。
#include <stdio.h>
#include <windows.h>
#include <lm.h>
#pragma comment(lib, "netapi32.lib")
#ifndef UNICODE
#define UNICODE
#endif
int wmain(int argc, wchar_t *argv[])
{
LPTIME_OF_DAY_INFO pBuf = NULL;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;
if (argc > 2)
{
fwprintf(stderr, L"Usage: %s [\\\\ServerName]\n", argv[0]);
exit(1);
}
// The server is not the default local computer.
//
if (argc == 2)
pszServerName = (LPTSTR) argv[1];
//
// Call the NetRemoteTOD function.
//
nStatus = NetRemoteTOD((LPCWSTR) pszServerName,
(LPBYTE *)&pBuf);
//
// If the function succeeds, display the current date and time.
//
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
fprintf(stderr, "\nThe current date is: %d/%d/%d\n",
pBuf->tod_month, pBuf->tod_day, pBuf->tod_year);
fprintf(stderr, "The current time is: %d:%d:%d\n",
pBuf->tod_hours, pBuf->tod_mins, pBuf->tod_secs);
}
}
//
// Otherwise, display a system error.
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated buffer.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);
return 0;
}
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | lmremutl.h (include Lm.h) |
Library | Netapi32.lib |
[DLL] | Netapi32.dll |