NetScheduleJobAdd 함수(lmat.h)

[NetScheduleJobAdd는 더 이상 Windows 8 사용할 수 없습니다. 대신 작업 스케줄러 2.0 인터페이스를 사용합니다.

]

NetScheduleJobAdd 함수는 지정된 미래 시간과 날짜에 실행할 작업을 제출합니다. 이 함수를 사용하려면 작업이 제출된 컴퓨터에서 일정 서비스를 시작해야 합니다.

구문

NET_API_STATUS NET_API_FUNCTION NetScheduleJobAdd(
  [in, optional] LPCWSTR Servername,
  [in]           LPBYTE  Buffer,
  [out]          LPDWORD JobId
);

매개 변수

[in, optional] Servername

함수를 실행할 원격 서버의 DNS 또는 NetBIOS 이름을 지정하는 상수 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 로컬 컴퓨터가 사용됩니다.

[in] Buffer

제출할 작업을 설명하는 AT_INFO 구조체에 대한 포인터입니다. 다른 작업 속성을 사용하여 작업을 예약하는 방법에 대한 자세한 내용은 다음 설명 섹션 및 네트워크 관리 함수 버퍼를 참조하세요.

[out] JobId

새로 제출된 작업에 대한 작업 식별자를 수신하는 포인터입니다. 이 항목은 함수가 성공적으로 반환되는 경우에만 유효합니다.

반환 값

함수가 성공하면 반환 값이 NERR_Success.

함수가 실패하면 반환 값은 시스템 오류 코드입니다. 오류 코드 목록은 시스템 오류 코드를 참조하세요.

설명

일반적으로 일정 작업이 추가되는 컴퓨터의 로컬 관리자 그룹의 구성원만 이 함수를 성공적으로 실행할 수 있습니다. Servername 매개 변수가 가리키는 문자열에 전달된 서버 이름이 원격 서버인 경우 원격 서버의 로컬 Administrators 그룹의 멤버만 이 함수를 성공적으로 실행할 수 있습니다.

다음 레지스트리 값에 가장 중요한 비트 집합(예: 0x00000001)이 있는 경우 서버 연산자 그룹에 속한 사용자도 이 함수를 성공적으로 실행할 수 있습니다.

HKLM\System\CurrentControlSet\Control\Lsa\SubmitControl

다음은 NetScheduleJobAdd 함수에서 지원하는 다양한 속성을 사용하여 작업을 예약하는 방법의 예입니다.

한 번 실행되는 작업을 예약하려면 다음을 수행합니다.

  • AT_INFO 구조체의 DaysOfMonth 멤버를 0으로 설정합니다.
  • AT_INFO 구조체의 DaysOfWeek 멤버를 0으로 설정합니다.
  • AT_INFO 구조체의 JobTime 멤버를 작업이 실행되어야 하는 시간으로 설정합니다.
작업은 Buffer 매개 변수가 가리키는 AT_INFO 구조체의 JobTime 멤버에 의해 지정된 시간에 실행됩니다. 작업이 실행되면 삭제됩니다.

여러 번 실행되는 작업을 예약하고 삭제하려면 다음을 수행합니다.

  • AT_INFO 구조체의 DaysOfMonth 멤버에서 적절한 비트를 설정하거나
  • AT_INFO 구조체의 DaysOfWeek 멤버에서 적절한 비트를 설정합니다.
  • AT_INFO 구조체의 JobTime 멤버를 작업이 실행되어야 하는 시간으로 설정합니다.
참고AT_INFO 구조체의 DaysOfMonthDaysOfWeek 멤버를 둘 다 설정할 필요는 없습니다.
 
작업은 Buffer 매개 변수가 가리키는 AT_INFO 구조체의 JobTime 멤버가 지정한 시간에 실행되며, AT_INFO 구조체의 DaysOfMonth 또는 DaysOfWeek 멤버에 설정된 매일 한 번 실행됩니다. 각 작업이 실행되면 해당 비트가 지워집니다. 마지막 비트가 지워지면 작업이 삭제됩니다.

주기적으로 실행되는 작업을 예약하려면 다음을 수행합니다.

  • AT_INFO 구조체의 DaysOfMonth 멤버에서 적절한 비트를 설정하거나
  • AT_INFO 구조체의 DaysOfWeek 멤버에서 적절한 비트를 설정합니다.
  • AT_INFO 구조체의 JobTime 멤버를 작업이 실행되어야 하는 시간으로 설정합니다.
  • AT_INFO 구조체의 Flags 멤버에서 작업 제출 플래그JOB_RUN_PERIODICALLY 설정합니다.
참고AT_INFO 구조체의 DaysOfMonthDaysOfWeek 멤버를 둘 다 설정할 필요는 없습니다.
 
작업은 Buffer 매개 변수가 가리키는 AT_INFO 구조체의 JobTime 멤버가 지정한 시간에 AT_INFO 구조체DaysOfMonth 또는 DaysOfWeek 멤버에 설정된 매일 주기적으로 실행됩니다. 반복 실행의 결과로 작업이 삭제되지 않습니다. 작업을 삭제하는 유일한 방법은 NetScheduleJobDel 함수를 명시적으로 호출하는 것입니다.

DaysOfWeek, DaysOfMonth 및 작업 속성 비트 마스크에 대한 설명은 AT_INFO 구조를 참조하세요.

Windows 2000에서는 이전 AT 서비스와 작업 스케줄러가 결합되었습니다. 작업 스케줄러 서비스는 분까지만 정확했습니다. 따라서 NetScheduleJobAdd 함수는 작업이 실행되도록 예약된 경우 AT_INFO 구조체의 JobTime 멤버에 지정된 시간 및 분만 사용합니다.

Windows Vista부터 작업 스케줄러의 전체 자릿수가 두 번째로 증가했습니다. 따라서 NetScheduleJobAdd 함수는 작업이 실행되도록 예약될 때 AT_INFO 구조체의 JobTime 멤버에 지정된 시간, 분 및 초만 사용합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 lmat.h(Lmat.h 포함)
라이브러리 Netapi32.lib
DLL Netapi32.dll

추가 정보

AT_INFO

NetScheduleJobDel

NetScheduleJobEnum

NetScheduleJobGetInfo

네트워크 관리 함수

네트워크 관리 개요

일정 함수