//================================================================================ // Copyright (C) Microsoft Corporation 1997 // Author: RameshV // Description: this file has functions that marshal and unmarshal the arguments // and calls the right functions to get the api executed. //================================================================================ #ifndef APISTUB_H_INCLUDED #define APISTUB_H_INCLUDED typedef enum _API_OPCODES { FirstApiOpCode = 0, AcquireParametersOpCode = FirstApiOpCode, FallbackParamsOpCode, ReleaseParametersOpCode, EnableDhcpOpCode, DisableDhcpOpCode, StaticRefreshParamsOpCode, RequestParamsOpCode, PersistentRequestParamsOpCode, RegisterParamsOpCode, DeRegisterParamsOpCode, RemoveDNSRegistrationsOpCode, AcquireParametersByBroadcastOpCode, InvalidApiOpCode } API_OPCODES, *LPAPI_OPCODES; typedef enum _API_PARAMS { ClassIdParam = InvalidApiOpCode, VendorOptionParam, NormalOptionParam, ProcIdParam, DescriptorParam, EventHandleParam, FlagsParam, InvalidApiParam } API_PARAMS, *PAPI_PARAMS, *LPAPI_PARAMS; //================================================================================ // the api buffer comes to DhcpApiProcessBuffer which then dispatches it to // the right function after unmarshalling as much of the arguments as possible. //================================================================================ DWORD // win32 status DhcpApiProcessBuffer( // process a single buffer IN LPBYTE InBuffer, // the input buffer IN DWORD InBufSize, // input buffer size IN OUT LPBYTE OutBuffer, // the processed data gets written to this buffer IN OUT LPDWORD OutBufSize // the size of the output buffer ); #endif APISTUB_H_INCLUDED