rpcrt4: Add RPC_CSTR, RPC_WSTR and update the prototypes accordingly.

Francois Gouget fgouget at free.fr
Thu Oct 12 19:19:15 CDT 2006


---
 dlls/rpcrt4/rpc_binding.c   |   54 ++++++++++++++-------------
 dlls/rpcrt4/rpc_epmap.c     |    2 +
 dlls/rpcrt4/rpc_server.c    |   16 ++++----
 dlls/rpcrt4/rpc_transport.c |    4 +-
 dlls/rpcrt4/rpcrt4_main.c   |   16 ++++----
 include/rpcdce.h            |   86 ++++++++++++++++++++++---------------------
 6 files changed, 90 insertions(+), 88 deletions(-)

diff --git a/dlls/rpcrt4/rpc_binding.c b/dlls/rpcrt4/rpc_binding.c
index 0cd81ad..b09e6d6 100644
--- a/dlls/rpcrt4/rpc_binding.c
+++ b/dlls/rpcrt4/rpc_binding.c
@@ -379,9 +379,9 @@ static LPWSTR RPCRT4_strconcatW(LPWSTR d
 /***********************************************************************
  *             RpcStringBindingComposeA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcStringBindingComposeA(unsigned char *ObjUuid, unsigned char *Protseq,
-                                           unsigned char *NetworkAddr, unsigned char *Endpoint,
-                                           unsigned char *Options, unsigned char** StringBinding )
+RPC_STATUS WINAPI RpcStringBindingComposeA(RPC_CSTR ObjUuid, RPC_CSTR Protseq,
+                                           RPC_CSTR NetworkAddr, RPC_CSTR Endpoint,
+                                           RPC_CSTR Options, RPC_CSTR *StringBinding )
 {
   DWORD len = 1;
   LPSTR data;
@@ -431,12 +431,12 @@ RPC_STATUS WINAPI RpcStringBindingCompos
 /***********************************************************************
  *             RpcStringBindingComposeW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcStringBindingComposeW( LPWSTR ObjUuid, LPWSTR Protseq,
-                                            LPWSTR NetworkAddr, LPWSTR Endpoint,
-                                            LPWSTR Options, LPWSTR* StringBinding )
+RPC_STATUS WINAPI RpcStringBindingComposeW( RPC_WSTR ObjUuid, RPC_WSTR Protseq,
+                                            RPC_WSTR NetworkAddr, RPC_WSTR Endpoint,
+                                            RPC_WSTR Options, RPC_WSTR* StringBinding )
 {
   DWORD len = 1;
-  LPWSTR data;
+  RPC_WSTR data;
 
   TRACE("(%s,%s,%s,%s,%s,%p)\n",
        debugstr_w( ObjUuid ), debugstr_w( Protseq ),
@@ -484,9 +484,9 @@ RPC_STATUS WINAPI RpcStringBindingCompos
 /***********************************************************************
  *             RpcStringBindingParseA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcStringBindingParseA( unsigned char *StringBinding, unsigned char **ObjUuid,
-                                          unsigned char **Protseq, unsigned char **NetworkAddr,
-                                          unsigned char **Endpoint, unsigned char **Options)
+RPC_STATUS WINAPI RpcStringBindingParseA( RPC_CSTR StringBinding, RPC_CSTR *ObjUuid,
+                                          RPC_CSTR *Protseq, RPC_CSTR *NetworkAddr,
+                                          RPC_CSTR *Endpoint, RPC_CSTR *Options)
 {
   CHAR *data, *next;
   static const char ep_opt[] = "endpoint=";
@@ -575,9 +575,9 @@ fail:
 /***********************************************************************
  *             RpcStringBindingParseW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcStringBindingParseW( LPWSTR StringBinding, LPWSTR *ObjUuid,
-                                          LPWSTR *Protseq, LPWSTR *NetworkAddr,
-                                          LPWSTR *Endpoint, LPWSTR *Options)
+RPC_STATUS WINAPI RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjUuid,
+                                          RPC_WSTR *Protseq, RPC_WSTR *NetworkAddr,
+                                          RPC_WSTR *Endpoint, RPC_WSTR *Options)
 {
   WCHAR *data, *next;
   static const WCHAR ep_opt[] = {'e','n','d','p','o','i','n','t','=',0};
@@ -718,11 +718,11 @@ RPC_STATUS WINAPI RpcBindingSetObject( R
 /***********************************************************************
  *             RpcBindingFromStringBindingA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcBindingFromStringBindingA( unsigned char *StringBinding, RPC_BINDING_HANDLE* Binding )
+RPC_STATUS WINAPI RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding )
 {
   RPC_STATUS ret;
   RpcBinding* bind = NULL;
-  unsigned char *ObjectUuid, *Protseq, *NetworkAddr, *Endpoint, *Options;
+  RPC_CSTR ObjectUuid, Protseq, NetworkAddr, Endpoint, Options;
   UUID Uuid;
 
   TRACE("(%s,%p)\n", debugstr_a((char*)StringBinding), Binding);
@@ -757,11 +757,11 @@ RPC_STATUS WINAPI RpcBindingFromStringBi
 /***********************************************************************
  *             RpcBindingFromStringBindingW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcBindingFromStringBindingW( LPWSTR StringBinding, RPC_BINDING_HANDLE* Binding )
+RPC_STATUS WINAPI RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding )
 {
   RPC_STATUS ret;
   RpcBinding* bind = NULL;
-  LPWSTR ObjectUuid, Protseq, NetworkAddr, Endpoint, Options;
+  RPC_WSTR ObjectUuid, Protseq, NetworkAddr, Endpoint, Options;
   UUID Uuid;
 
   TRACE("(%s,%p)\n", debugstr_w(StringBinding), Binding);
@@ -796,7 +796,7 @@ RPC_STATUS WINAPI RpcBindingFromStringBi
 /***********************************************************************
  *             RpcBindingToStringBindingA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, unsigned char** StringBinding )
+RPC_STATUS WINAPI RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding )
 {
   RPC_STATUS ret;
   RpcBinding* bind = (RpcBinding*)Binding;
@@ -818,7 +818,7 @@ RPC_STATUS WINAPI RpcBindingToStringBind
 /***********************************************************************
  *             RpcBindingToStringBindingW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, unsigned short** StringBinding )
+RPC_STATUS WINAPI RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, RPC_WSTR *StringBinding )
 {
   RPC_STATUS ret;
   unsigned char *str = NULL;
@@ -979,7 +979,7 @@ RPC_STATUS WINAPI RpcMgmtSetComTimeout(R
  *             RpcBindingInqAuthInfoExA (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, unsigned char ** ServerPrincName, unsigned long *AuthnLevel,
+RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR *ServerPrincName, unsigned long *AuthnLevel,
                           unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc,
                           unsigned long RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS )
 {
@@ -992,7 +992,7 @@ RpcBindingInqAuthInfoExA( RPC_BINDING_HA
  *             RpcBindingInqAuthInfoExW (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, unsigned short ** ServerPrincName, unsigned long *AuthnLevel,
+RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, unsigned long *AuthnLevel,
                           unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc,
                           unsigned long RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS )
 {
@@ -1005,7 +1005,7 @@ RpcBindingInqAuthInfoExW( RPC_BINDING_HA
  *             RpcBindingInqAuthInfoA (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, unsigned char ** ServerPrincName, unsigned long *AuthnLevel,
+RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR *ServerPrincName, unsigned long *AuthnLevel,
                         unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc )
 {
     FIXME("%p %p %p %p %p %p\n", Binding, ServerPrincName, AuthnLevel,
@@ -1017,7 +1017,7 @@ RpcBindingInqAuthInfoA( RPC_BINDING_HAND
  *             RpcBindingInqAuthInfoW (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, unsigned short ** ServerPrincName, unsigned long *AuthnLevel,
+RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, unsigned long *AuthnLevel,
                         unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc )
 {
     FIXME("%p %p %p %p %p %p\n", Binding, ServerPrincName, AuthnLevel,
@@ -1029,7 +1029,7 @@ RpcBindingInqAuthInfoW( RPC_BINDING_HAND
  *             RpcBindingSetAuthInfoExA (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, unsigned char *ServerPrincName,
+RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName,
                           unsigned long AuthnLevel, unsigned long AuthnSvc,
                           RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr,
                           RPC_SECURITY_QOS *SecurityQos )
@@ -1102,7 +1102,7 @@ RpcBindingSetAuthInfoExA( RPC_BINDING_HA
  *             RpcBindingSetAuthInfoExW (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, unsigned short *ServerPrincName, unsigned long AuthnLevel,
+RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, unsigned long AuthnLevel,
                           unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr,
                           RPC_SECURITY_QOS *SecurityQos )
 {
@@ -1174,7 +1174,7 @@ RpcBindingSetAuthInfoExW( RPC_BINDING_HA
  *             RpcBindingSetAuthInfoA (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, unsigned char *ServerPrincName, unsigned long AuthnLevel,
+RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, unsigned long AuthnLevel,
                         unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr )
 {
     TRACE("%p %s %lu %lu %p %lu\n", Binding, debugstr_a((const char*)ServerPrincName),
@@ -1186,7 +1186,7 @@ RpcBindingSetAuthInfoA( RPC_BINDING_HAND
  *             RpcBindingSetAuthInfoW (RPCRT4.@)
  */
 RPCRTAPI RPC_STATUS RPC_ENTRY
-RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, unsigned short *ServerPrincName, unsigned long AuthnLevel,
+RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, unsigned long AuthnLevel,
                         unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr )
 {
     TRACE("%p %s %lu %lu %p %lu\n", Binding, debugstr_w((const WCHAR*)ServerPrincName),
diff --git a/dlls/rpcrt4/rpc_epmap.c b/dlls/rpcrt4/rpc_epmap.c
index b3c3237..70e4038 100644
--- a/dlls/rpcrt4/rpc_epmap.c
+++ b/dlls/rpcrt4/rpc_epmap.c
@@ -68,7 +68,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole);
  *             RpcEpRegisterA (RPCRT4.@)
  */
 RPC_STATUS WINAPI RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR *BindingVector,
-                                  UUID_VECTOR *UuidVector, unsigned char *Annotation )
+                                  UUID_VECTOR *UuidVector, RPC_CSTR Annotation )
 {
   RPCSS_NP_MESSAGE msg;
   RPCSS_NP_REPLY reply;
diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c
index a57617c..041139d 100644
--- a/dlls/rpcrt4/rpc_server.c
+++ b/dlls/rpcrt4/rpc_server.c
@@ -590,7 +590,7 @@ RPC_STATUS WINAPI RpcServerInqBindings( 
 /***********************************************************************
  *             RpcServerUseProtseqEpA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerUseProtseqEpA( unsigned char *Protseq, UINT MaxCalls, unsigned char *Endpoint, LPVOID SecurityDescriptor )
+RPC_STATUS WINAPI RpcServerUseProtseqEpA( RPC_CSTR Protseq, UINT MaxCalls, RPC_CSTR Endpoint, LPVOID SecurityDescriptor )
 {
   RPC_POLICY policy;
   
@@ -607,7 +607,7 @@ RPC_STATUS WINAPI RpcServerUseProtseqEpA
 /***********************************************************************
  *             RpcServerUseProtseqEpW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerUseProtseqEpW( LPWSTR Protseq, UINT MaxCalls, LPWSTR Endpoint, LPVOID SecurityDescriptor )
+RPC_STATUS WINAPI RpcServerUseProtseqEpW( RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor )
 {
   RPC_POLICY policy;
   
@@ -639,7 +639,7 @@ static RpcServerProtseq *alloc_serverpro
 /***********************************************************************
  *             RpcServerUseProtseqEpExA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerUseProtseqEpExA( unsigned char *Protseq, UINT MaxCalls, unsigned char *Endpoint, LPVOID SecurityDescriptor,
+RPC_STATUS WINAPI RpcServerUseProtseqEpExA( RPC_CSTR Protseq, UINT MaxCalls, RPC_CSTR Endpoint, LPVOID SecurityDescriptor,
                                             PRPC_POLICY lpPolicy )
 {
   char *szps = (char*)Protseq, *szep = (char*)Endpoint;
@@ -657,7 +657,7 @@ RPC_STATUS WINAPI RpcServerUseProtseqEpE
 /***********************************************************************
  *             RpcServerUseProtseqEpExW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerUseProtseqEpExW( LPWSTR Protseq, UINT MaxCalls, LPWSTR Endpoint, LPVOID SecurityDescriptor,
+RPC_STATUS WINAPI RpcServerUseProtseqEpExW( RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor,
                                             PRPC_POLICY lpPolicy )
 {
   RpcServerProtseq* ps;
@@ -675,7 +675,7 @@ RPC_STATUS WINAPI RpcServerUseProtseqEpE
 /***********************************************************************
  *             RpcServerUseProtseqA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerUseProtseqA(unsigned char *Protseq, unsigned int MaxCalls, void *SecurityDescriptor)
+RPC_STATUS WINAPI RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor)
 {
   TRACE("(Protseq == %s, MaxCalls == %d, SecurityDescriptor == ^%p)\n", debugstr_a((char*)Protseq), MaxCalls, SecurityDescriptor);
   return RpcServerUseProtseqEpA(Protseq, MaxCalls, NULL, SecurityDescriptor);
@@ -684,7 +684,7 @@ RPC_STATUS WINAPI RpcServerUseProtseqA(u
 /***********************************************************************
  *             RpcServerUseProtseqW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerUseProtseqW(LPWSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor)
+RPC_STATUS WINAPI RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor)
 {
   TRACE("Protseq == %s, MaxCalls == %d, SecurityDescriptor == ^%p)\n", debugstr_w(Protseq), MaxCalls, SecurityDescriptor);
   return RpcServerUseProtseqEpW(Protseq, MaxCalls, NULL, SecurityDescriptor);
@@ -858,7 +858,7 @@ RPC_STATUS WINAPI RpcObjectSetType( UUID
 /***********************************************************************
  *             RpcServerRegisterAuthInfoA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerRegisterAuthInfoA( unsigned char *ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+RPC_STATUS WINAPI RpcServerRegisterAuthInfoA( RPC_CSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
                             LPVOID Arg )
 {
   FIXME( "(%s,%lu,%p,%p): stub\n", ServerPrincName, AuthnSvc, GetKeyFn, Arg );
@@ -869,7 +869,7 @@ RPC_STATUS WINAPI RpcServerRegisterAuthI
 /***********************************************************************
  *             RpcServerRegisterAuthInfoW (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcServerRegisterAuthInfoW( LPWSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+RPC_STATUS WINAPI RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
                             LPVOID Arg )
 {
   FIXME( "(%s,%lu,%p,%p): stub\n", debugstr_w( ServerPrincName ), AuthnSvc, GetKeyFn, Arg );
diff --git a/dlls/rpcrt4/rpc_transport.c b/dlls/rpcrt4/rpc_transport.c
index a627119..a84e2c5 100644
--- a/dlls/rpcrt4/rpc_transport.c
+++ b/dlls/rpcrt4/rpc_transport.c
@@ -963,7 +963,7 @@ RPC_STATUS RpcTransport_ParseTopOfTower(
  * If it is, returns RPC_S_OK, otherwise RPC_S_PROTSEQ_NOT_SUPPORTED.
  *
  */
-RPC_STATUS WINAPI RpcNetworkIsProtseqValidW(LPWSTR protseq)
+RPC_STATUS WINAPI RpcNetworkIsProtseqValidW(RPC_WSTR protseq)
 {
   char ps[0x10];
 
@@ -980,7 +980,7 @@ RPC_STATUS WINAPI RpcNetworkIsProtseqVal
 /***********************************************************************
  *             RpcNetworkIsProtseqValidA (RPCRT4.@)
  */
-RPC_STATUS WINAPI RpcNetworkIsProtseqValidA(unsigned char *protseq)
+RPC_STATUS WINAPI RpcNetworkIsProtseqValidA(RPC_CSTR protseq)
 {
   UNICODE_STRING protseqW;
 
diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c
index da33b59..9bf839a 100644
--- a/dlls/rpcrt4/rpcrt4_main.c
+++ b/dlls/rpcrt4/rpcrt4_main.c
@@ -174,7 +174,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, 
  *
  *  S_OK if successful.
  */
-RPC_STATUS WINAPI RpcStringFreeA(unsigned char** String)
+RPC_STATUS WINAPI RpcStringFreeA(RPC_CSTR* String)
 {
   HeapFree( GetProcessHeap(), 0, *String);
 
@@ -190,7 +190,7 @@ RPC_STATUS WINAPI RpcStringFreeA(unsigne
  *
  *  S_OK if successful.
  */
-RPC_STATUS WINAPI RpcStringFreeW(unsigned short** String)
+RPC_STATUS WINAPI RpcStringFreeW(RPC_WSTR* String)
 {
   HeapFree( GetProcessHeap(), 0, *String);
 
@@ -509,7 +509,7 @@ unsigned short WINAPI UuidHash(UUID *uui
  *  S_OK if successful.
  *  S_OUT_OF_MEMORY if unsuccessful.
  */
-RPC_STATUS WINAPI UuidToStringA(UUID *Uuid, unsigned char** StringUuid)
+RPC_STATUS WINAPI UuidToStringA(UUID *Uuid, RPC_CSTR* StringUuid)
 {
   *StringUuid = HeapAlloc( GetProcessHeap(), 0, sizeof(char) * 37);
 
@@ -535,7 +535,7 @@ RPC_STATUS WINAPI UuidToStringA(UUID *Uu
  *  S_OK if successful.
  *  S_OUT_OF_MEMORY if unsuccessful.
  */
-RPC_STATUS WINAPI UuidToStringW(UUID *Uuid, unsigned short** StringUuid)
+RPC_STATUS WINAPI UuidToStringW(UUID *Uuid, RPC_WSTR* StringUuid)
 {
   char buf[37];
 
@@ -569,7 +569,7 @@ static const BYTE hex2bin[] =
 /***********************************************************************
  *		UuidFromStringA (RPCRT4.@)
  */
-RPC_STATUS WINAPI UuidFromStringA(unsigned char* s, UUID *uuid)
+RPC_STATUS WINAPI UuidFromStringA(RPC_CSTR s, UUID *uuid)
 {
     int i;
 
@@ -609,7 +609,7 @@ RPC_STATUS WINAPI UuidFromStringA(unsign
 /***********************************************************************
  *		UuidFromStringW (RPCRT4.@)
  */
-RPC_STATUS WINAPI UuidFromStringW(unsigned short* s, UUID *uuid)
+RPC_STATUS WINAPI UuidFromStringW(RPC_WSTR s, UUID *uuid)
 {
     int i;
 
@@ -762,7 +762,7 @@ #define MAX_RPC_ERROR_TEXT 256
  * 4. The MSDN documentation currently declares that the second argument is
  *    unsigned char *, even for the W version.  I don't believe it.
  */
-RPC_STATUS RPC_ENTRY DceErrorInqTextW (RPC_STATUS e, unsigned short *buffer)
+RPC_STATUS RPC_ENTRY DceErrorInqTextW (RPC_STATUS e, RPC_WSTR buffer)
 {
     DWORD count;
     count = FormatMessageW (FORMAT_MESSAGE_FROM_SYSTEM |
@@ -785,7 +785,7 @@ RPC_STATUS RPC_ENTRY DceErrorInqTextW (R
 /******************************************************************************
  * DceErrorInqTextA   (rpcrt4.@)
  */
-RPC_STATUS RPC_ENTRY DceErrorInqTextA (RPC_STATUS e, unsigned char *buffer)
+RPC_STATUS RPC_ENTRY DceErrorInqTextA (RPC_STATUS e, RPC_CSTR buffer)
 {
     RPC_STATUS status;
     WCHAR bufferW [MAX_RPC_ERROR_TEXT];
diff --git a/include/rpcdce.h b/include/rpcdce.h
index 89a0e14..c483928 100644
--- a/include/rpcdce.h
+++ b/include/rpcdce.h
@@ -42,6 +42,8 @@ #define UUID_DEFINED
 typedef GUID UUID;
 #endif
 
+typedef unsigned char* RPC_CSTR;
+typedef unsigned short* RPC_WSTR;
 typedef void* RPC_AUTH_IDENTITY_HANDLE;
 typedef void* RPC_AUTHZ_HANDLE;
 typedef void* RPC_IF_HANDLE;
@@ -190,8 +192,8 @@ #define RPC_IF_OLE                      
 #define RPC_IF_ALLOW_UNKNOWN_AUTHORITY  0x4
 #define RPC_IF_ALLOW_SECURE_ONLY        0x8
 
-RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS e, unsigned char *buffer);
-RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, unsigned short *buffer);
+RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS e, RPC_CSTR buffer);
+RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, RPC_WSTR buffer);
 #define              DceErrorInqText WINELIB_NAME_AW(DceErrorInqText)
 
 RPCRTAPI void RPC_ENTRY
@@ -213,34 +215,34 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
   RpcObjectSetType( UUID* ObjUuid, UUID* TypeUuid );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingFromStringBindingA( unsigned char *StringBinding, RPC_BINDING_HANDLE* Binding );
+  RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingFromStringBindingW( unsigned short *StringBinding, RPC_BINDING_HANDLE* Binding );
+  RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding );
 #define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, unsigned char **StringBinding );
+  RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, unsigned short **StringBinding );
+  RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, RPC_WSTR *StringBinding );
 #define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
   RpcBindingVectorFree( RPC_BINDING_VECTOR** BindingVector );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcStringBindingComposeA( unsigned char *ObjUuid, unsigned char *Protseq, unsigned char *NetworkAddr,
-                            unsigned char *Endpoint, unsigned char *Options, unsigned char **StringBinding );
+  RpcStringBindingComposeA( RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr,
+                            RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR *StringBinding );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcStringBindingComposeW( unsigned short *ObjUuid, unsigned short *Protseq, unsigned short *NetworkAddr,
-                            unsigned short *Endpoint, unsigned short *Options, unsigned short **StringBinding );
+  RpcStringBindingComposeW( RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr,
+                            RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding );
 #define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcStringBindingParseA( unsigned char *StringBinding, unsigned char **ObjUuid, unsigned char **Protseq,
-                          unsigned char **NetworkAddr, unsigned char **Endpoint, unsigned char **NetworkOptions );
+  RpcStringBindingParseA( RPC_CSTR StringBinding, RPC_CSTR *ObjUuid, RPC_CSTR *Protseq,
+                          RPC_CSTR *NetworkAddr, RPC_CSTR *Endpoint, RPC_CSTR *NetworkOptions );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcStringBindingParseW( unsigned short *StringBinding, unsigned short **ObjUuid, unsigned short **Protseq,
-                          unsigned short **NetworkAddr, unsigned short **Endpoint, unsigned short **NetworkOptions );
+  RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjUuid, RPC_WSTR *Protseq,
+                          RPC_WSTR *NetworkAddr, RPC_WSTR *Endpoint, RPC_WSTR *NetworkOptions );
 #define RpcStringBindingParse WINELIB_NAME_AW(RpcStringBindingParse)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
@@ -248,18 +250,18 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
   RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
-                  UUID_VECTOR* UuidVector, unsigned char *Annotation );
+                  UUID_VECTOR* UuidVector, RPC_CSTR Annotation );
 RPCRTAPI RPC_STATUS RPC_ENTRY
   RpcEpRegisterW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
-                  UUID_VECTOR* UuidVector, unsigned short *Annotation );
+                  UUID_VECTOR* UuidVector, RPC_WSTR Annotation );
 #define RpcEpRegister WINELIB_NAME_AW(RpcEpRegister)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
   RpcEpRegisterNoReplaceA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
-                           UUID_VECTOR* UuidVector, unsigned char *Annotation );
+                           UUID_VECTOR* UuidVector, RPC_CSTR Annotation );
 RPCRTAPI RPC_STATUS RPC_ENTRY
   RpcEpRegisterNoReplaceW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
-                           UUID_VECTOR* UuidVector, unsigned short *Annotation );
+                           UUID_VECTOR* UuidVector, RPC_WSTR Annotation );
 #define RpcEpRegisterNoReplace WINELIB_NAME_AW(RpcEpRegisterNoReplace)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
@@ -304,95 +306,95 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
 
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerUseProtseqA(unsigned char *Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
+  RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerUseProtseqW(unsigned short *Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
+  RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
 #define RpcServerUseProtseq WINELIB_NAME_AW(RpcServerUseProtseq)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerUseProtseqEpA( unsigned char *Protseq, unsigned int MaxCalls, unsigned char *Endpoint, void *SecurityDescriptor );
+  RpcServerUseProtseqEpA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerUseProtseqEpW( unsigned short *Protseq, unsigned int MaxCalls, unsigned short *Endpoint, void *SecurityDescriptor );
+  RpcServerUseProtseqEpW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor );
 #define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerUseProtseqEpExA( unsigned char *Protseq, unsigned int MaxCalls, unsigned char *Endpoint, void *SecurityDescriptor,
+  RpcServerUseProtseqEpExA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor,
                             PRPC_POLICY Policy );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerUseProtseqEpExW( unsigned short *Protseq, unsigned int MaxCalls, unsigned short *Endpoint, void *SecurityDescriptor,
+  RpcServerUseProtseqEpExW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor,
                             PRPC_POLICY Policy );
 #define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerRegisterAuthInfoA( unsigned char *ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+  RpcServerRegisterAuthInfoA( RPC_CSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
                               void *Arg );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcServerRegisterAuthInfoW( unsigned short *ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+  RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
                               void *Arg );
 #define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, unsigned char *ServerPrincName, unsigned long AuthnLevel,
+  RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, unsigned long AuthnLevel,
                             unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr,
                             RPC_SECURITY_QOS *SecurityQos );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, unsigned short *ServerPrincName, unsigned long AuthnLevel,
+  RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, unsigned long AuthnLevel,
                             unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr,
                             RPC_SECURITY_QOS *SecurityQos );
 #define RpcBindingSetAuthInfoEx WINELIB_NAME_AW(RpcBindingSetAuthInfoEx)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, unsigned char *ServerPrincName, unsigned long AuthnLevel,
+  RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, unsigned long AuthnLevel,
                           unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, unsigned short *ServerPrincName, unsigned long AuthnLevel,
+  RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, unsigned long AuthnLevel,
                           unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvr );
 #define RpcBindingSetAuthInfo WINELIB_NAME_AW(RpcBindingSetAuthInfo)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, unsigned char ** ServerPrincName, unsigned long *AuthnLevel,
+  RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, unsigned long *AuthnLevel,
                             unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc,
                             unsigned long RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, unsigned short ** ServerPrincName, unsigned long *AuthnLevel,
+  RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, unsigned long *AuthnLevel,
                             unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc,
                             unsigned long RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
 #define RpcBindingInqAuthInfoEx WINELIB_NAME_AW(RpcBindingInqAuthInfoEx)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, unsigned char ** ServerPrincName, unsigned long *AuthnLevel,
+  RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, unsigned long *AuthnLevel,
                           unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, unsigned short ** ServerPrincName, unsigned long *AuthnLevel,
+  RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, unsigned long *AuthnLevel,
                           unsigned long *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, unsigned long *AuthzSvc );
 #define RpcBindingInqAuthInfo WINELIB_NAME_AW(RpcBindingInqAuthInfo)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcNetworkIsProtseqValidA( unsigned char *protseq );
+  RpcNetworkIsProtseqValidA( RPC_CSTR protseq );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcNetworkIsProtseqValidW( unsigned short *protseq );
+  RpcNetworkIsProtseqValidW( RPC_WSTR protseq );
 #define RpcNetworkIsProtseqValid WINELIB_NAME_AW(RpcNetworkIsProtseqValid)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcStringFreeA(unsigned char** String);
+  RpcStringFreeA(RPC_CSTR* String);
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  RpcStringFreeW(unsigned short** String);
+  RpcStringFreeW(RPC_WSTR* String);
 #define RpcStringFree WINELIB_NAME_AW(RpcStringFree)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  UuidToStringA( UUID* Uuid, unsigned char** StringUuid );
+  UuidToStringA( UUID* Uuid, RPC_CSTR* StringUuid );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  UuidToStringW( UUID* Uuid, unsigned short** StringUuid );
+  UuidToStringW( UUID* Uuid, RPC_WSTR* StringUuid );
 #define UuidToString WINELIB_NAME_AW(UuidToString)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  UuidFromStringA( unsigned char* StringUuid, UUID* Uuid );
+  UuidFromStringA( RPC_CSTR StringUuid, UUID* Uuid );
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  UuidFromStringW( unsigned short* StringUuid, UUID* Uuid );
+  UuidFromStringW( RPC_WSTR StringUuid, UUID* Uuid );
 #define UuidFromString WINELIB_NAME_AW(UuidFromString)
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
-- 
1.4.1.1




More information about the wine-patches mailing list