Implemented RpcStringFreeA and UuidToStringA.
This commit is contained in:
parent
21ec006fc1
commit
1fc70a94c5
|
@ -4,3 +4,5 @@ init RPCRT4_LibMain
|
|||
|
||||
|
||||
@ stdcall UuidCreate(ptr) UuidCreate
|
||||
@ stdcall RpcStringFreeA(ptr) RpcStringFreeA
|
||||
@ stdcall UuidToStringA(ptr ptr) UuidToStringA
|
||||
|
|
|
@ -5,17 +5,19 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "wine/windef16.h"
|
||||
#include "winerror.h"
|
||||
#include "winbase.h"
|
||||
#include "rpc.h"
|
||||
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef HAVE_SYS_FILE_H
|
||||
# include <sys/file.h>
|
||||
#endif
|
||||
|
@ -265,3 +267,50 @@ sizeof((i).ifr_name)+(i).ifr_addr.sa_len)
|
|||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* RpcStringFreeA [RPCRT4.436]
|
||||
*
|
||||
* Frees a character string allocated by the RPC run-time library.
|
||||
*
|
||||
* RETURNS
|
||||
*
|
||||
* S_OK if successful.
|
||||
*/
|
||||
RPC_STATUS WINAPI RpcStringFreeA(unsigned char** String)
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, *String);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* UuidToStringA [RPCRT4.450]
|
||||
*
|
||||
* Converts a UUID to a string.
|
||||
*
|
||||
* UUID format is 8 hex digits, followed by a hyphen then three groups of
|
||||
* 4 hex digits each followed by a hyphen and then 12 hex digits
|
||||
*
|
||||
* RETURNS
|
||||
*
|
||||
* S_OK if successful.
|
||||
* S_OUT_OF_MEMORY if unsucessful.
|
||||
*/
|
||||
RPC_STATUS WINAPI UuidToStringA(UUID *Uuid, unsigned char** StringUuid)
|
||||
{
|
||||
*StringUuid = HeapAlloc( GetProcessHeap(), 0, sizeof(char) * 37);
|
||||
|
||||
|
||||
/* FIXME: this should be RPC_S_OUT_OF_MEMORY */
|
||||
if(!(*StringUuid))
|
||||
return ERROR_OUTOFMEMORY;
|
||||
|
||||
sprintf(*StringUuid, "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
|
||||
Uuid->Data1, Uuid->Data2, Uuid->Data3,
|
||||
Uuid->Data4[0], Uuid->Data4[1], Uuid->Data4[2],
|
||||
Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5],
|
||||
Uuid->Data4[6], Uuid->Data4[7] );
|
||||
|
||||
return S_OK; /*FIXME: this should be RPC_S_OK */
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue