mirror of
https://github.com/reactos/reactos.git
synced 2026-05-31 08:17:09 +08:00
[DHCPCSVC][PSDK][IDL] Improve DhcpRequestParams and add DhcpUndoRequestParams stub
Add a call into the server side for DhcpRequestParams.
This commit is contained in:
@@ -347,3 +347,20 @@ Server_RemoveDNSRegistrations(
|
||||
/* FIXME: Call dnsapi.DnsRemoveRegistrations() */
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/* Function 7 */
|
||||
DWORD
|
||||
__stdcall
|
||||
Server_RequestParams(
|
||||
_In_ PDHCP_SERVER_NAME ServerName,
|
||||
_In_ LPWSTR AdapterName,
|
||||
_In_ DHCPCAPI_CLASSID *ClassId,
|
||||
_In_ DWORD Unknown4,
|
||||
_In_ DWORD Unknown5,
|
||||
_In_ DWORD Unknown6)
|
||||
{
|
||||
DPRINT1("Server_RequestParams(%S %p)\n", AdapterName, ClassId);
|
||||
UNIMPLEMENTED;
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -601,7 +601,7 @@ DhcpReleaseParameters(
|
||||
* \return ERROR_SUCCESS on success
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
APIENTRY
|
||||
DhcpRemoveDNSRegistrations(VOID)
|
||||
{
|
||||
DWORD ret;
|
||||
@@ -621,6 +621,55 @@ DhcpRemoveDNSRegistrations(VOID)
|
||||
return ret;
|
||||
}
|
||||
|
||||
DWORD
|
||||
APIENTRY
|
||||
DhcpRequestParams(
|
||||
_In_ DWORD Flags,
|
||||
_In_ PVOID Reserved,
|
||||
_In_ LPWSTR AdapterName,
|
||||
_In_ LPDHCPCAPI_CLASSID ClassId,
|
||||
_In_ DHCPCAPI_PARAMS_ARRAY SendParams,
|
||||
_Inout_ DHCPCAPI_PARAMS_ARRAY RecdParams,
|
||||
_In_ LPBYTE Buffer,
|
||||
_Inout_ LPDWORD pSize,
|
||||
_In_ LPWSTR RequestIdStr)
|
||||
{
|
||||
DWORD ret = ERROR_SUCCESS;
|
||||
|
||||
DPRINT1("DhcpRequestParams(%lx %p %S %p %p %p %p %p %S)\n",
|
||||
Flags, Reserved, AdapterName, ClassId, SendParams,
|
||||
RecdParams, Buffer, pSize, RequestIdStr);
|
||||
|
||||
if ((Reserved != NULL) || (AdapterName == NULL))
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
if (ClassId != NULL)
|
||||
{
|
||||
if (ClassId->Flags != 0)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
if ((ClassId->Data == NULL) || (ClassId->nBytesData == 0))
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
ret = Client_RequestParams(NULL,
|
||||
AdapterName,
|
||||
ClassId,
|
||||
0,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
ret = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
DWORD
|
||||
APIENTRY
|
||||
DhcpStaticRefreshParams(DWORD AdapterIndex,
|
||||
@@ -644,20 +693,22 @@ DhcpStaticRefreshParams(DWORD AdapterIndex,
|
||||
return (ret == ERROR_SUCCESS) ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
DWORD APIENTRY
|
||||
DhcpRequestParams(DWORD Flags,
|
||||
PVOID Reserved,
|
||||
LPWSTR AdapterName,
|
||||
LPDHCPCAPI_CLASSID ClassId,
|
||||
DHCPCAPI_PARAMS_ARRAY SendParams,
|
||||
DHCPCAPI_PARAMS_ARRAY RecdParams,
|
||||
LPBYTE Buffer,
|
||||
LPDWORD pSize,
|
||||
LPWSTR RequestIdStr)
|
||||
DWORD
|
||||
APIENTRY
|
||||
DhcpUndoRequestParams(
|
||||
_In_ DWORD Flags,
|
||||
_In_ LPVOID Reserved,
|
||||
_In_ LPWSTR AdapterName,
|
||||
_In_ LPWSTR RequestIdStr)
|
||||
{
|
||||
DPRINT1("DhcpUndoRequestParams(%lx %p %S %S)\n",
|
||||
Flags, Reserved, AdapterName, RequestIdStr);
|
||||
|
||||
if ((Flags != 0) || (Reserved != NULL) || (RequestIdStr == NULL))
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
@ stub DhcpRequestOptions
|
||||
@ stdcall DhcpRequestParams(long ptr ptr ptr long ptr long ptr ptr ptr ptr)
|
||||
@ stdcall DhcpStaticRefreshParams(long long long)
|
||||
@ stub DhcpUndoRequestParams
|
||||
@ stdcall DhcpUndoRequestParams(long ptr wstr wstr)
|
||||
@ stub McastApiCleanup
|
||||
@ stub McastApiStartup
|
||||
@ stub McastEnumerateScopes
|
||||
|
||||
@@ -92,7 +92,11 @@ typedef struct _DHCPAPI_PARAMS
|
||||
ULONG Flags;
|
||||
ULONG OptionId;
|
||||
BOOL IsVendor;
|
||||
BYTE *Data;
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
[size_is(nBytesData), unique] LPBYTE Data;
|
||||
#else
|
||||
LPBYTE Data;
|
||||
#endif
|
||||
DWORD nBytesData;
|
||||
} DHCPAPI_PARAMS, *PDHCPAPI_PARAMS, *LPDHCPAPI_PARAMS;
|
||||
|
||||
@@ -101,13 +105,21 @@ typedef struct _DHCPAPI_PARAMS DHCPCAPI_PARAMS, *PDHCPCAPI_PARAMS, *LPDHCPCAPI_P
|
||||
typedef struct _DHCPCAPI_PARAMS_ARARAY
|
||||
{
|
||||
ULONG nParams;
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
[size_is(nParams), unique] LPDHCPCAPI_PARAMS Params;
|
||||
#else
|
||||
LPDHCPCAPI_PARAMS Params;
|
||||
#endif
|
||||
} DHCPCAPI_PARAMS_ARRAY, *PDHCPCAPI_PARAMS_ARRAY, *LPDHCPCAPI_PARAMS_ARRAY;
|
||||
|
||||
typedef struct _DHCPCAPI_CLASSID
|
||||
{
|
||||
ULONG Flags;
|
||||
BYTE *Data;
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
[size_is(nBytesData), unique] LPBYTE Data;
|
||||
#else
|
||||
LPBYTE Data;
|
||||
#endif
|
||||
ULONG nBytesData;
|
||||
} DHCPCAPI_CLASSID, *PDHCPCAPI_CLASSID, *LPDHCPCAPI_CLASSID;
|
||||
|
||||
@@ -117,6 +129,7 @@ typedef struct _DHCPCAPI_CLASSID
|
||||
#define DHCPCAPI_REQUEST_CANCEL 0x8
|
||||
#define DHCPCAPI_REQUEST_MASK 0xf
|
||||
|
||||
#if !defined(__midl) && !defined(__WIDL__)
|
||||
void WINAPI DhcpCApiCleanup(void);
|
||||
DWORD WINAPI DhcpCApiInitialize(DWORD *);
|
||||
DWORD WINAPI DhcpDeRegisterParamChange(DWORD, void *, void *);
|
||||
@@ -125,5 +138,6 @@ DWORD WINAPI DhcpRemoveDNSRegistrations(VOID);
|
||||
DWORD WINAPI DhcpRequestParams(DWORD, void *, WCHAR *, DHCPCAPI_CLASSID *, DHCPCAPI_PARAMS_ARRAY,
|
||||
DHCPCAPI_PARAMS_ARRAY, BYTE *, DWORD *, WCHAR *);
|
||||
DWORD WINAPI DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,6 +6,19 @@
|
||||
|
||||
typedef [handle] wchar_t *PDHCP_SERVER_NAME;
|
||||
|
||||
cpp_quote("#ifndef _DHCPCSDK_")
|
||||
typedef struct _DHCPCAPI_CLASSID
|
||||
{
|
||||
ULONG Flags;
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
[size_is(nBytesData), unique] LPBYTE Data;
|
||||
#else
|
||||
LPBYTE Data;
|
||||
#endif
|
||||
ULONG nBytesData;
|
||||
} DHCPCAPI_CLASSID, *PDHCPCAPI_CLASSID, *LPDHCPCAPI_CLASSID;
|
||||
cpp_quote("#endif")
|
||||
|
||||
[
|
||||
uuid(4D5839D6-01BC-559C-B2EC-7DF12EC1B7E6),
|
||||
version(0.0),
|
||||
@@ -70,4 +83,15 @@ interface dhcpcsvc
|
||||
__stdcall
|
||||
RemoveDNSRegistrations(
|
||||
[in, string, unique] PDHCP_SERVER_NAME ServerName);
|
||||
|
||||
/* Function 7 */
|
||||
DWORD
|
||||
__stdcall
|
||||
RequestParams(
|
||||
[in, unique, string] PDHCP_SERVER_NAME ServerName,
|
||||
[in, string] LPWSTR AdapterName,
|
||||
[in, unique] DHCPCAPI_CLASSID *ClassId,
|
||||
[in] DWORD Unknown4,
|
||||
[in] DWORD Unknown5,
|
||||
[in] DWORD Unknown6);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user