/* CVE-2022-38034 PoC code
 * Copyright 2022 Akamai Technologies, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in
 * compliance with the License.  You may obtain a copy
 * of the License at
 *
 *   https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in
 * writing, software distributed under the License is
 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing
 * permissions and limitations under the License.
 */

/* this ALWAYS GENERATED file contains the RPC client stubs */


 /* File created by MIDL compiler version 8.01.0626 */
/* at Tue Jan 19 05:14:07 2038
 */
/* Compiler settings for ms-wkst.idl:
    Os, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0626 
    protocol : dce , ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING(  ) */

#if defined(_M_AMD64)


#pragma warning( disable: 4049 )  /* more than 64k source lines */
#if _MSC_VER >= 1200
#pragma warning(push)
#endif

#pragma warning( disable: 4211 )  /* redefine extern to static */
#pragma warning( disable: 4232 )  /* dllimport identity*/
#pragma warning( disable: 4024 )  /* array to pointer mapping*/

#include <string.h>

#include "ms-wkst.h"

#define TYPE_FORMAT_STRING_SIZE   1017                              
#define PROC_FORMAT_STRING_SIZE   327                               
#define EXPR_FORMAT_STRING_SIZE   1                                 
#define TRANSMIT_AS_TABLE_SIZE    0            
#define WIRE_MARSHAL_TABLE_SIZE   0            

typedef struct _ms2Dwkst_MIDL_TYPE_FORMAT_STRING
    {
    short          Pad;
    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
    } ms2Dwkst_MIDL_TYPE_FORMAT_STRING;

typedef struct _ms2Dwkst_MIDL_PROC_FORMAT_STRING
    {
    short          Pad;
    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
    } ms2Dwkst_MIDL_PROC_FORMAT_STRING;

typedef struct _ms2Dwkst_MIDL_EXPR_FORMAT_STRING
    {
    long          Pad;
    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];
    } ms2Dwkst_MIDL_EXPR_FORMAT_STRING;


static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax = 
{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

#if defined(_CONTROL_FLOW_GUARD_XFG)
#define XFG_TRAMPOLINES(ObjectType)\
static unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\
{\
return  ObjectType ## _UserSize(pFlags, Offset, pObject);\
}\
static unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\
{\
return ObjectType ## _UserMarshal(pFlags, pBuffer, pObject);\
}\
static unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\
{\
return ObjectType ## _UserUnmarshal(pFlags, pBuffer, pObject);\
}\
static void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\
{\
ObjectType ## _UserFree(pFlags, pObject);\
}
#define XFG_TRAMPOLINES64(ObjectType)\
static unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\
{\
return  ObjectType ## _UserSize64(pFlags, Offset, pObject);\
}\
static unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\
{\
return ObjectType ## _UserMarshal64(pFlags, pBuffer, pObject);\
}\
static unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\
{\
return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, pObject);\
}\
static void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\
{\
ObjectType ## _UserFree64(pFlags, pObject);\
}
#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\
static void* ObjectType ## _bind_XFG(HandleType pObject)\
{\
return ObjectType ## _bind((ObjectType) pObject);\
}\
static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\
{\
ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\
}
#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG
#else
#define XFG_TRAMPOLINES(ObjectType)
#define XFG_TRAMPOLINES64(ObjectType)
#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)
#define XFG_TRAMPOLINE_FPTR(Function) Function
#endif


extern const ms2Dwkst_MIDL_TYPE_FORMAT_STRING ms2Dwkst__MIDL_TypeFormatString;
extern const ms2Dwkst_MIDL_PROC_FORMAT_STRING ms2Dwkst__MIDL_ProcFormatString;
extern const ms2Dwkst_MIDL_EXPR_FORMAT_STRING ms2Dwkst__MIDL_ExprFormatString;

#define GENERIC_BINDING_TABLE_SIZE   0            


/* Standard interface: wkssvc, ver. 1.0,
   GUID={0x6BFFD098,0xA112,0x3610,{0x98,0x33,0x46,0xC3,0xF8,0x7E,0x34,0x5A}} */



static const RPC_CLIENT_INTERFACE wkssvc___RpcClientInterface =
    {
    sizeof(RPC_CLIENT_INTERFACE),
    {{0x6BFFD098,0xA112,0x3610,{0x98,0x33,0x46,0xC3,0xF8,0x7E,0x34,0x5A}},{1,0}},
    {{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}},
    0,
    0,
    0,
    0,
    0,
    0x00000000
    };
RPC_IF_HANDLE wkssvc_v1_0_c_ifspec = (RPC_IF_HANDLE)& wkssvc___RpcClientInterface;

extern const MIDL_STUB_DESC wkssvc_StubDesc;

static RPC_BINDING_HANDLE wkssvc__MIDL_AutoBindHandle;


unsigned long NetrWkstaGetInfo( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [in] */ unsigned long Level,
    /* [switch_is][out] */ LPWKSTA_INFO WkstaInfo)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!WkstaInfo)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          0);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 8;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Level ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[0] );
        
        NdrNonEncapsulatedUnionUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                           (unsigned char * *)&WkstaInfo,
                                           (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[10],
                                           (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrWkstaSetInfo( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [in] */ unsigned long Level,
    /* [switch_is][in] */ LPWKSTA_INFO WkstaInfo,
    /* [unique][out][in] */ unsigned long *ErrorParameter)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!WkstaInfo)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          1);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 36;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        ( _StubMsg.MaxCount = ( unsigned long  )Level ) ;
        
        NdrNonEncapsulatedUnionBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                           (unsigned char *)WkstaInfo,
                                           (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[218] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Level ) ;
        
        ( _StubMsg.MaxCount = ( unsigned long  )Level ) ;
        
        NdrNonEncapsulatedUnionMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                         (unsigned char *)WkstaInfo,
                                         (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[218] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ErrorParameter,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[12] );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ErrorParameter,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrWkstaUserEnum( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [out][in] */ LPWKSTA_USER_ENUM_STRUCT UserInfo,
    /* [in] */ unsigned long PreferredMaximumLength,
    /* [out] */ unsigned long *TotalEntries,
    /* [unique][out][in] */ unsigned long *ResumeHandle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!UserInfo)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!TotalEntries)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          2);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 36;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char *)UserInfo,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[380] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                  (unsigned char *)UserInfo,
                                  (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[380] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = PreferredMaximumLength ) ;
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ResumeHandle,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[28] );
        
        NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char * *)&UserInfo,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[380],
                                    (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *TotalEntries = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ResumeHandle,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


void Opnum3NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          3);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


void Opnum4NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          4);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


unsigned long NetrWkstaTransportEnum( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [out][in] */ LPWKSTA_TRANSPORT_ENUM_STRUCT TransportInfo,
    /* [in] */ unsigned long PreferredMaximumLength,
    /* [out] */ unsigned long *TotalEntries,
    /* [unique][out][in] */ unsigned long *ResumeHandle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!TransportInfo)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!TotalEntries)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          5);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 36;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char *)TransportInfo,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[486] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                  (unsigned char *)TransportInfo,
                                  (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[486] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = PreferredMaximumLength ) ;
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ResumeHandle,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[52] );
        
        NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char * *)&TransportInfo,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[486],
                                    (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *TotalEntries = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ResumeHandle,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrWkstaTransportAdd( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [in] */ unsigned long Level,
    /* [in] */ LPWKSTA_TRANSPORT_INFO_0 TransportInfo,
    /* [unique][out][in] */ unsigned long *ErrorParameter)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!TransportInfo)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          6);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 36;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char *)TransportInfo,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[428] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Level ) ;
        
        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                  (unsigned char *)TransportInfo,
                                  (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[428] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ErrorParameter,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[72] );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ErrorParameter,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrWkstaTransportDel( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [unique][string][in] */ wchar_t *TransportName,
    /* [in] */ unsigned long ForceLevel)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          7);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 8;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)TransportName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)TransportName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = ForceLevel ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[88] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrUseAdd( 
    /* [unique][string][in] */ WKSSVC_IMPERSONATE_HANDLE ServerName,
    /* [in] */ unsigned long Level,
    /* [switch_is][in] */ LPUSE_INFO InfoStruct,
    /* [unique][out][in] */ unsigned long *ErrorParameter)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!InfoStruct)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          8);
        
        
        _Handle = WKSSVC_IMPERSONATE_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 36;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        ( _StubMsg.MaxCount = ( unsigned long  )Level & 0xFFFF) ;
        
        NdrNonEncapsulatedUnionBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                           (unsigned char *)InfoStruct,
                                           (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[510] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Level ) ;
        
        ( _StubMsg.MaxCount = ( unsigned long  )Level & 0xFFFF) ;
        
        NdrNonEncapsulatedUnionMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                         (unsigned char *)InfoStruct,
                                         (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[510] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ErrorParameter,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[100] );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ErrorParameter,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IMPERSONATE_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrUseGetInfo( 
    /* [unique][string][in] */ WKSSVC_IMPERSONATE_HANDLE ServerName,
    /* [string][in] */ wchar_t *UseName,
    /* [in] */ unsigned long Level,
    /* [switch_is][out] */ LPUSE_INFO InfoStruct)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!UseName)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!InfoStruct)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          9);
        
        
        _Handle = WKSSVC_IMPERSONATE_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 8;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                       (unsigned char *)UseName,
                                       (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                     (unsigned char *)UseName,
                                     (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Level ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[116] );
        
        NdrNonEncapsulatedUnionUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                           (unsigned char * *)&InfoStruct,
                                           (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[660],
                                           (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IMPERSONATE_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrUseDel( 
    /* [unique][string][in] */ WKSSVC_IMPERSONATE_HANDLE ServerName,
    /* [string][in] */ wchar_t *UseName,
    /* [in] */ unsigned long ForceLevel)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!UseName)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          10);
        
        
        _Handle = WKSSVC_IMPERSONATE_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 8;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                       (unsigned char *)UseName,
                                       (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                     (unsigned char *)UseName,
                                     (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = ForceLevel ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[132] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IMPERSONATE_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrUseEnum( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [out][in] */ LPUSE_ENUM_STRUCT InfoStruct,
    /* [in] */ unsigned long PreferredMaximumLength,
    /* [out] */ unsigned long *TotalEntries,
    /* [unique][out][in] */ unsigned long *ResumeHandle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!InfoStruct)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!TotalEntries)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          11);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 36;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char *)InfoStruct,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[764] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                  (unsigned char *)InfoStruct,
                                  (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[764] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = PreferredMaximumLength ) ;
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ResumeHandle,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[144] );
        
        NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                    (unsigned char * *)&InfoStruct,
                                    (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[764],
                                    (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *TotalEntries = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ResumeHandle,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[226],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


void Opnum12NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          12);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


unsigned long NetrWorkstationStatisticsGet( 
    /* [unique][string][in] */ WKSSVC_IDENTIFY_HANDLE ServerName,
    /* [unique][string][in] */ wchar_t *ServiceName,
    /* [in] */ unsigned long Level,
    /* [in] */ unsigned long Options,
    /* [out] */ LPSTAT_WORKSTATION_0 *Buffer)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!Buffer)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          13);
        
        
        _Handle = WKSSVC_IDENTIFY_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 16;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServiceName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServiceName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Level ) ;
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Options ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[164] );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&Buffer,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[780],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IDENTIFY_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


void Opnum14NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          14);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


void Opnum15NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          15);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


void Opnum16NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          16);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


void Opnum17NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          17);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


void Opnum18NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          18);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


void Opnum19NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          19);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


unsigned long NetrGetJoinInformation( 
    /* [unique][string][in] */ WKSSVC_IMPERSONATE_HANDLE ServerName,
    /* [string][out][in] */ wchar_t **NameBuffer,
    /* [out] */ PNETSETUP_JOIN_STATUS BufferType)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!NameBuffer)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!BufferType)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          20);
        
        
        _Handle = WKSSVC_IMPERSONATE_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 0;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)NameBuffer,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[884] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)NameBuffer,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[884] );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[182] );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&NameBuffer,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[884],
                              (unsigned char)0 );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&BufferType,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[888],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IMPERSONATE_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


void Opnum21NotUsedOnWire( 
    /* [in] */ handle_t IDL_handle)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          21);
        
        
        _Handle = IDL_handle;
        
        
        _StubMsg.BufferLength = 0;
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
}


unsigned long NetrJoinDomain2( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [string][in] */ wchar_t *DomainNameParam,
    /* [unique][string][in] */ wchar_t *MachineAccountOU,
    /* [unique][string][in] */ wchar_t *AccountName,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD Password,
    /* [in] */ unsigned long Options)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!DomainNameParam)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          22);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 584;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                       (unsigned char *)DomainNameParam,
                                       (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)MachineAccountOU,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AccountName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                     (unsigned char *)DomainNameParam,
                                     (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)MachineAccountOU,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AccountName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)Password,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Options ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[196] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrUnjoinDomain2( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [unique][string][in] */ wchar_t *AccountName,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD Password,
    /* [in] */ unsigned long Options)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          23);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 584;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AccountName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AccountName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)Password,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Options ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[222] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrRenameMachineInDomain2( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [unique][string][in] */ wchar_t *MachineName,
    /* [unique][string][in] */ wchar_t *AccountName,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD Password,
    /* [in] */ unsigned long Options)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          24);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 584;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)MachineName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AccountName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)MachineName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AccountName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)Password,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Options ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[240] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrValidateName2( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [string][in] */ wchar_t *NameToValidate,
    /* [unique][string][in] */ wchar_t *AccountName,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD Password,
    /* [in] */ NETSETUP_NAME_TYPE NameType)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!NameToValidate)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          25);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 582;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                       (unsigned char *)NameToValidate,
                                       (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AccountName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                     (unsigned char *)NameToValidate,
                                     (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AccountName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)Password,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        NdrSimpleTypeMarshall(
                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                         ( unsigned char * )&NameType,
                         13);
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[262] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrGetJoinableOUs2( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [string][in] */ wchar_t *DomainNameParam,
    /* [unique][string][in] */ wchar_t *AccountName,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD Password,
    /* [out][in] */ unsigned long *OUCount,
    /* [size_is][size_is][string][out] */ wchar_t ***OUs)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!DomainNameParam)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!OUCount)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    if(!OUs)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          26);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 604;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                                       (unsigned char *)DomainNameParam,
                                       (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AccountName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                                     (unsigned char *)DomainNameParam,
                                     (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[654] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AccountName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)Password,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = *OUCount ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[284] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *OUCount = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&OUs,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[916],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrAddAlternateComputerName( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [unique][string][in] */ wchar_t *AlternateName,
    /* [unique][string][in] */ wchar_t *DomainAccount,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword,
    /* [in] */ unsigned long Reserved)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          27);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 584;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AlternateName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)DomainAccount,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AlternateName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)DomainAccount,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)EncryptedPassword,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Reserved ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[240] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrRemoveAlternateComputerName( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [unique][string][in] */ wchar_t *AlternateName,
    /* [unique][string][in] */ wchar_t *DomainAccount,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword,
    /* [in] */ unsigned long Reserved)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          28);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 584;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)AlternateName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)DomainAccount,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)AlternateName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)DomainAccount,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)EncryptedPassword,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Reserved ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[240] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrSetPrimaryComputerName( 
    /* [in] */ handle_t RpcBindingHandle,
    /* [unique][string][in] */ wchar_t *ServerName,
    /* [unique][string][in] */ wchar_t *PrimaryName,
    /* [unique][string][in] */ wchar_t *DomainAccount,
    /* [unique][in] */ PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword,
    /* [in] */ unsigned long Reserved)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          29);
        
        
        _Handle = RpcBindingHandle;
        
        
        _StubMsg.BufferLength = 584;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)PrimaryName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)DomainAccount,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)PrimaryName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)DomainAccount,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)EncryptedPassword,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[892] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Reserved ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[240] );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        }
    RpcEndFinally
    
    return _RetVal;
}


unsigned long NetrEnumerateComputerNames( 
    /* [unique][string][in] */ WKSSVC_IMPERSONATE_HANDLE ServerName,
    /* [in] */ NET_COMPUTER_NAME_TYPE NameType,
    /* [in] */ unsigned long Reserved,
    /* [out] */ PNET_COMPUTER_NAME_ARRAY *ComputerNames)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    
    unsigned long _RetVal;
    
    RPC_MESSAGE _RpcMessage;
    
    MIDL_STUB_MESSAGE _StubMsg;
    
    if(!ComputerNames)
        {
        RpcRaiseException(RPC_X_NULL_REF_POINTER);
        }
    RpcTryFinally
        {
        NdrClientInitializeNew(
                          ( PRPC_MESSAGE  )&_RpcMessage,
                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                          ( PMIDL_STUB_DESC  )&wkssvc_StubDesc,
                          30);
        
        
        _Handle = WKSSVC_IMPERSONATE_HANDLE_bind(ServerName);;
        
        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        
        _StubMsg.BufferLength = 14;
        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char *)ServerName,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
        
        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
                            (unsigned char *)ServerName,
                            (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[2] );
        
        NdrSimpleTypeMarshall(
                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
                         ( unsigned char * )&NameType,
                         13);
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        ( *(( unsigned long * )_StubMsg.Buffer)++ = Reserved ) ;
        
        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char *) _StubMsg.Buffer );
        
        _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
        _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
        
        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &ms2Dwkst__MIDL_ProcFormatString.Format[312] );
        
        NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
                              (unsigned char * *)&ComputerNames,
                              (PFORMAT_STRING) &ms2Dwkst__MIDL_TypeFormatString.Format[942],
                              (unsigned char)0 );
        
        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
        
        if(( ( _StubMsg.Buffer + 4 )  > _StubMsg.BufferEnd ) )
            {
            RpcRaiseException(RPC_X_BAD_STUB_DATA);
            }
        ( _RetVal = *(( unsigned long * )_StubMsg.Buffer)++ ) ;
        
        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
        
        
        if(_Handle)
            {
            WKSSVC_IMPERSONATE_HANDLE_unbind(ServerName,_Handle);
            }
        }
    RpcEndFinally
    
    return _RetVal;
}


#if !defined(__RPC_WIN64__)
#error  Invalid build platform for this stub.
#endif

static const ms2Dwkst_MIDL_PROC_FORMAT_STRING ms2Dwkst__MIDL_ProcFormatString =
    {
        0,
        {
			
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/*  2 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/*  4 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/*  6 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/*  8 */	NdrFcShort( 0x6 ),	/* Type Offset=6 */
/* 10 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 12 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 14 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 16 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 18 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 20 */	NdrFcShort( 0xd6 ),	/* Type Offset=214 */
/* 22 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 24 */	NdrFcShort( 0xe2 ),	/* Type Offset=226 */
/* 26 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 28 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 30 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 32 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 34 */	NdrFcShort( 0xe6 ),	/* Type Offset=230 */
/* 36 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 38 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 40 */	NdrFcShort( 0x18c ),	/* Type Offset=396 */
/* 42 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 44 */	NdrFcShort( 0xe2 ),	/* Type Offset=226 */
/* 46 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 48 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xf,		/* FC_IGNORE */
/* 50 */	0x5b,		/* FC_END */
			0x5c,		/* FC_PAD */
/* 52 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 54 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 56 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 58 */	NdrFcShort( 0x190 ),	/* Type Offset=400 */
/* 60 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 62 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 64 */	NdrFcShort( 0x18c ),	/* Type Offset=396 */
/* 66 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 68 */	NdrFcShort( 0xe2 ),	/* Type Offset=226 */
/* 70 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 72 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 74 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 76 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 78 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 80 */	NdrFcShort( 0x1f6 ),	/* Type Offset=502 */
/* 82 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 84 */	NdrFcShort( 0xe2 ),	/* Type Offset=226 */
/* 86 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 88 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 90 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 92 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 94 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 96 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 98 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 100 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 102 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 104 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 106 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 108 */	NdrFcShort( 0x1fa ),	/* Type Offset=506 */
/* 110 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 112 */	NdrFcShort( 0xe2 ),	/* Type Offset=226 */
/* 114 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 116 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 118 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 120 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 122 */	NdrFcShort( 0x28c ),	/* Type Offset=652 */
/* 124 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 126 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 128 */	NdrFcShort( 0x290 ),	/* Type Offset=656 */
/* 130 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 132 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 134 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 136 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 138 */	NdrFcShort( 0x28c ),	/* Type Offset=652 */
/* 140 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 142 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 144 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 146 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 148 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 150 */	NdrFcShort( 0x29c ),	/* Type Offset=668 */
/* 152 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 154 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 156 */	NdrFcShort( 0x18c ),	/* Type Offset=396 */
/* 158 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 160 */	NdrFcShort( 0xe2 ),	/* Type Offset=226 */
/* 162 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 164 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 166 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 168 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 170 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 172 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 174 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 176 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 178 */	NdrFcShort( 0x30c ),	/* Type Offset=780 */
/* 180 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 182 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 184 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 186 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 188 */	NdrFcShort( 0x374 ),	/* Type Offset=884 */
/* 190 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 192 */	NdrFcShort( 0x378 ),	/* Type Offset=888 */
/* 194 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 196 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xf,		/* FC_IGNORE */
/* 198 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 200 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 202 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 204 */	NdrFcShort( 0x28c ),	/* Type Offset=652 */
/* 206 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 208 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 210 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 212 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 214 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 216 */	NdrFcShort( 0x37c ),	/* Type Offset=892 */
/* 218 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 220 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 222 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xf,		/* FC_IGNORE */
/* 224 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 226 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 228 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 230 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 232 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 234 */	NdrFcShort( 0x37c ),	/* Type Offset=892 */
/* 236 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 238 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 240 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xf,		/* FC_IGNORE */
/* 242 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 244 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 246 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 248 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 250 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 252 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 254 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 256 */	NdrFcShort( 0x37c ),	/* Type Offset=892 */
/* 258 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 260 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 262 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xf,		/* FC_IGNORE */
/* 264 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 266 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 268 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 270 */	NdrFcShort( 0x28c ),	/* Type Offset=652 */
/* 272 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 274 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 276 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 278 */	NdrFcShort( 0x37c ),	/* Type Offset=892 */
/* 280 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xd,		/* FC_ENUM16 */
/* 282 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 284 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xf,		/* FC_IGNORE */
/* 286 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 288 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 290 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 292 */	NdrFcShort( 0x28c ),	/* Type Offset=652 */
/* 294 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 296 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 298 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 300 */	NdrFcShort( 0x37c ),	/* Type Offset=892 */
/* 302 */	
			0x50,		/* FC_IN_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 304 */	NdrFcShort( 0x390 ),	/* Type Offset=912 */
/* 306 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 308 */	NdrFcShort( 0x394 ),	/* Type Offset=916 */
/* 310 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 312 */	
			0x4d,		/* FC_IN_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 314 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
/* 316 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0xd,		/* FC_ENUM16 */
/* 318 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */
/* 320 */	
			0x51,		/* FC_OUT_PARAM */
			0x1,		/* X64 stack size = 1 */
/* 322 */	NdrFcShort( 0x3ae ),	/* Type Offset=942 */
/* 324 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
			0x8,		/* FC_LONG */

			0x0
        }
    };

static const ms2Dwkst_MIDL_TYPE_FORMAT_STRING ms2Dwkst__MIDL_TypeFormatString =
    {
        0,
        {
			NdrFcShort( 0x0 ),	/* 0 */
/*  2 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/*  4 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/*  6 */	
			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
/*  8 */	NdrFcShort( 0x2 ),	/* Offset= 2 (10) */
/* 10 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 12 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
			0x0,		/*  */
/* 14 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */
/* 16 */	NdrFcShort( 0x2 ),	/* Offset= 2 (18) */
/* 18 */	NdrFcShort( 0x8 ),	/* 8 */
/* 20 */	NdrFcShort( 0x7 ),	/* 7 */
/* 22 */	NdrFcLong( 0x64 ),	/* 100 */
/* 26 */	NdrFcShort( 0x28 ),	/* Offset= 40 (66) */
/* 28 */	NdrFcLong( 0x65 ),	/* 101 */
/* 32 */	NdrFcShort( 0x3e ),	/* Offset= 62 (94) */
/* 34 */	NdrFcLong( 0x66 ),	/* 102 */
/* 38 */	NdrFcShort( 0x58 ),	/* Offset= 88 (126) */
/* 40 */	NdrFcLong( 0x1f6 ),	/* 502 */
/* 44 */	NdrFcShort( 0x74 ),	/* Offset= 116 (160) */
/* 46 */	NdrFcLong( 0x3f5 ),	/* 1013 */
/* 50 */	NdrFcShort( 0x9a ),	/* Offset= 154 (204) */
/* 52 */	NdrFcLong( 0x3fa ),	/* 1018 */
/* 56 */	NdrFcShort( 0x94 ),	/* Offset= 148 (204) */
/* 58 */	NdrFcLong( 0x416 ),	/* 1046 */
/* 62 */	NdrFcShort( 0x8e ),	/* Offset= 142 (204) */
/* 64 */	NdrFcShort( 0x0 ),	/* Offset= 0 (64) */
/* 66 */	
			0x12, 0x0,	/* FC_UP */
/* 68 */	NdrFcShort( 0x2 ),	/* Offset= 2 (70) */
/* 70 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 72 */	NdrFcShort( 0x20 ),	/* 32 */
/* 74 */	NdrFcShort( 0x0 ),	/* 0 */
/* 76 */	NdrFcShort( 0xa ),	/* Offset= 10 (86) */
/* 78 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 80 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 82 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 84 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 86 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 88 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 90 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 92 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 94 */	
			0x12, 0x0,	/* FC_UP */
/* 96 */	NdrFcShort( 0x2 ),	/* Offset= 2 (98) */
/* 98 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 100 */	NdrFcShort( 0x28 ),	/* 40 */
/* 102 */	NdrFcShort( 0x0 ),	/* 0 */
/* 104 */	NdrFcShort( 0xa ),	/* Offset= 10 (114) */
/* 106 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 108 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 110 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 112 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 114 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 116 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 118 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 120 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 122 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 124 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 126 */	
			0x12, 0x0,	/* FC_UP */
/* 128 */	NdrFcShort( 0x2 ),	/* Offset= 2 (130) */
/* 130 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 132 */	NdrFcShort( 0x30 ),	/* 48 */
/* 134 */	NdrFcShort( 0x0 ),	/* 0 */
/* 136 */	NdrFcShort( 0xc ),	/* Offset= 12 (148) */
/* 138 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 140 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 142 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 144 */	0x36,		/* FC_POINTER */
			0x8,		/* FC_LONG */
/* 146 */	0x40,		/* FC_STRUCTPAD4 */
			0x5b,		/* FC_END */
/* 148 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 150 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 152 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 154 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 156 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 158 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 160 */	
			0x12, 0x0,	/* FC_UP */
/* 162 */	NdrFcShort( 0x2 ),	/* Offset= 2 (164) */
/* 164 */	
			0x15,		/* FC_STRUCT */
			0x3,		/* 3 */
/* 166 */	NdrFcShort( 0x8c ),	/* 140 */
/* 168 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 170 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 172 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 174 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 176 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 178 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 180 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 182 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 184 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 186 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 188 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 190 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 192 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 194 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 196 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 198 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 200 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 202 */	0x8,		/* FC_LONG */
			0x5b,		/* FC_END */
/* 204 */	
			0x12, 0x0,	/* FC_UP */
/* 206 */	NdrFcShort( 0x2 ),	/* Offset= 2 (208) */
/* 208 */	
			0x15,		/* FC_STRUCT */
			0x3,		/* 3 */
/* 210 */	NdrFcShort( 0x4 ),	/* 4 */
/* 212 */	0x8,		/* FC_LONG */
			0x5b,		/* FC_END */
/* 214 */	
			0x11, 0x0,	/* FC_RP */
/* 216 */	NdrFcShort( 0x2 ),	/* Offset= 2 (218) */
/* 218 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 220 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
			0x0,		/*  */
/* 222 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */
/* 224 */	NdrFcShort( 0xff32 ),	/* Offset= -206 (18) */
/* 226 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 228 */	0x8,		/* FC_LONG */
			0x5c,		/* FC_PAD */
/* 230 */	
			0x11, 0x0,	/* FC_RP */
/* 232 */	NdrFcShort( 0x94 ),	/* Offset= 148 (380) */
/* 234 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 236 */	0x9,		/* Corr desc: FC_ULONG */
			0x0,		/*  */
/* 238 */	NdrFcShort( 0xfff8 ),	/* -8 */
/* 240 */	NdrFcShort( 0x2 ),	/* Offset= 2 (242) */
/* 242 */	NdrFcShort( 0x8 ),	/* 8 */
/* 244 */	NdrFcShort( 0x2 ),	/* 2 */
/* 246 */	NdrFcLong( 0x0 ),	/* 0 */
/* 250 */	NdrFcShort( 0xa ),	/* Offset= 10 (260) */
/* 252 */	NdrFcLong( 0x1 ),	/* 1 */
/* 256 */	NdrFcShort( 0x38 ),	/* Offset= 56 (312) */
/* 258 */	NdrFcShort( 0x0 ),	/* Offset= 0 (258) */
/* 260 */	
			0x12, 0x0,	/* FC_UP */
/* 262 */	NdrFcShort( 0x22 ),	/* Offset= 34 (296) */
/* 264 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 266 */	NdrFcShort( 0x8 ),	/* 8 */
/* 268 */	NdrFcShort( 0x0 ),	/* 0 */
/* 270 */	NdrFcShort( 0x4 ),	/* Offset= 4 (274) */
/* 272 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 274 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 276 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 278 */	
			0x21,		/* FC_BOGUS_ARRAY */
			0x3,		/* 3 */
/* 280 */	NdrFcShort( 0x0 ),	/* 0 */
/* 282 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
			0x0,		/*  */
/* 284 */	NdrFcShort( 0x0 ),	/* 0 */
/* 286 */	NdrFcLong( 0xffffffff ),	/* -1 */
/* 290 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 292 */	NdrFcShort( 0xffe4 ),	/* Offset= -28 (264) */
/* 294 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 296 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 298 */	NdrFcShort( 0x10 ),	/* 16 */
/* 300 */	NdrFcShort( 0x0 ),	/* 0 */
/* 302 */	NdrFcShort( 0x6 ),	/* Offset= 6 (308) */
/* 304 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 306 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 308 */	
			0x12, 0x0,	/* FC_UP */
/* 310 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (278) */
/* 312 */	
			0x12, 0x0,	/* FC_UP */
/* 314 */	NdrFcShort( 0x32 ),	/* Offset= 50 (364) */
/* 316 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 318 */	NdrFcShort( 0x20 ),	/* 32 */
/* 320 */	NdrFcShort( 0x0 ),	/* 0 */
/* 322 */	NdrFcShort( 0x8 ),	/* Offset= 8 (330) */
/* 324 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 326 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 328 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 330 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 332 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 334 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 336 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 338 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 340 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 342 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 344 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 346 */	
			0x21,		/* FC_BOGUS_ARRAY */
			0x3,		/* 3 */
/* 348 */	NdrFcShort( 0x0 ),	/* 0 */
/* 350 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
			0x0,		/*  */
/* 352 */	NdrFcShort( 0x0 ),	/* 0 */
/* 354 */	NdrFcLong( 0xffffffff ),	/* -1 */
/* 358 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 360 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (316) */
/* 362 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 364 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 366 */	NdrFcShort( 0x10 ),	/* 16 */
/* 368 */	NdrFcShort( 0x0 ),	/* 0 */
/* 370 */	NdrFcShort( 0x6 ),	/* Offset= 6 (376) */
/* 372 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 374 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 376 */	
			0x12, 0x0,	/* FC_UP */
/* 378 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (346) */
/* 380 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 382 */	NdrFcShort( 0x10 ),	/* 16 */
/* 384 */	NdrFcShort( 0x0 ),	/* 0 */
/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */
/* 388 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 390 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 392 */	NdrFcShort( 0xff62 ),	/* Offset= -158 (234) */
/* 394 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 396 */	
			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
/* 398 */	0x8,		/* FC_LONG */
			0x5c,		/* FC_PAD */
/* 400 */	
			0x11, 0x0,	/* FC_RP */
/* 402 */	NdrFcShort( 0x54 ),	/* Offset= 84 (486) */
/* 404 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 406 */	0x9,		/* Corr desc: FC_ULONG */
			0x0,		/*  */
/* 408 */	NdrFcShort( 0xfff8 ),	/* -8 */
/* 410 */	NdrFcShort( 0x2 ),	/* Offset= 2 (412) */
/* 412 */	NdrFcShort( 0x8 ),	/* 8 */
/* 414 */	NdrFcShort( 0x1 ),	/* 1 */
/* 416 */	NdrFcLong( 0x0 ),	/* 0 */
/* 420 */	NdrFcShort( 0x4 ),	/* Offset= 4 (424) */
/* 422 */	NdrFcShort( 0x0 ),	/* Offset= 0 (422) */
/* 424 */	
			0x12, 0x0,	/* FC_UP */
/* 426 */	NdrFcShort( 0x2c ),	/* Offset= 44 (470) */
/* 428 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 430 */	NdrFcShort( 0x20 ),	/* 32 */
/* 432 */	NdrFcShort( 0x0 ),	/* 0 */
/* 434 */	NdrFcShort( 0xa ),	/* Offset= 10 (444) */
/* 436 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 438 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 440 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 442 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 444 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 446 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 448 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 450 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 452 */	
			0x21,		/* FC_BOGUS_ARRAY */
			0x3,		/* 3 */
/* 454 */	NdrFcShort( 0x0 ),	/* 0 */
/* 456 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
			0x0,		/*  */
/* 458 */	NdrFcShort( 0x0 ),	/* 0 */
/* 460 */	NdrFcLong( 0xffffffff ),	/* -1 */
/* 464 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 466 */	NdrFcShort( 0xffda ),	/* Offset= -38 (428) */
/* 468 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 470 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 472 */	NdrFcShort( 0x10 ),	/* 16 */
/* 474 */	NdrFcShort( 0x0 ),	/* 0 */
/* 476 */	NdrFcShort( 0x6 ),	/* Offset= 6 (482) */
/* 478 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 480 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 482 */	
			0x12, 0x0,	/* FC_UP */
/* 484 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (452) */
/* 486 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 488 */	NdrFcShort( 0x10 ),	/* 16 */
/* 490 */	NdrFcShort( 0x0 ),	/* 0 */
/* 492 */	NdrFcShort( 0x0 ),	/* Offset= 0 (492) */
/* 494 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 496 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 498 */	NdrFcShort( 0xffa2 ),	/* Offset= -94 (404) */
/* 500 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 502 */	
			0x11, 0x0,	/* FC_RP */
/* 504 */	NdrFcShort( 0xffb4 ),	/* Offset= -76 (428) */
/* 506 */	
			0x11, 0x0,	/* FC_RP */
/* 508 */	NdrFcShort( 0x2 ),	/* Offset= 2 (510) */
/* 510 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 512 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
			0x0,		/*  */
/* 514 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */
/* 516 */	NdrFcShort( 0x2 ),	/* Offset= 2 (518) */
/* 518 */	NdrFcShort( 0x8 ),	/* 8 */
/* 520 */	NdrFcShort( 0x4 ),	/* 4 */
/* 522 */	NdrFcLong( 0x0 ),	/* 0 */
/* 526 */	NdrFcShort( 0x16 ),	/* Offset= 22 (548) */
/* 528 */	NdrFcLong( 0x1 ),	/* 1 */
/* 532 */	NdrFcShort( 0x28 ),	/* Offset= 40 (572) */
/* 534 */	NdrFcLong( 0x2 ),	/* 2 */
/* 538 */	NdrFcShort( 0x42 ),	/* Offset= 66 (604) */
/* 540 */	NdrFcLong( 0x3 ),	/* 3 */
/* 544 */	NdrFcShort( 0x58 ),	/* Offset= 88 (632) */
/* 546 */	NdrFcShort( 0x0 ),	/* Offset= 0 (546) */
/* 548 */	
			0x12, 0x0,	/* FC_UP */
/* 550 */	NdrFcShort( 0x2 ),	/* Offset= 2 (552) */
/* 552 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 554 */	NdrFcShort( 0x10 ),	/* 16 */
/* 556 */	NdrFcShort( 0x0 ),	/* 0 */
/* 558 */	NdrFcShort( 0x6 ),	/* Offset= 6 (564) */
/* 560 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 562 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 564 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 566 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 568 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 570 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 572 */	
			0x12, 0x0,	/* FC_UP */
/* 574 */	NdrFcShort( 0x2 ),	/* Offset= 2 (576) */
/* 576 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 578 */	NdrFcShort( 0x28 ),	/* 40 */
/* 580 */	NdrFcShort( 0x0 ),	/* 0 */
/* 582 */	NdrFcShort( 0xa ),	/* Offset= 10 (592) */
/* 584 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 586 */	0x36,		/* FC_POINTER */
			0x8,		/* FC_LONG */
/* 588 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 590 */	0x8,		/* FC_LONG */
			0x5b,		/* FC_END */
/* 592 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 594 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 596 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 598 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 600 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 602 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 604 */	
			0x12, 0x0,	/* FC_UP */
/* 606 */	NdrFcShort( 0x2 ),	/* Offset= 2 (608) */
/* 608 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 610 */	NdrFcShort( 0x38 ),	/* 56 */
/* 612 */	NdrFcShort( 0x0 ),	/* 0 */
/* 614 */	NdrFcShort( 0xa ),	/* Offset= 10 (624) */
/* 616 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 618 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (576) */
/* 620 */	0x36,		/* FC_POINTER */
			0x36,		/* FC_POINTER */
/* 622 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 624 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 626 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 628 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 630 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 632 */	
			0x12, 0x0,	/* FC_UP */
/* 634 */	NdrFcShort( 0x2 ),	/* Offset= 2 (636) */
/* 636 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 638 */	NdrFcShort( 0x40 ),	/* 64 */
/* 640 */	NdrFcShort( 0x0 ),	/* 0 */
/* 642 */	NdrFcShort( 0x0 ),	/* Offset= 0 (642) */
/* 644 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 646 */	NdrFcShort( 0xffda ),	/* Offset= -38 (608) */
/* 648 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 650 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 652 */	
			0x11, 0x8,	/* FC_RP [simple_pointer] */
/* 654 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 656 */	
			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
/* 658 */	NdrFcShort( 0x2 ),	/* Offset= 2 (660) */
/* 660 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 662 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
			0x0,		/*  */
/* 664 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */
/* 666 */	NdrFcShort( 0xff6c ),	/* Offset= -148 (518) */
/* 668 */	
			0x11, 0x0,	/* FC_RP */
/* 670 */	NdrFcShort( 0x5e ),	/* Offset= 94 (764) */
/* 672 */	
			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
			0x9,		/* FC_ULONG */
/* 674 */	0x9,		/* Corr desc: FC_ULONG */
			0x0,		/*  */
/* 676 */	NdrFcShort( 0xfff8 ),	/* -8 */
/* 678 */	NdrFcShort( 0x2 ),	/* Offset= 2 (680) */
/* 680 */	NdrFcShort( 0x8 ),	/* 8 */
/* 682 */	NdrFcShort( 0x3 ),	/* 3 */
/* 684 */	NdrFcLong( 0x0 ),	/* 0 */
/* 688 */	NdrFcShort( 0x10 ),	/* Offset= 16 (704) */
/* 690 */	NdrFcLong( 0x1 ),	/* 1 */
/* 694 */	NdrFcShort( 0x1e ),	/* Offset= 30 (724) */
/* 696 */	NdrFcLong( 0x2 ),	/* 2 */
/* 700 */	NdrFcShort( 0x2c ),	/* Offset= 44 (744) */
/* 702 */	NdrFcShort( 0x0 ),	/* Offset= 0 (702) */
/* 704 */	
			0x12, 0x0,	/* FC_UP */
/* 706 */	NdrFcShort( 0x2 ),	/* Offset= 2 (708) */
/* 708 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 710 */	NdrFcShort( 0x10 ),	/* 16 */
/* 712 */	NdrFcShort( 0x0 ),	/* 0 */
/* 714 */	NdrFcShort( 0x6 ),	/* Offset= 6 (720) */
/* 716 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 718 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 720 */	
			0x12, 0x0,	/* FC_UP */
/* 722 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (552) */
/* 724 */	
			0x12, 0x0,	/* FC_UP */
/* 726 */	NdrFcShort( 0x2 ),	/* Offset= 2 (728) */
/* 728 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 730 */	NdrFcShort( 0x10 ),	/* 16 */
/* 732 */	NdrFcShort( 0x0 ),	/* 0 */
/* 734 */	NdrFcShort( 0x6 ),	/* Offset= 6 (740) */
/* 736 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 738 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 740 */	
			0x12, 0x0,	/* FC_UP */
/* 742 */	NdrFcShort( 0xff5a ),	/* Offset= -166 (576) */
/* 744 */	
			0x12, 0x0,	/* FC_UP */
/* 746 */	NdrFcShort( 0x2 ),	/* Offset= 2 (748) */
/* 748 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 750 */	NdrFcShort( 0x10 ),	/* 16 */
/* 752 */	NdrFcShort( 0x0 ),	/* 0 */
/* 754 */	NdrFcShort( 0x6 ),	/* Offset= 6 (760) */
/* 756 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 758 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 760 */	
			0x12, 0x0,	/* FC_UP */
/* 762 */	NdrFcShort( 0xff66 ),	/* Offset= -154 (608) */
/* 764 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 766 */	NdrFcShort( 0x10 ),	/* 16 */
/* 768 */	NdrFcShort( 0x0 ),	/* 0 */
/* 770 */	NdrFcShort( 0x0 ),	/* Offset= 0 (770) */
/* 772 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 774 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 776 */	NdrFcShort( 0xff98 ),	/* Offset= -104 (672) */
/* 778 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 780 */	
			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
/* 782 */	NdrFcShort( 0x2 ),	/* Offset= 2 (784) */
/* 784 */	
			0x12, 0x0,	/* FC_UP */
/* 786 */	NdrFcShort( 0x8 ),	/* Offset= 8 (794) */
/* 788 */	
			0x15,		/* FC_STRUCT */
			0x7,		/* 7 */
/* 790 */	NdrFcShort( 0x8 ),	/* 8 */
/* 792 */	0xb,		/* FC_HYPER */
			0x5b,		/* FC_END */
/* 794 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x7,		/* 7 */
/* 796 */	NdrFcShort( 0xd8 ),	/* 216 */
/* 798 */	NdrFcShort( 0x0 ),	/* 0 */
/* 800 */	NdrFcShort( 0x0 ),	/* Offset= 0 (800) */
/* 802 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 804 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (788) */
/* 806 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 808 */	NdrFcShort( 0xffec ),	/* Offset= -20 (788) */
/* 810 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 812 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (788) */
/* 814 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 816 */	NdrFcShort( 0xffe4 ),	/* Offset= -28 (788) */
/* 818 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 820 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (788) */
/* 822 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 824 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (788) */
/* 826 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 828 */	NdrFcShort( 0xffd8 ),	/* Offset= -40 (788) */
/* 830 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 832 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (788) */
/* 834 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 836 */	NdrFcShort( 0xffd0 ),	/* Offset= -48 (788) */
/* 838 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 840 */	NdrFcShort( 0xffcc ),	/* Offset= -52 (788) */
/* 842 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 844 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (788) */
/* 846 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 848 */	NdrFcShort( 0xffc4 ),	/* Offset= -60 (788) */
/* 850 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 852 */	NdrFcShort( 0xffc0 ),	/* Offset= -64 (788) */
/* 854 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 856 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 858 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 860 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 862 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 864 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 866 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 868 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 870 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 872 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 874 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 876 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 878 */	0x8,		/* FC_LONG */
			0x8,		/* FC_LONG */
/* 880 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 882 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 884 */	
			0x11, 0x10,	/* FC_RP [pointer_deref] */
/* 886 */	NdrFcShort( 0xfc8c ),	/* Offset= -884 (2) */
/* 888 */	
			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
/* 890 */	0xd,		/* FC_ENUM16 */
			0x5c,		/* FC_PAD */
/* 892 */	
			0x12, 0x0,	/* FC_UP */
/* 894 */	NdrFcShort( 0x8 ),	/* Offset= 8 (902) */
/* 896 */	
			0x1d,		/* FC_SMFARRAY */
			0x0,		/* 0 */
/* 898 */	NdrFcShort( 0x20c ),	/* 524 */
/* 900 */	0x2,		/* FC_CHAR */
			0x5b,		/* FC_END */
/* 902 */	
			0x15,		/* FC_STRUCT */
			0x0,		/* 0 */
/* 904 */	NdrFcShort( 0x20c ),	/* 524 */
/* 906 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 908 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (896) */
/* 910 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 912 */	
			0x11, 0x8,	/* FC_RP [simple_pointer] */
/* 914 */	0x8,		/* FC_LONG */
			0x5c,		/* FC_PAD */
/* 916 */	
			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
/* 918 */	NdrFcShort( 0x2 ),	/* Offset= 2 (920) */
/* 920 */	
			0x12, 0x0,	/* FC_UP */
/* 922 */	NdrFcShort( 0x2 ),	/* Offset= 2 (924) */
/* 924 */	
			0x21,		/* FC_BOGUS_ARRAY */
			0x3,		/* 3 */
/* 926 */	NdrFcShort( 0x0 ),	/* 0 */
/* 928 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
			0x54,		/* FC_DEREFERENCE */
/* 930 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */
/* 932 */	NdrFcLong( 0xffffffff ),	/* -1 */
/* 936 */	
			0x12, 0x8,	/* FC_UP [simple_pointer] */
/* 938 */	
			0x25,		/* FC_C_WSTRING */
			0x5c,		/* FC_PAD */
/* 940 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 942 */	
			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
/* 944 */	NdrFcShort( 0x2 ),	/* Offset= 2 (946) */
/* 946 */	
			0x12, 0x0,	/* FC_UP */
/* 948 */	NdrFcShort( 0x34 ),	/* Offset= 52 (1000) */
/* 950 */	
			0x1c,		/* FC_CVARRAY */
			0x1,		/* 1 */
/* 952 */	NdrFcShort( 0x2 ),	/* 2 */
/* 954 */	0x17,		/* Corr desc:  field pointer, FC_USHORT */
			0x55,		/* FC_DIV_2 */
/* 956 */	NdrFcShort( 0x2 ),	/* 2 */
/* 958 */	0x17,		/* Corr desc:  field pointer, FC_USHORT */
			0x55,		/* FC_DIV_2 */
/* 960 */	NdrFcShort( 0x0 ),	/* 0 */
/* 962 */	0x6,		/* FC_SHORT */
			0x5b,		/* FC_END */
/* 964 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 966 */	NdrFcShort( 0x10 ),	/* 16 */
/* 968 */	NdrFcShort( 0x0 ),	/* 0 */
/* 970 */	NdrFcShort( 0x8 ),	/* Offset= 8 (978) */
/* 972 */	0x6,		/* FC_SHORT */
			0x6,		/* FC_SHORT */
/* 974 */	0x40,		/* FC_STRUCTPAD4 */
			0x36,		/* FC_POINTER */
/* 976 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 978 */	
			0x12, 0x0,	/* FC_UP */
/* 980 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (950) */
/* 982 */	
			0x21,		/* FC_BOGUS_ARRAY */
			0x3,		/* 3 */
/* 984 */	NdrFcShort( 0x0 ),	/* 0 */
/* 986 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
			0x0,		/*  */
/* 988 */	NdrFcShort( 0x0 ),	/* 0 */
/* 990 */	NdrFcLong( 0xffffffff ),	/* -1 */
/* 994 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
			0x0,		/* 0 */
/* 996 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (964) */
/* 998 */	0x5c,		/* FC_PAD */
			0x5b,		/* FC_END */
/* 1000 */	
			0x1a,		/* FC_BOGUS_STRUCT */
			0x3,		/* 3 */
/* 1002 */	NdrFcShort( 0x10 ),	/* 16 */
/* 1004 */	NdrFcShort( 0x0 ),	/* 0 */
/* 1006 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1012) */
/* 1008 */	0x8,		/* FC_LONG */
			0x40,		/* FC_STRUCTPAD4 */
/* 1010 */	0x36,		/* FC_POINTER */
			0x5b,		/* FC_END */
/* 1012 */	
			0x12, 0x0,	/* FC_UP */
/* 1014 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (982) */

			0x0
        }
    };

static const unsigned short wkssvc_FormatStringOffsetTable[] =
    {
    0,
    12,
    28,
    48,
    48,
    52,
    72,
    88,
    100,
    116,
    132,
    144,
    48,
    164,
    48,
    48,
    48,
    48,
    48,
    48,
    182,
    48,
    196,
    222,
    240,
    262,
    284,
    240,
    240,
    240,
    312
    };


static const MIDL_STUB_DESC wkssvc_StubDesc = 
    {
    (void *)& wkssvc___RpcClientInterface,
    MIDL_user_allocate,
    MIDL_user_free,
    &wkssvc__MIDL_AutoBindHandle,
    0,
    0,
    0,
    0,
    ms2Dwkst__MIDL_TypeFormatString.Format,
    1, /* -error bounds_check flag */
    0x50000, /* Ndr library version */
    0,
    0x8010272, /* MIDL Version 8.1.626 */
    0,
    0,
    0,  /* notify & notify_flag routine table */
    0x1, /* MIDL flag */
    0, /* cs routines */
    0,   /* proxy/server info */
    0
    };
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif


#endif /* defined(_M_AMD64)*/

