/*++

Copyright (c) 1992  Microsoft Corporation

Module Name:

    SASecRPC.idl

Abstract:

    Scheduling Agent security RPC interface definition. This interface
    is used to securely set/get account information.

        SASetAccountInformation
        SAGetAccountInformation
Author:

    Mark Blanford       (markbl)        06 - June - 1996

Environment:

    User Mode - Win32 - MIDL

Revision History:

    06-Jun-1996     markbl
        Created

--*/

//
// Interface Attributes
//

[
    uuid(378E52B0-C0A9-11CF-822D-00AA0051E40F),
    version(1.0),
#ifdef __midl
	ms_union,
#endif // __midl
    pointer_default(unique)
]

//
// Interface Keyword
//

interface sasec


//
// Interface Body
//

{
import "wtypes.idl";

//
// ---------------------------------------------------------------//
//

typedef [handle] LPCWSTR SASEC_HANDLE;

HRESULT
SASetAccountInformation(
    [ in, string, unique ]  SASEC_HANDLE Handle,
    [ in, string ]          LPCWSTR      pwszJobName,
    [ in, string ]          LPCWSTR      pwszAccount,
    [ in, string, unique ]  LPCWSTR      pwszPassword,
    [ in ]                  DWORD        dwJobFlags);

HRESULT
SASetNSAccountInformation(
    [ in, string, unique ]  SASEC_HANDLE Handle,
    [ in, string, unique ]  LPCWSTR      pwszAccount,
    [ in, string, unique ]  LPCWSTR      pwszPassword);

HRESULT
SAGetNSAccountInformation(
    [ in, string, unique ]  SASEC_HANDLE Handle,
    [ in ]                  DWORD        ccBufferSize,
    [ in, out, , size_is(ccBufferSize) ]
                            WCHAR        wszBuffer[]);

HRESULT
SAGetAccountInformation(
    [ in, string, unique ]  SASEC_HANDLE Handle,
    [ in, string ]          LPCWSTR      pwszJobName,
    [ in ]                  DWORD        ccBufferSize,
    [ in, out, , size_is(ccBufferSize) ]
                            WCHAR        wszBuffer[]);
}