58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <windows.h>
|
|
|
|
DWORD
|
|
TSNewSource(
|
|
IN LPTSTR ServerName,
|
|
IN LPTSTR SourceName,
|
|
IN DWORD Reserved
|
|
);
|
|
|
|
_cdecl
|
|
main(int argc, char ** argv)
|
|
{
|
|
DWORD err;
|
|
LPSTR server;
|
|
LPWSTR serverName;
|
|
WCHAR computerName[MAX_COMPUTERNAME_LENGTH+1];
|
|
DWORD computerNameSize = MAX_COMPUTERNAME_LENGTH+1;
|
|
|
|
server = getenv( "TargetSystem" );
|
|
if ( server == NULL ) {
|
|
printf("Please define 'TargetSystem' first!\n");
|
|
return(1);
|
|
}
|
|
|
|
serverName = LocalAlloc( LMEM_ZEROINIT, (strlen(server) + 1) * sizeof(WCHAR) );
|
|
if ( serverName == NULL ) {
|
|
printf("Failed to allocate a %d byte buffer!\n",
|
|
(strlen(server) + 1) * sizeof(WCHAR) );
|
|
return(1);
|
|
}
|
|
|
|
if ( argc > 1 ) {
|
|
printf("usage: %s\n", *argv);
|
|
return(1);
|
|
}
|
|
|
|
mbstowcs( serverName, server, strlen(server) );
|
|
|
|
err = GetComputerNameW( computerName, &computerNameSize );
|
|
if ( !err ) {
|
|
printf("Failed to get local computer name, error %d\n", err);
|
|
return(1);
|
|
}
|
|
|
|
printf("Telling %s to use local system (%ws) as a time source!\n",
|
|
server, computerName);
|
|
|
|
err = TSNewSource(serverName,
|
|
computerName,
|
|
0);
|
|
printf("status = %d\n", err);
|
|
|
|
return(0);
|
|
|
|
}
|