ReactOS  0.4.14-dev-606-g14ebc0b
rpcrt4_main.c File Reference
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ntstatus.h"
#include "windef.h"
#include "winerror.h"
#include "winbase.h"
#include "winuser.h"
#include "winnt.h"
#include "wine/winternl.h"
#include "ntsecapi.h"
#include "iptypes.h"
#include "iphlpapi.h"
#include "rpc.h"
#include "ole2.h"
#include "rpcndr.h"
#include "rpcproxy.h"
#include "rpc_binding.h"
#include "rpc_server.h"
#include "wine/debug.h"
Include dependency graph for rpcrt4_main.c:

Go to the source code of this file.

Classes

struct  context_handle_list
 
struct  threaddata
 

Macros

#define WIN32_NO_STATUS
 
#define TICKS_PER_CLOCK_TICK   1000
 
#define SECSPERDAY   86400
 
#define TICKSPERSEC   10000000
 
#define SECS_15_OCT_1582_TO_1601   ((17 + 30 + 31 + 365 * 18 + 5) * SECSPERDAY)
 
#define TICKS_15_OCT_1582_TO_1601   ((ULONGLONG)SECS_15_OCT_1582_TO_1601 * TICKSPERSEC)
 
#define ADDRESS_BYTES_NEEDED   6
 
#define MAX_RPC_ERROR_TEXT   256
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (rpc)
 
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 
RPC_STATUS WINAPI RpcStringFreeA (RPC_CSTR *String)
 
RPC_STATUS WINAPI RpcStringFreeW (RPC_WSTR *String)
 
void DECLSPEC_NORETURN WINAPI RpcRaiseException (RPC_STATUS exception)
 
int WINAPI UuidCompare (UUID *Uuid1, UUID *Uuid2, RPC_STATUS *Status)
 
int WINAPI UuidEqual (UUID *Uuid1, UUID *Uuid2, RPC_STATUS *Status)
 
int WINAPI UuidIsNil (UUID *Uuid, RPC_STATUS *Status)
 
RPC_STATUS WINAPI UuidCreateNil (UUID *Uuid)
 
RPC_STATUS WINAPI UuidCreate (UUID *Uuid)
 
static void RPC_UuidGetSystemTime (ULONGLONG *time)
 
static RPC_STATUS RPC_UuidGetNodeAddress (BYTE *address)
 
RPC_STATUS WINAPI UuidCreateSequential (UUID *Uuid)
 
RPC_STATUS WINAPI I_UuidCreate (UUID *Uuid)
 
unsigned short WINAPI UuidHash (UUID *uuid, RPC_STATUS *Status)
 
RPC_STATUS WINAPI UuidToStringA (UUID *Uuid, RPC_CSTR *StringUuid)
 
RPC_STATUS WINAPI UuidToStringW (UUID *Uuid, RPC_WSTR *StringUuid)
 
RPC_STATUS WINAPI UuidFromStringA (RPC_CSTR s, UUID *uuid)
 
RPC_STATUS WINAPI UuidFromStringW (RPC_WSTR s, UUID *uuid)
 
HRESULT WINAPI DllRegisterServer (void)
 
RPC_STATUS RPC_ENTRY DceErrorInqTextW (RPC_STATUS e, RPC_WSTR buffer)
 
RPC_STATUS RPC_ENTRY DceErrorInqTextA (RPC_STATUS e, RPC_CSTR buffer)
 
void *WINAPI I_RpcAllocate (unsigned int Size)
 
void WINAPI I_RpcFree (void *Object)
 
LONG WINAPI I_RpcMapWin32Status (RPC_STATUS status)
 
int WINAPI RpcExceptionFilter (ULONG ExceptionCode)
 
RPC_STATUS RPC_ENTRY RpcErrorStartEnumeration (RPC_ERROR_ENUM_HANDLE *EnumHandle)
 
RPC_STATUS RPC_ENTRY RpcErrorEndEnumeration (RPC_ERROR_ENUM_HANDLE *EnumHandle)
 
RPC_STATUS RPC_ENTRY RpcErrorSaveErrorInfo (RPC_ERROR_ENUM_HANDLE *EnumHandle, void **ErrorBlob, SIZE_T *BlobSize)
 
RPC_STATUS RPC_ENTRY RpcErrorLoadErrorInfo (void *ErrorBlob, SIZE_T BlobSize, RPC_ERROR_ENUM_HANDLE *EnumHandle)
 
RPC_STATUS RPC_ENTRY RpcErrorGetNextRecord (RPC_ERROR_ENUM_HANDLE *EnumHandle, BOOL CopyStrings, RPC_EXTENDED_ERROR_INFO *ErrorInfo)
 
RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout (LONG Timeout)
 
static struct threaddataget_or_create_threaddata (void)
 
void RPCRT4_SetThreadCurrentConnection (RpcConnection *Connection)
 
void RPCRT4_SetThreadCurrentCallHandle (RpcBinding *Binding)
 
RpcBindingRPCRT4_GetThreadCurrentCallHandle (void)
 
void RPCRT4_PushThreadContextHandle (NDR_SCONTEXT SContext)
 
void RPCRT4_RemoveThreadContextHandle (NDR_SCONTEXT SContext)
 
NDR_SCONTEXT RPCRT4_PopThreadContextHandle (void)
 
static RPC_STATUS rpc_cancel_thread (DWORD target_tid)
 
RPC_STATUS RPC_ENTRY RpcCancelThread (void *ThreadHandle)
 
RPC_STATUS RPC_ENTRY RpcCancelThreadEx (void *ThreadHandle, LONG Timeout)
 

Variables

static UUID uuid_nil
 
static CRITICAL_SECTION uuid_cs = { &critsect_debug, -1, 0, 0, 0, 0 }
 
static CRITICAL_SECTION_DEBUG critsect_debug
 
static CRITICAL_SECTION threaddata_cs = { &threaddata_cs_debug, -1, 0, 0, 0, 0 }
 
static CRITICAL_SECTION_DEBUG threaddata_cs_debug
 
static struct list threaddata_list = LIST_INIT(threaddata_list)
 
static const BYTE hex2bin []
 

Macro Definition Documentation

◆ ADDRESS_BYTES_NEEDED

#define ADDRESS_BYTES_NEEDED   6

Definition at line 340 of file rpcrt4_main.c.

◆ MAX_RPC_ERROR_TEXT

#define MAX_RPC_ERROR_TEXT   256

Definition at line 658 of file rpcrt4_main.c.

◆ SECS_15_OCT_1582_TO_1601

#define SECS_15_OCT_1582_TO_1601   ((17 + 30 + 31 + 365 * 18 + 5) * SECSPERDAY)

Definition at line 326 of file rpcrt4_main.c.

◆ SECSPERDAY

#define SECSPERDAY   86400

Definition at line 323 of file rpcrt4_main.c.

◆ TICKS_15_OCT_1582_TO_1601

#define TICKS_15_OCT_1582_TO_1601   ((ULONGLONG)SECS_15_OCT_1582_TO_1601 * TICKSPERSEC)

Definition at line 327 of file rpcrt4_main.c.

◆ TICKS_PER_CLOCK_TICK

#define TICKS_PER_CLOCK_TICK   1000

Definition at line 322 of file rpcrt4_main.c.

◆ TICKSPERSEC

#define TICKSPERSEC   10000000

Definition at line 324 of file rpcrt4_main.c.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 37 of file rpcrt4_main.c.

Function Documentation

◆ DceErrorInqTextA()

RPC_STATUS RPC_ENTRY DceErrorInqTextA ( RPC_STATUS  e,
RPC_CSTR  buffer 
)

Definition at line 695 of file rpcrt4_main.c.

696 {
698  WCHAR bufferW [MAX_RPC_ERROR_TEXT];
699  if ((status = DceErrorInqTextW (e, bufferW)) == RPC_S_OK)
700  {
701  if (!WideCharToMultiByte(CP_ACP, 0, bufferW, -1, (LPSTR)buffer, MAX_RPC_ERROR_TEXT,
702  NULL, NULL))
703  {
704  ERR ("Failed to translate error\n");
706  }
707  }
708  return status;
709 }
#define WideCharToMultiByte
Definition: compat.h:101
#define CP_ACP
Definition: compat.h:99
#define RPC_S_INVALID_ARG
Definition: rpcnterr.h:23
GLuint buffer
Definition: glext.h:5915
char * LPSTR
Definition: xmlstorage.h:182
long RPC_STATUS
Definition: rpc.h:52
#define e
Definition: ke_i.h:82
RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, RPC_WSTR buffer)
Definition: rpcrt4_main.c:672
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define ERR(fmt,...)
Definition: debug.h:109
static SERVICE_STATUS status
Definition: service.c:31
#define MAX_RPC_ERROR_TEXT
Definition: rpcrt4_main.c:658
#define RPC_S_OK
Definition: rpcnterr.h:22
Definition: ps.c:97

Referenced by TestDceErrorInqText().

◆ DceErrorInqTextW()

RPC_STATUS RPC_ENTRY DceErrorInqTextW ( RPC_STATUS  e,
RPC_WSTR  buffer 
)

Definition at line 672 of file rpcrt4_main.c.

673 {
674  DWORD count;
678  if (!count)
679  {
683  if (!count)
684  {
685  ERR ("Failed to translate error\n");
686  return RPC_S_INVALID_ARG;
687  }
688  }
689  return RPC_S_OK;
690 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define RPC_S_INVALID_ARG
Definition: rpcnterr.h:23
GLuint buffer
Definition: glext.h:5915
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
#define e
Definition: ke_i.h:82
smooth NULL
Definition: ftsmooth.c:416
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:404
#define RPC_S_NOT_RPC_ERROR
Definition: winerror.h:1130
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ERR(fmt,...)
Definition: debug.h:109
#define FORMAT_MESSAGE_IGNORE_INSERTS
Definition: winbase.h:401
#define MAX_RPC_ERROR_TEXT
Definition: rpcrt4_main.c:658
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by DceErrorInqTextA().

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinstDLL,
DWORD  fdwReason,
LPVOID  lpvReserved 
)

Definition at line 111 of file rpcrt4_main.c.

112 {
113  struct threaddata *tdata;
114 
115  switch (fdwReason) {
116  case DLL_PROCESS_ATTACH:
117  break;
118 
119  case DLL_THREAD_DETACH:
120  tdata = NtCurrentTeb()->ReservedForNtRpc;
121  if (tdata)
122  {
124  list_remove(&tdata->entry);
126 
127  tdata->cs.DebugInfo->Spare[0] = 0;
128  DeleteCriticalSection(&tdata->cs);
129  if (tdata->connection)
130  ERR("tdata->connection should be NULL but is still set to %p\n", tdata->connection);
131  if (tdata->server_binding)
132  ERR("tdata->server_binding should be NULL but is still set to %p\n", tdata->server_binding);
133  HeapFree(GetProcessHeap(), 0, tdata);
134  }
135  break;
136 
137  case DLL_PROCESS_DETACH:
138  if (lpvReserved) break; /* do nothing if process is shutting down */
143  break;
144  }
145 
146  return TRUE;
147 }
#define TRUE
Definition: types.h:120
static CRITICAL_SECTION uuid_cs
Definition: rpcrt4_main.c:62
#define DLL_PROCESS_ATTACH
Definition: compat.h:120
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define DLL_THREAD_DETACH
Definition: compat.h:122
static IN DWORD IN LPVOID lpvReserved
void RPCRT4_destroy_all_protseqs(void)
Definition: rpc_server.c:1094
#define DLL_PROCESS_DETACH
Definition: compat.h:119
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
Definition: list.h:108
#define GetProcessHeap()
Definition: compat.h:403
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
PCRITICAL_SECTION_DEBUG DebugInfo
Definition: winbase.h:866
RpcConnection * connection
Definition: rpcrt4_main.c:93
#define ERR(fmt,...)
Definition: debug.h:109
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
void RPCRT4_ServerFreeAllRegisteredAuthInfo(void)
Definition: rpc_server.c:1396
struct list entry
Definition: rpcrt4_main.c:90
RpcBinding * server_binding
Definition: rpcrt4_main.c:94
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
CRITICAL_SECTION cs
Definition: rpcrt4_main.c:91
#define HeapFree(x, y, z)
Definition: compat.h:402
static CRITICAL_SECTION threaddata_cs
Definition: rpcrt4_main.c:71
DWORD_PTR Spare[8/sizeof(DWORD_PTR)]
Definition: winbase.h:859

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 652 of file rpcrt4_main.c.

653 {
654  FIXME( "(): stub\n" );
655  return S_OK;
656 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_OK
Definition: intsafe.h:59

◆ get_or_create_threaddata()

static struct threaddata* get_or_create_threaddata ( void  )
static

Definition at line 930 of file rpcrt4_main.c.

931 {
932  struct threaddata *tdata = NtCurrentTeb()->ReservedForNtRpc;
933  if (!tdata)
934  {
935  tdata = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*tdata));
936  if (!tdata) return NULL;
937 
938  InitializeCriticalSection(&tdata->cs);
939  tdata->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": threaddata.cs");
940  tdata->thread_id = GetCurrentThreadId();
941 
945 
946  NtCurrentTeb()->ReservedForNtRpc = tdata;
947  return tdata;
948  }
949  return tdata;
950 }
DWORD thread_id
Definition: rpcrt4_main.c:92
#define DWORD_PTR
Definition: treelist.c:76
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
Definition: synch.c:751
smooth NULL
Definition: ftsmooth.c:416
DWORD WINAPI GetCurrentThreadId(VOID)
Definition: thread.c:458
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
PCRITICAL_SECTION_DEBUG DebugInfo
Definition: winbase.h:866
static struct list threaddata_list
Definition: rpcrt4_main.c:80
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
struct list entry
Definition: rpcrt4_main.c:90
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
CRITICAL_SECTION cs
Definition: rpcrt4_main.c:91
static CRITICAL_SECTION threaddata_cs
Definition: rpcrt4_main.c:71
DWORD_PTR Spare[8/sizeof(DWORD_PTR)]
Definition: winbase.h:859

Referenced by RPCRT4_GetThreadCurrentCallHandle(), RPCRT4_PopThreadContextHandle(), RPCRT4_PushThreadContextHandle(), RPCRT4_RemoveThreadContextHandle(), RPCRT4_SetThreadCurrentCallHandle(), and RPCRT4_SetThreadCurrentConnection().

◆ I_RpcAllocate()

void* WINAPI I_RpcAllocate ( unsigned int  Size)

Definition at line 714 of file rpcrt4_main.c.

715 {
716  return HeapAlloc(GetProcessHeap(), 0, Size);
717 }
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359

Referenced by do_ndr_async_client_call(), I_RpcGetBuffer(), ncacn_pipe_name(), ncalrpc_pipe_name(), NdrAsyncServerCall(), rpcrt4_ip_tcp_parse_top_of_tower(), rpcrt4_ncacn_np_parse_top_of_tower(), rpcrt4_ncalrpc_parse_top_of_tower(), RPCRT4_ReceiveWithAuth(), RpcTransport_ParseTopOfTower(), and TowerConstruct().

◆ I_RpcFree()

◆ I_RpcMapWin32Status()

LONG WINAPI I_RpcMapWin32Status ( RPC_STATUS  status)

Definition at line 738 of file rpcrt4_main.c.

739 {
740  TRACE("(%d)\n", status);
741  switch (status)
742  {
745  case ERROR_OUTOFMEMORY: return STATUS_NO_MEMORY;
773  case RPC_S_UNKNOWN_IF: return RPC_NT_UNKNOWN_IF;
846  case RPC_X_PIPE_EMPTY: return RPC_NT_PIPE_EMPTY;
849  default: return status;
850  }
851 }
#define RPC_NT_NO_PROTSEQS_REGISTERED
Definition: ntstatus.h:974
#define RPC_S_UNKNOWN_IF
Definition: winerror.h:1028
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define RPC_X_SS_IN_NULL_CONTEXT
Definition: winerror.h:1083
#define STATUS_WRONG_PASSWORD
Definition: ntstatus.h:328
#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL
Definition: winerror.h:1081
#define RPC_S_ENTRY_ALREADY_EXISTS
Definition: winerror.h:1068
#define RPC_NT_DUPLICATE_ENDPOINT
Definition: ntstatus.h:997
#define RPC_NT_SS_CONTEXT_MISMATCH
Definition: ntstatus.h:1050
#define RPC_S_UNSUPPORTED_TRANS_SYN
Definition: winerror.h:1040
#define STATUS_INVALID_SECURITY_DESCR
Definition: ntstatus.h:343
#define RPC_S_PROCNUM_OUT_OF_RANGE
Definition: winerror.h:1053
#define RPC_NT_INVALID_TIMEOUT
Definition: ntstatus.h:969
#define RPC_NT_BAD_STUB_DATA
Definition: ntstatus.h:1057
#define ERROR_ACCOUNT_DISABLED
Definition: winerror.h:813
#define RPC_S_INVALID_BOUND
Definition: winerror.h:1043
#define RPC_NT_BYTE_COUNT_TOO_SMALL
Definition: ntstatus.h:1056
#define RPC_S_NO_ENDPOINT_FOUND
Definition: winerror.h:1019
#define RPC_X_NULL_REF_POINTER
Definition: winerror.h:1087
#define RPC_NT_NO_CONTEXT_AVAILABLE
Definition: ntstatus.h:1022
#define RPC_X_PIPE_EMPTY
Definition: winerror.h:1160
#define RPC_NT_INTERFACE_NOT_FOUND
Definition: ntstatus.h:1016
#define RPC_NT_UNKNOWN_AUTHZ_SERVICE
Definition: ntstatus.h:1007
#define RPC_X_SS_CONTEXT_DAMAGED
Definition: winerror.h:1084
#define RPC_NT_SS_CHAR_TRANS_OPEN_FAIL
Definition: ntstatus.h:1047
#define RPC_NT_CANNOT_SUPPORT
Definition: ntstatus.h:1021
#define RPC_X_SS_CHAR_TRANS_SHORT_FILE
Definition: winerror.h:1082
#define RPC_S_NO_CONTEXT_AVAILABLE
Definition: winerror.h:1073
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
#define RPC_S_NOTHING_TO_EXPORT
Definition: winerror.h:1062
#define RPC_S_NAME_SERVICE_UNAVAILABLE
Definition: winerror.h:1070
#define RPC_NT_NO_PROTSEQS
Definition: ntstatus.h:979
#define RPC_S_INVALID_NET_ADDR
Definition: winerror.h:1018
#define RPC_NT_ALREADY_LISTENING
Definition: ntstatus.h:973
#define EPT_NT_CANT_CREATE
Definition: ntstatus.h:1032
#define RPC_S_NO_BINDINGS
Definition: winerror.h:1029
#define RPC_S_NO_PROTSEQS_REGISTERED
Definition: winerror.h:1025
#define RPC_NT_INVALID_TAG
Definition: ntstatus.h:991
#define RPC_S_WRONG_KIND_OF_BINDING
Definition: winerror.h:1012
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define RPC_NT_NO_MORE_MEMBERS
Definition: ntstatus.h:1014
#define RPC_NT_UNKNOWN_AUTHN_LEVEL
Definition: ntstatus.h:1005
#define RPC_S_INVALID_ASYNC_CALL
Definition: winerror.h:1157
#define RPC_X_BYTE_COUNT_TOO_SMALL
Definition: winerror.h:1089
#define RPC_NT_INVALID_RPC_PROTSEQ
Definition: ntstatus.h:964
#define RPC_NT_SERVER_TOO_BUSY
Definition: ntstatus.h:983
#define STATUS_INSUFF_SERVER_RESOURCES
Definition: ntstatus.h:635
#define RPC_NT_NO_CALL_ACTIVE
Definition: ntstatus.h:985
#define RPC_S_SERVER_UNAVAILABLE
Definition: winerror.h:1033
#define RPC_NT_UNKNOWN_AUTHN_TYPE
Definition: ntstatus.h:998
#define RPC_NT_ENUM_VALUE_OUT_OF_RANGE
Definition: ntstatus.h:1055
#define RPC_X_PIPE_CLOSED
Definition: winerror.h:1158
#define RPC_S_NO_MORE_BINDINGS
Definition: winerror.h:1113
#define RPC_NT_GROUP_MEMBER_NOT_FOUND
Definition: ntstatus.h:1031
#define STATUS_ACCOUNT_LOCKED_OUT
Definition: ntstatus.h:682
#define RPC_NT_INVALID_BOUND
Definition: ntstatus.h:992
#define RPC_NT_INVALID_NAME_SYNTAX
Definition: ntstatus.h:994
#define RPC_NT_INVALID_VERS_OPTION
Definition: ntstatus.h:1013
#define RPC_S_INVALID_ENDPOINT_FORMAT
Definition: winerror.h:1017
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
#define STATUS_INVALID_LOGON_HOURS
Definition: ntstatus.h:333
#define EPT_NT_CANT_PERFORM_OP
Definition: ntstatus.h:1009
#define ERROR_WRONG_PASSWORD
Definition: winerror.h:805
#define ERROR_MAX_THRDS_REACHED
Definition: winerror.h:235
#define RPC_S_UNKNOWN_AUTHN_LEVEL
Definition: winerror.h:1056
#define ERROR_NOACCESS
Definition: winerror.h:578
#define RPC_S_INVALID_OBJECT
Definition: winerror.h:1142
#define RPC_S_ZERO_DIVIDE
Definition: winerror.h:1075
#define ERROR_ACCESS_DENIED
Definition: compat.h:87
#define RPC_NT_INVALID_NAF_ID
Definition: ntstatus.h:1020
#define RPC_NT_ZERO_DIVIDE
Definition: ntstatus.h:1024
#define RPC_NT_INVALID_STRING_UUID
Definition: ntstatus.h:965
#define ERROR_NOT_ENOUGH_SERVER_MEMORY
Definition: winerror.h:666
#define RPC_NT_INVALID_ASYNC_CALL
Definition: ntstatus.h:1044
#define RPC_NT_INTERNAL_ERROR
Definition: ntstatus.h:1023
#define RPC_S_INVALID_TAG
Definition: winerror.h:1042
#define RPC_S_FP_UNDERFLOW
Definition: winerror.h:1078
#define RPC_NT_CANT_CREATE_ENDPOINT
Definition: ntstatus.h:980
#define RPC_S_CALL_FAILED_DNE
Definition: winerror.h:1038
#define ERROR_PASSWORD_MUST_CHANGE
Definition: winerror.h:1149
#define RPC_S_INVALID_BINDING
Definition: winerror.h:1013
#define RPC_NT_INCOMPLETE_NAME
Definition: ntstatus.h:1012
#define RPC_NT_CALL_CANCELLED
Definition: ntstatus.h:1035
#define RPC_S_NO_ENTRY_NAME
Definition: winerror.h:1044
#define RPC_S_INVALID_TIMEOUT
Definition: winerror.h:1020
#define RPC_S_CANNOT_SUPPORT
Definition: winerror.h:1072
#define RPC_NT_PROCNUM_OUT_OF_RANGE
Definition: ntstatus.h:1002
#define RPC_NT_UNSUPPORTED_TRANS_SYN
Definition: ntstatus.h:989
#define RPC_S_INVALID_VERS_OPTION
Definition: winerror.h:1064
#define RPC_NT_UNKNOWN_IF
Definition: ntstatus.h:977
#define RPC_NT_INVALID_OBJECT
Definition: ntstatus.h:1033
#define RPC_S_FP_OVERFLOW
Definition: winerror.h:1079
#define RPC_S_NOT_LISTENING
Definition: winerror.h:1026
#define RPC_NT_ENTRY_ALREADY_EXISTS
Definition: ntstatus.h:1017
#define RPC_S_PROTOCOL_ERROR
Definition: winerror.h:1039
#define RPC_S_INTERFACE_NOT_FOUND
Definition: winerror.h:1067
#define RPC_S_INCOMPLETE_NAME
Definition: winerror.h:1063
#define STATUS_ACCOUNT_DISABLED
Definition: ntstatus.h:336
#define RPC_S_PROTSEQ_NOT_SUPPORTED
Definition: winerror.h:1014
#define RPC_S_CALL_IN_PROGRESS
Definition: winerror.h:1098
#define RPC_S_DUPLICATE_ENDPOINT
Definition: winerror.h:1048
#define RPC_NT_ALREADY_REGISTERED
Definition: ntstatus.h:971
#define RPC_S_UNSUPPORTED_TYPE
Definition: winerror.h:1041
#define TRACE(s)
Definition: solgame.cpp:4
#define RPC_S_INVALID_NETWORK_OPTIONS
Definition: winerror.h:1035
#define RPC_NT_SS_CANNOT_GET_CALL_HANDLE
Definition: ntstatus.h:1053
#define RPC_S_NO_PROTSEQS
Definition: winerror.h:1030
#define RPC_S_GROUP_MEMBER_NOT_FOUND
Definition: winerror.h:1140
#define RPC_NT_UNKNOWN_MGR_TYPE
Definition: ntstatus.h:976
#define EPT_S_INVALID_ENTRY
Definition: winerror.h:1059
#define STATUS_PASSWORD_EXPIRED
Definition: ntstatus.h:335
#define RPC_NT_INVALID_NET_ADDR
Definition: ntstatus.h:967
#define RPC_NT_SS_IN_NULL_CONTEXT
Definition: ntstatus.h:1049
#define RPC_S_UNKNOWN_MGR_TYPE
Definition: winerror.h:1027
#define RPC_NT_PIPE_EMPTY
Definition: ntstatus.h:1066
#define RPC_S_OBJECT_NOT_FOUND
Definition: winerror.h:1021
#define RPC_NT_STRING_TOO_LONG
Definition: ntstatus.h:1000
#define RPC_S_NO_MORE_MEMBERS
Definition: winerror.h:1065
#define RPC_NT_NO_ENDPOINT_FOUND
Definition: ntstatus.h:968
#define STATUS_ACCESS_DENIED
Definition: udferr_usr.h:145
#define RPC_NT_FP_UNDERFLOW
Definition: ntstatus.h:1027
#define RPC_S_TYPE_ALREADY_REGISTERED
Definition: winerror.h:1023
#define RPC_NT_FP_OVERFLOW
Definition: ntstatus.h:1028
#define RPC_S_INVALID_STRING_UUID
Definition: winerror.h:1016
#define RPC_S_CALL_CANCELLED
Definition: winerror.h:1125
#define RPC_NT_FP_DIV_ZERO
Definition: ntstatus.h:1026
#define RPC_NT_INVALID_STRING_BINDING
Definition: ntstatus.h:960
#define RPC_NT_ENTRY_NOT_FOUND
Definition: ntstatus.h:1018
#define RPC_X_ENUM_VALUE_OUT_OF_RANGE
Definition: winerror.h:1088
#define RPC_NT_NOT_ALL_OBJS_UNEXPORTED
Definition: ntstatus.h:1015
#define RPC_S_MAX_CALLS_TOO_SMALL
Definition: winerror.h:1050
#define RPC_NT_INVALID_BINDING
Definition: ntstatus.h:962
#define RPC_NT_MAX_CALLS_TOO_SMALL
Definition: ntstatus.h:999
#define RPC_S_UNSUPPORTED_NAME_SYNTAX
Definition: winerror.h:1046
#define RPC_S_UUID_NO_ADDRESS
Definition: winerror.h:1047
#define RPC_NT_INVALID_NETWORK_OPTIONS
Definition: ntstatus.h:984
#define RPC_S_UNKNOWN_AUTHN_SERVICE
Definition: winerror.h:1055
#define ERROR_INVALID_SECURITY_DESCR
Definition: winerror.h:820
#define RPC_NT_OBJECT_NOT_FOUND
Definition: ntstatus.h:970
#define RPC_S_ADDRESS_ERROR
Definition: winerror.h:1076
#define RPC_NT_NO_MORE_ENTRIES
Definition: ntstatus.h:1046
#define RPC_S_NO_CALL_ACTIVE
Definition: winerror.h:1036
#define RPC_NT_UNSUPPORTED_NAME_SYNTAX
Definition: ntstatus.h:995
#define RPC_S_INTERNAL_ERROR
Definition: winerror.h:1074
#define RPC_NT_TYPE_ALREADY_REGISTERED
Definition: ntstatus.h:972
#define ERROR_INVALID_LOGON_HOURS
Definition: winerror.h:810
#define RPC_X_SS_CANNOT_GET_CALL_HANDLE
Definition: winerror.h:1086
#define RPC_S_ALREADY_LISTENING
Definition: winerror.h:1024
#define RPC_S_INVALID_RPC_PROTSEQ
Definition: winerror.h:1015
#define RPC_S_SERVER_TOO_BUSY
Definition: winerror.h:1034
#define RPC_S_INVALID_NAME_SYNTAX
Definition: winerror.h:1045
#define RPC_NT_SS_CONTEXT_DAMAGED
Definition: ntstatus.h:1051
#define RPC_NT_PROTOCOL_ERROR
Definition: ntstatus.h:988
#define RPC_S_BINDING_HAS_NO_AUTH
Definition: winerror.h:1054
#define RPC_NT_SS_HANDLES_MISMATCH
Definition: ntstatus.h:1052
#define RPC_NT_CALL_IN_PROGRESS
Definition: ntstatus.h:1029
#define ERROR_PASSWORD_EXPIRED
Definition: winerror.h:812
#define RPC_NT_UNKNOWN_AUTHN_SERVICE
Definition: ntstatus.h:1004
#define RPC_NT_CALL_FAILED_DNE
Definition: ntstatus.h:987
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:228
#define STATUS_PASSWORD_MUST_CHANGE
Definition: ntstatus.h:666
#define RPC_NT_INVALID_AUTH_IDENTITY
Definition: ntstatus.h:1006
#define RPC_X_SS_HANDLES_MISMATCH
Definition: winerror.h:1085
#define STATUS_NO_MEMORY
Definition: ntstatus.h:246
#define RPC_NT_PIPE_DISCIPLINE_ERROR
Definition: ntstatus.h:1065
#define RPC_NT_NO_ENTRY_NAME
Definition: ntstatus.h:993
#define RPC_NT_INVALID_ENDPOINT_FORMAT
Definition: ntstatus.h:966
#define RPC_NT_PIPE_CLOSED
Definition: ntstatus.h:1064
#define RPC_S_OUT_OF_RESOURCES
Definition: winerror.h:1032
#define EPT_S_NOT_REGISTERED
Definition: winerror.h:1061
#define RPC_S_INVALID_NAF_ID
Definition: winerror.h:1071
#define RPC_NT_INVALID_ASYNC_HANDLE
Definition: ntstatus.h:1043
#define RPC_S_ENTRY_NOT_FOUND
Definition: winerror.h:1069
#define RPC_X_NO_MORE_ENTRIES
Definition: winerror.h:1080
#define EPT_S_CANT_CREATE
Definition: winerror.h:1141
#define RPC_NT_NAME_SERVICE_UNAVAILABLE
Definition: ntstatus.h:1019
#define RPC_S_UNKNOWN_AUTHZ_SERVICE
Definition: winerror.h:1058
#define EPT_NT_NOT_REGISTERED
Definition: ntstatus.h:1010
#define RPC_X_BAD_STUB_DATA
Definition: winerror.h:1090
#define RPC_NT_NOTHING_TO_EXPORT
Definition: ntstatus.h:1011
#define RPC_NT_BINDING_HAS_NO_AUTH
Definition: ntstatus.h:1003
#define EPT_S_CANT_PERFORM_OP
Definition: winerror.h:1060
#define RPC_S_INVALID_AUTH_IDENTITY
Definition: winerror.h:1057
#define RPC_NT_UNSUPPORTED_TYPE
Definition: ntstatus.h:990
#define RPC_S_CALL_FAILED
Definition: winerror.h:1037
#define RPC_NT_NULL_REF_POINTER
Definition: ntstatus.h:1054
#define RPC_NT_OUT_OF_RESOURCES
Definition: ntstatus.h:981
#define ERROR_ACCOUNT_LOCKED_OUT
Definition: winerror.h:1151
#define RPC_NT_CALL_FAILED
Definition: ntstatus.h:986
#define RPC_S_INVALID_STRING_BINDING
Definition: winerror.h:1011
#define RPC_S_NOT_ALL_OBJS_UNEXPORTED
Definition: winerror.h:1066
static SERVICE_STATUS status
Definition: service.c:31
#define EPT_NT_INVALID_ENTRY
Definition: ntstatus.h:1008
#define RPC_NT_WRONG_KIND_OF_BINDING
Definition: ntstatus.h:961
#define RPC_S_PROTSEQ_NOT_FOUND
Definition: winerror.h:1052
#define RPC_S_INVALID_ASYNC_HANDLE
Definition: winerror.h:1156
#define RPC_S_UNKNOWN_AUTHN_TYPE
Definition: winerror.h:1049
#define RPC_S_ALREADY_REGISTERED
Definition: winerror.h:1022
#define RPC_NT_NO_MORE_BINDINGS
Definition: ntstatus.h:1030
#define RPC_NT_SERVER_UNAVAILABLE
Definition: ntstatus.h:982
#define RPC_NT_NO_BINDINGS
Definition: ntstatus.h:978
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
#define RPC_S_CANT_CREATE_ENDPOINT
Definition: winerror.h:1031
#define RPC_NT_SS_CHAR_TRANS_SHORT_FILE
Definition: ntstatus.h:1048
#define RPC_NT_UUID_NO_ADDRESS
Definition: ntstatus.h:996
#define RPC_S_STRING_TOO_LONG
Definition: winerror.h:1051
#define RPC_NT_NOT_LISTENING
Definition: ntstatus.h:975
#define RPC_NT_PROTSEQ_NOT_FOUND
Definition: ntstatus.h:1001
#define RPC_NT_PROTSEQ_NOT_SUPPORTED
Definition: ntstatus.h:963
#define ERROR_INSUFFICIENT_BUFFER
Definition: dderror.h:10
#define RPC_X_PIPE_DISCIPLINE_ERROR
Definition: winerror.h:1159
#define RPC_NT_ADDRESS_ERROR
Definition: ntstatus.h:1025
#define RPC_S_FP_DIV_ZERO
Definition: winerror.h:1077
Definition: ps.c:97

Referenced by DsAddressToSiteNamesExW(), DsAddressToSiteNamesW(), DsDeregisterDnsHostRecordsW(), DsEnumerateDomainTrustsW(), DsGetDcNameWithAccountW(), DsGetDcSiteCoverageW(), DsGetForestTrustInformationW(), DsGetSiteNameW(), DsRoleGetPrimaryDomainInformation(), ElfBackupEventLogFileA(), ElfBackupEventLogFileW(), ElfChangeNotify(), ElfClearEventLogFileA(), ElfClearEventLogFileW(), ElfCloseEventLog(), ElfDeregisterEventSource(), ElfFlushEventLog(), ElfNumberOfRecords(), ElfOldestRecord(), ElfOpenBackupEventLogA(), ElfOpenBackupEventLogW(), ElfOpenEventLogA(), ElfOpenEventLogW(), ElfReadEventLogA(), ElfReadEventLogW(), ElfRegisterEventSourceA(), ElfRegisterEventSourceW(), ElfReportEventA(), ElfReportEventAndSourceW(), ElfReportEventW(), GetEventLogInformation(), I_BrowserDebugTrace(), I_BrowserQueryEmulatedDomains(), I_BrowserQueryOtherDomains(), I_BrowserQueryStatistics(), I_BrowserResetNetlogonState(), I_BrowserResetStatistics(), I_BrowserServerEnum(), I_BrowserSetNetlogonState(), I_NetServerSetServiceBits(), LsaAddAccountRights(), LsaAddPrivilegesToAccount(), LsaClearAuditLog(), LsaClose(), LsaCreateAccount(), LsaCreateSecret(), LsaCreateTrustedDomain(), LsaCreateTrustedDomainEx(), LsaDelete(), LsaDeleteTrustedDomain(), LsaEnumerateAccountRights(), LsaEnumerateAccounts(), LsaEnumerateAccountsWithUserRight(), LsaEnumeratePrivileges(), LsaEnumeratePrivilegesOfAccount(), LsaEnumerateTrustedDomains(), LsaEnumerateTrustedDomainsEx(), LsaGetQuotasForAccount(), LsaGetRemoteUserName(), LsaGetSystemAccessAccount(), LsaGetUserName(), LsaLookupNames(), LsaLookupNames2(), LsaLookupPrivilegeDisplayName(), LsaLookupPrivilegeName(), LsaLookupPrivilegeValue(), LsaLookupSids(), LsaOpenAccount(), LsaOpenPolicy(), LsaOpenPolicySce(), LsaOpenSecret(), LsaOpenTrustedDomain(), LsaOpenTrustedDomainByName(), LsaQueryDomainInformationPolicy(), LsaQueryForestTrustInformation(), LsaQueryInformationPolicy(), LsaQueryInfoTrustedDomain(), LsaQuerySecret(), LsaQuerySecurityObject(), LsaQueryTrustedDomainInfo(), LsaQueryTrustedDomainInfoByName(), LsaRemoveAccountRights(), LsaRemovePrivilegesFromAccount(), LsaRetrievePrivateData(), LsarSetSecurityObject(), LsarStartRpcServer(), LsaSetDomainInformationPolicy(), LsaSetForestTrustInformation(), LsaSetInformationPolicy(), LsaSetQuotasForAccount(), LsaSetSecret(), LsaSetSecurityObject(), LsaSetSystemAccessAccount(), LsaStorePrivateData(), NetAddAlternateComputerName(), NetBrowserStatisticsGet(), NetConnectionEnum(), NetDfsAdd(), NetEnumerateComputerNames(), NetEnumerateTrustedDomains(), NetFileClose(), NetFileEnum(), NetFileGetInfo(), NetGetAnyDCName(), NetGetJoinableOUs(), NetJoinDomain(), NetLogonGetTimeServiceParentDomain(), NetRemoteTOD(), NetRemoveAlternateComputerName(), NetRenameMachineInDomain(), NetScheduleJobAdd(), NetScheduleJobDel(), NetScheduleJobEnum(), NetScheduleJobGetInfo(), NetServerDiskEnum(), NetServerGetInfo(), NetServerSetInfo(), NetServerTransportAdd(), NetServerTransportAddEx(), NetServerTransportDel(), NetServerTransportEnum(), NetSessionDel(), NetSessionEnum(), NetSessionGetInfo(), NetSetPrimaryComputerName(), NetShareAdd(), NetShareCheck(), NetShareDel(), NetShareDelSticky(), NetShareEnum(), NetShareEnumSticky(), NetShareGetInfo(), NetShareSetInfo(), NetStatisticsGet(), NetUnjoinDomain(), NetUseAdd(), NetUseDel(), NetUseEnum(), NetUseGetInfo(), NetValidateName(), NetWkstaSetInfo(), NetWkstaTransportAdd(), NetWkstaTransportDel(), NetWkstaUserSetInfo(), RpcpAddInterface(), RpcpStartRpcServer(), RpcpStopRpcServer(), RpcpStopRpcServerEx(), SamAddMemberToAlias(), SamAddMemberToGroup(), SamAddMultipleMembersToAlias(), SamChangePasswordUser(), SamCloseHandle(), SamConnect(), SamCreateAliasInDomain(), SamCreateGroupInDomain(), SamCreateUser2InDomain(), SamCreateUserInDomain(), SamDeleteAlias(), SamDeleteGroup(), SamDeleteUser(), SamEnumerateAliasesInDomain(), SamEnumerateDomainsInSamServer(), SamEnumerateGroupsInDomain(), SamEnumerateUsersInDomain(), SamGetAliasMembership(), SamGetDisplayEnumerationIndex(), SamGetGroupsForUser(), SamGetMembersInAlias(), SamGetMembersInGroup(), SamLookupDomainInSamServer(), SamLookupIdsInDomain(), SamLookupNamesInDomain(), SamOpenAlias(), SamOpenDomain(), SamOpenGroup(), SamOpenUser(), SamQueryDisplayInformation(), SamQueryInformationAlias(), SamQueryInformationDomain(), SamQueryInformationGroup(), SamQueryInformationUser(), SamQuerySecurityObject(), SamRemoveMemberFromAlias(), SamRemoveMemberFromForeignDomain(), SamRemoveMemberFromGroup(), SamRemoveMultipleMembersFromAlias(), SamSetInformationAlias(), SamSetInformationDomain(), SamSetInformationGroup(), SamSetInformationUser(), SamSetMemberAttributesOfGroup(), SamSetSecurityObject(), SamShutdownSamServer(), and test_I_RpcMapWin32Status().

◆ I_UuidCreate()

RPC_STATUS WINAPI I_UuidCreate ( UUID Uuid)

Definition at line 461 of file rpcrt4_main.c.

462 {
463  return UuidCreateSequential(Uuid);
464 }
RPC_STATUS WINAPI UuidCreateSequential(UUID *Uuid)
Definition: rpcrt4_main.c:388

◆ rpc_cancel_thread()

static RPC_STATUS rpc_cancel_thread ( DWORD  target_tid)
static

Definition at line 1031 of file rpcrt4_main.c.

1032 {
1033  struct threaddata *tdata;
1034 
1037  if (tdata->thread_id == target_tid)
1038  {
1039  EnterCriticalSection(&tdata->cs);
1040  if (tdata->connection) rpcrt4_conn_cancel_call(tdata->connection);
1041  LeaveCriticalSection(&tdata->cs);
1042  break;
1043  }
1045 
1046  return RPC_S_OK;
1047 }
DWORD thread_id
Definition: rpcrt4_main.c:92
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
RpcConnection * connection
Definition: rpcrt4_main.c:93
uint32_t entry
Definition: isohybrid.c:63
static struct list threaddata_list
Definition: rpcrt4_main.c:80
static void rpcrt4_conn_cancel_call(RpcConnection *Connection)
Definition: rpc_binding.h:210
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
CRITICAL_SECTION cs
Definition: rpcrt4_main.c:91
static CRITICAL_SECTION threaddata_cs
Definition: rpcrt4_main.c:71
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by RpcCancelThreadEx().

◆ RPC_UuidGetNodeAddress()

static RPC_STATUS RPC_UuidGetNodeAddress ( BYTE address)
static

Definition at line 342 of file rpcrt4_main.c.

343 {
344  int i;
346 
347  ULONG buflen = sizeof(IP_ADAPTER_INFO);
348  PIP_ADAPTER_INFO adapter = HeapAlloc(GetProcessHeap(), 0, buflen);
349 
350  if (GetAdaptersInfo(adapter, &buflen) == ERROR_BUFFER_OVERFLOW) {
351  HeapFree(GetProcessHeap(), 0, adapter);
352  adapter = HeapAlloc(GetProcessHeap(), 0, buflen);
353  }
354 
355  if (GetAdaptersInfo(adapter, &buflen) == NO_ERROR) {
356  for (i = 0; i < ADDRESS_BYTES_NEEDED; i++) {
357  address[i] = adapter->Address[i];
358  }
359  }
360  /* We can't get a hardware address, just use random numbers.
361  Set the multicast bit to prevent conflicts with real cards. */
362  else {
364  address[0] |= 0x01;
366  }
367 
368  HeapFree(GetProcessHeap(), 0, adapter);
369  return status;
370 }
#define ERROR_BUFFER_OVERFLOW
Definition: winerror.h:185
#define NO_ERROR
Definition: dderror.h:5
struct _IP_ADAPTER_INFO IP_ADAPTER_INFO
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]
Definition: iptypes.h:58
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOLEAN WINAPI RtlGenRandom(PVOID, ULONG)
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint address
Definition: glext.h:9393
#define ADDRESS_BYTES_NEEDED
Definition: rpcrt4_main.c:340
DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
unsigned int ULONG
Definition: retypes.h:1
static SERVICE_STATUS status
Definition: service.c:31
#define HeapFree(x, y, z)
Definition: compat.h:402
#define RPC_S_UUID_LOCAL_ONLY
Definition: winerror.h:1131
#define RPC_S_OK
Definition: rpcnterr.h:22
Definition: ps.c:97

Referenced by UuidCreateSequential().

◆ RPC_UuidGetSystemTime()

static void RPC_UuidGetSystemTime ( ULONGLONG time)
static

Definition at line 329 of file rpcrt4_main.c.

330 {
331  FILETIME ft;
332 
334 
335  *time = ((ULONGLONG)ft.dwHighDateTime << 32) | ft.dwLowDateTime;
337 }
VOID WINAPI GetSystemTimeAsFileTime(OUT PFILETIME lpFileTime)
Definition: time.c:128
__u16 time
Definition: mkdosfs.c:366
DWORD dwHighDateTime
Definition: mapidefs.h:66
uint64_t ULONGLONG
Definition: typedefs.h:65
#define TICKS_15_OCT_1582_TO_1601
Definition: rpcrt4_main.c:327
DWORD dwLowDateTime
Definition: mapidefs.h:65

Referenced by UuidCreateSequential().

◆ RpcCancelThread()

RPC_STATUS RPC_ENTRY RpcCancelThread ( void ThreadHandle)

Definition at line 1052 of file rpcrt4_main.c.

1053 {
1054  TRACE("(%p)\n", ThreadHandle);
1055  return RpcCancelThreadEx(ThreadHandle, 0);
1056 }
RPC_STATUS RPC_ENTRY RpcCancelThreadEx(void *ThreadHandle, LONG Timeout)
Definition: rpcrt4_main.c:1061
#define TRACE(s)
Definition: solgame.cpp:4

◆ RpcCancelThreadEx()

RPC_STATUS RPC_ENTRY RpcCancelThreadEx ( void ThreadHandle,
LONG  Timeout 
)

Definition at line 1061 of file rpcrt4_main.c.

1062 {
1063  DWORD target_tid;
1064 
1065  FIXME("(%p, %d)\n", ThreadHandle, Timeout);
1066 
1067  target_tid = GetThreadId(ThreadHandle);
1068  if (!target_tid)
1069  return RPC_S_INVALID_ARG;
1070 
1071  if (Timeout)
1072  {
1073  FIXME("(%p, %d)\n", ThreadHandle, Timeout);
1074  return RPC_S_OK;
1075  }
1076  else
1077  return rpc_cancel_thread(target_tid);
1078 }
#define RPC_S_INVALID_ARG
Definition: rpcnterr.h:23
DWORD WINAPI GetThreadId(IN HANDLE Thread)
Definition: thread.c:912
static RPC_STATUS rpc_cancel_thread(DWORD target_tid)
Definition: rpcrt4_main.c:1031
#define FIXME(fmt,...)
Definition: debug.h:110
unsigned long DWORD
Definition: ntddk_ex.h:95
static ULONG Timeout
Definition: ping.c:61
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by RpcCancelThread().

◆ RpcErrorEndEnumeration()

RPC_STATUS RPC_ENTRY RpcErrorEndEnumeration ( RPC_ERROR_ENUM_HANDLE EnumHandle)

Definition at line 888 of file rpcrt4_main.c.

889 {
890  FIXME("(%p): stub\n", EnumHandle);
891  return RPC_S_OK;
892 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define RPC_S_OK
Definition: rpcnterr.h:22

◆ RpcErrorGetNextRecord()

RPC_STATUS RPC_ENTRY RpcErrorGetNextRecord ( RPC_ERROR_ENUM_HANDLE EnumHandle,
BOOL  CopyStrings,
RPC_EXTENDED_ERROR_INFO ErrorInfo 
)

Definition at line 915 of file rpcrt4_main.c.

916 {
917  FIXME("(%p %x %p): stub\n", EnumHandle, CopyStrings, ErrorInfo);
918  return RPC_S_ENTRY_NOT_FOUND;
919 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define RPC_S_ENTRY_NOT_FOUND
Definition: winerror.h:1069

◆ RpcErrorLoadErrorInfo()

RPC_STATUS RPC_ENTRY RpcErrorLoadErrorInfo ( void ErrorBlob,
SIZE_T  BlobSize,
RPC_ERROR_ENUM_HANDLE EnumHandle 
)

Definition at line 906 of file rpcrt4_main.c.

907 {
908  FIXME("(%p %lu %p): stub\n", ErrorBlob, BlobSize, EnumHandle);
910 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92

◆ RpcErrorSaveErrorInfo()

RPC_STATUS RPC_ENTRY RpcErrorSaveErrorInfo ( RPC_ERROR_ENUM_HANDLE EnumHandle,
void **  ErrorBlob,
SIZE_T BlobSize 
)

Definition at line 897 of file rpcrt4_main.c.

898 {
899  FIXME("(%p %p %p): stub\n", EnumHandle, ErrorBlob, BlobSize);
901 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92

◆ RpcErrorStartEnumeration()

RPC_STATUS RPC_ENTRY RpcErrorStartEnumeration ( RPC_ERROR_ENUM_HANDLE EnumHandle)

Definition at line 879 of file rpcrt4_main.c.

880 {
881  FIXME("(%p): stub\n", EnumHandle);
882  return RPC_S_ENTRY_NOT_FOUND;
883 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define RPC_S_ENTRY_NOT_FOUND
Definition: winerror.h:1069

◆ RpcExceptionFilter()

int WINAPI RpcExceptionFilter ( ULONG  ExceptionCode)

Definition at line 857 of file rpcrt4_main.c.

858 {
859  TRACE("0x%x\n", ExceptionCode);
860  switch (ExceptionCode)
861  {
863  case STATUS_BREAKPOINT:
871  default:
873  }
874 }
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
Definition: cdprocs.h:1782
#define STATUS_ILLEGAL_INSTRUCTION
Definition: ntstatus.h:252
#define EXCEPTION_CONTINUE_SEARCH
Definition: excpt.h:86
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
#define STATUS_BREAKPOINT
Definition: ntstatus.h:172
#define TRACE(s)
Definition: solgame.cpp:4
#define STATUS_PRIVILEGED_INSTRUCTION
Definition: ntstatus.h:372
#define STATUS_POSSIBLE_DEADLOCK
Definition: ntstatus.h:623
#define STATUS_INSTRUCTION_MISALIGNMENT
Definition: ntstatus.h:392
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:228
#define STATUS_STACK_OVERFLOW
Definition: ntstatus.h:475
#define STATUS_DATATYPE_MISALIGNMENT
Definition: ntstatus.h:171

◆ RpcMgmtSetCancelTimeout()

RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout ( LONG  Timeout)

Definition at line 924 of file rpcrt4_main.c.

925 {
926  FIXME("(%d): stub\n", Timeout);
927  return RPC_S_OK;
928 }
#define FIXME(fmt,...)
Definition: debug.h:110
static ULONG Timeout
Definition: ping.c:61
#define RPC_S_OK
Definition: rpcnterr.h:22

◆ RpcRaiseException()

void DECLSPEC_NORETURN WINAPI RpcRaiseException ( RPC_STATUS  exception)

Definition at line 186 of file rpcrt4_main.c.

187 {
188  /* shouldn't return */
189  RaiseException(exception, 0, 0, NULL);
190  ERR("handler continued execution\n");
191  ExitProcess(1);
192 }
VOID WINAPI ExitProcess(IN UINT uExitCode)
Definition: proc.c:1487
smooth NULL
Definition: ftsmooth.c:416
#define ERR(fmt,...)
Definition: debug.h:109
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:693

Referenced by array_buffer_size(), array_compute_and_size_conformance(), array_compute_and_write_conformance(), array_free(), array_memory_size(), array_read_conformance(), array_read_variance_and_unmarshall(), array_write_variance_and_marshall(), call_buffer_sizer(), call_marshaller(), call_unmarshaller(), client_do_args(), client_free_handle(), client_get_handle(), ComplexMarshall(), ComplexUnmarshall(), convert_old_args(), CtxClose(), CtxHello(), CtxOpen(), dispatch_rpc(), do_ndr_async_client_call(), do_ndr_client_call(), EmbeddedComplexSize(), es_data_alloc(), es_data_read(), get_arm_offset_from_union_arm_selector(), hello_CtxClose(), hello_CtxHello(), hello_CtxOpen(), HMETAFILEPICT_UserUnmarshal(), LPSAFEARRAY_UserMarshal(), LPSAFEARRAY_UserSize(), LPSAFEARRAY_UserUnmarshal(), m_CtxClose(), m_CtxHello(), m_CtxOpen(), mes_proc_header_unmarshal(), NdrAllocate(), NdrAsyncServerCall(), NdrBaseTypeMarshall(), NDRCContextBinding(), NDRCContextUnmarshall(), NdrClientContextMarshall(), NdrClientContextUnmarshall(), NdrComplexArrayBufferSize(), NdrComplexArrayFree(), NdrComplexArrayMarshall(), NdrComplexArrayMemorySize(), NdrComplexArrayUnmarshall(), NdrConformantArrayBufferSize(), NdrConformantArrayFree(), NdrConformantArrayMarshall(), NdrConformantArrayMemorySize(), NdrConformantArrayUnmarshall(), NdrConformantStringBufferSize(), NdrConformantStringMarshall(), NdrConformantStringMemorySize(), NdrConformantStringUnmarshall(), NdrConformantStructBufferSize(), NdrConformantStructFree(), NdrConformantStructMarshall(), NdrConformantStructUnmarshall(), NdrConformantVaryingArrayBufferSize(), NdrConformantVaryingArrayFree(), NdrConformantVaryingArrayMarshall(), NdrConformantVaryingArrayMemorySize(), NdrConformantVaryingArrayUnmarshall(), NdrConformantVaryingStructBufferSize(), NdrConformantVaryingStructFree(), NdrConformantVaryingStructMarshall(), NdrConformantVaryingStructMemorySize(), NdrConformantVaryingStructUnmarshall(), NdrContextHandleBufferSize(), NdrContextHandleMarshall(), NdrContextHandleUnmarshall(), NdrFixedArrayBufferSize(), NdrFixedArrayFree(), NdrFixedArrayMarshall(), NdrFixedArrayMemorySize(), NdrFixedArrayUnmarshall(), NdrGetBuffer(), NdrInterfacePointerMarshall(), NdrInterfacePointerUnmarshall(), NdrMesProcEncodeDecode(), NdrNonConformantStringBufferSize(), NdrNonConformantStringMarshall(), NdrNonConformantStringMemorySize(), NdrNonConformantStringUnmarshall(), NdrpCompleteAsyncServerCall(), NdrPointerUnmarshall(), NdrProxyGetBuffer(), NdrProxyInitialize(), NdrProxySendReceive(), NdrRangeBufferSize(), NdrRangeMarshall(), NdrRangeMemorySize(), NdrRangeUnmarshall(), NDRSContextMarshall2(), NDRSContextUnmarshall2(), NdrSendReceive(), NdrServerContextMarshall(), NdrServerContextNewMarshall(), NdrServerContextNewUnmarshall(), NdrServerContextUnmarshall(), NdrStubCall2(), NdrStubForwardingFunction(), NdrStubGetBuffer(), NdrVaryingArrayBufferSize(), NdrVaryingArrayFree(), NdrVaryingArrayMarshall(), NdrVaryingArrayMemorySize(), NdrVaryingArrayUnmarshall(), PointerBufferSize(), PointerMarshall(), PointerMemorySize(), PointerUnmarshall(), ReadConformance(), ReadVariance(), RpcSsDestroyClientContext(), safe_buffer_increment(), safe_buffer_length_increment(), safe_copy_from_buffer(), safe_copy_to_buffer(), safe_multiply(), SAFEARRAY_GetUnionType(), SizeConformance(), SizeVariance(), STGMEDIUM_UserUnmarshal(), stub_do_args(), type_stack_size(), union_arm_marshall(), union_arm_unmarshall(), validate_string_data(), WriteConformance(), and WriteVariance().

◆ RPCRT4_GetThreadCurrentCallHandle()

RpcBinding* RPCRT4_GetThreadCurrentCallHandle ( void  )

Definition at line 970 of file rpcrt4_main.c.

971 {
972  struct threaddata *tdata = get_or_create_threaddata();
973  if (!tdata) return NULL;
974 
975  return tdata->server_binding;
976 }
static struct threaddata * get_or_create_threaddata(void)
Definition: rpcrt4_main.c:930
smooth NULL
Definition: ftsmooth.c:416
RpcBinding * server_binding
Definition: rpcrt4_main.c:94

Referenced by I_RpcGetCurrentCallHandle().

◆ RPCRT4_PopThreadContextHandle()

NDR_SCONTEXT RPCRT4_PopThreadContextHandle ( void  )

Definition at line 1014 of file rpcrt4_main.c.

1015 {
1016  struct threaddata *tdata = get_or_create_threaddata();
1019 
1020  if (!tdata) return NULL;
1021 
1023  if (!context_handle_list) return NULL;
1025 
1028  return context_handle;
1029 }
static struct threaddata * get_or_create_threaddata(void)
Definition: rpcrt4_main.c:930
NDR_SCONTEXT context_handle
Definition: rpcrt4_main.c:85
smooth NULL
Definition: ftsmooth.c:416
struct context_handle_list * next
Definition: rpcrt4_main.c:84
#define GetProcessHeap()
Definition: compat.h:403
static struct list context_handle_list
struct context_handle_list * context_handle_list
Definition: rpcrt4_main.c:95
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by process_request_packet().

◆ RPCRT4_PushThreadContextHandle()

void RPCRT4_PushThreadContextHandle ( NDR_SCONTEXT  SContext)

Definition at line 978 of file rpcrt4_main.c.

979 {
980  struct threaddata *tdata = get_or_create_threaddata();
982 
983  if (!tdata) return;
984 
986  if (!context_handle_list) return;
987 
991 }
static struct threaddata * get_or_create_threaddata(void)
Definition: rpcrt4_main.c:930
NDR_SCONTEXT context_handle
Definition: rpcrt4_main.c:85
struct context_handle_list * next
Definition: rpcrt4_main.c:84
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static struct list context_handle_list
struct context_handle_list * context_handle_list
Definition: rpcrt4_main.c:95

Referenced by NDRSContextUnmarshall2().

◆ RPCRT4_RemoveThreadContextHandle()

void RPCRT4_RemoveThreadContextHandle ( NDR_SCONTEXT  SContext)

Definition at line 993 of file rpcrt4_main.c.

994 {
995  struct threaddata *tdata = get_or_create_threaddata();
996  struct context_handle_list *current, *prev;
997 
998  if (!tdata) return;
999 
1000  for (current = tdata->context_handle_list, prev = NULL; current; prev = current, current = current->next)
1001  {
1002  if (current->context_handle == SContext)
1003  {
1004  if (prev)
1005  prev->next = current->next;
1006  else
1007  tdata->context_handle_list = current->next;
1009  return;
1010  }
1011  }
1012 }
static struct threaddata * get_or_create_threaddata(void)
Definition: rpcrt4_main.c:930
smooth NULL
Definition: ftsmooth.c:416
struct context_handle_list * next
Definition: rpcrt4_main.c:84
#define GetProcessHeap()
Definition: compat.h:403
struct context_handle_list * context_handle_list
Definition: rpcrt4_main.c:95
#define HeapFree(x, y, z)
Definition: compat.h:402
struct task_struct * current
Definition: linux.c:32

Referenced by NDRSContextMarshall2().

◆ RPCRT4_SetThreadCurrentCallHandle()

void RPCRT4_SetThreadCurrentCallHandle ( RpcBinding Binding)

Definition at line 962 of file rpcrt4_main.c.

963 {
964  struct threaddata *tdata = get_or_create_threaddata();
965  if (!tdata) return;
966 
967  tdata->server_binding = Binding;
968 }
static struct threaddata * get_or_create_threaddata(void)
Definition: rpcrt4_main.c:930
static IBinding Binding
Definition: htmldoc.c:1268
RpcBinding * server_binding
Definition: rpcrt4_main.c:94

Referenced by process_request_packet().

◆ RPCRT4_SetThreadCurrentConnection()

void RPCRT4_SetThreadCurrentConnection ( RpcConnection Connection)

Definition at line 952 of file rpcrt4_main.c.

953 {
954  struct threaddata *tdata = get_or_create_threaddata();
955  if (!tdata) return;
956 
957  EnterCriticalSection(&tdata->cs);
958  tdata->connection = Connection;
959  LeaveCriticalSection(&tdata->cs);
960 }
static struct threaddata * get_or_create_threaddata(void)
Definition: rpcrt4_main.c:930
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
RpcConnection * connection
Definition: rpcrt4_main.c:93
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
CRITICAL_SECTION cs
Definition: rpcrt4_main.c:91

Referenced by RPCRT4_ReceiveWithAuth(), and RPCRT4_SendWithAuth().

◆ RpcStringFreeA()

◆ RpcStringFreeW()

◆ UuidCompare()

int WINAPI UuidCompare ( UUID Uuid1,
UUID Uuid2,
RPC_STATUS Status 
)

Definition at line 207 of file rpcrt4_main.c.

208 {
209  int i;
210 
211  TRACE("(%s,%s)\n", debugstr_guid(Uuid1), debugstr_guid(Uuid2));
212 
213  *Status = RPC_S_OK;
214 
215  if (!Uuid1) Uuid1 = &uuid_nil;
216  if (!Uuid2) Uuid2 = &uuid_nil;
217 
218  if (Uuid1 == Uuid2) return 0;
219 
220  if (Uuid1->Data1 != Uuid2->Data1)
221  return Uuid1->Data1 < Uuid2->Data1 ? -1 : 1;
222 
223  if (Uuid1->Data2 != Uuid2->Data2)
224  return Uuid1->Data2 < Uuid2->Data2 ? -1 : 1;
225 
226  if (Uuid1->Data3 != Uuid2->Data3)
227  return Uuid1->Data3 < Uuid2->Data3 ? -1 : 1;
228 
229  for (i = 0; i < 8; i++) {
230  if (Uuid1->Data4[i] < Uuid2->Data4[i])
231  return -1;
232  if (Uuid1->Data4[i] > Uuid2->Data4[i])
233  return 1;
234  }
235 
236  return 0;
237 }
static UUID uuid_nil
Definition: rpcrt4_main.c:60
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
Status
Definition: gdiplustypes.h:24
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by LookupObjTypeMap(), RpcObjectSetType(), UuidEqual(), and UuidIsNil().

◆ UuidCreate()

RPC_STATUS WINAPI UuidCreate ( UUID Uuid)

Definition at line 303 of file rpcrt4_main.c.

304 {
305  RtlGenRandom(Uuid, sizeof(*Uuid));
306  /* Clear the version bits and set the version (4) */
307  Uuid->Data3 &= 0x0fff;
308  Uuid->Data3 |= (4 << 12);
309  /* Set the topmost bits of Data4 (clock_seq_hi_and_reserved) as
310  * specified in RFC 4122, section 4.4.
311  */
312  Uuid->Data4[0] &= 0x3f;
313  Uuid->Data4[0] |= 0x80;
314 
315  TRACE("%s\n", debugstr_guid(Uuid));
316 
317  return RPC_S_OK;
318 }
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
BOOLEAN WINAPI RtlGenRandom(PVOID, ULONG)
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by CoCreateGuid(), CreateInstanceKey(), CRYPT_CreateMachineGuid(), generate_ipid(), GetCurrentHwProfileW(), InstallDevice(), NetClassInstaller(), RpcAssoc_Alloc(), rpcrt4_ncacn_http_open(), RpcServerAssoc_UpdateContextHandle(), test_QueryPathOfRegTypeLib(), test_UuidCreate(), and uuid_generate().

◆ UuidCreateNil()

RPC_STATUS WINAPI UuidCreateNil ( UUID Uuid)

Definition at line 282 of file rpcrt4_main.c.

283 {
284  *Uuid = uuid_nil;
285  return RPC_S_OK;
286 }
static UUID uuid_nil
Definition: rpcrt4_main.c:60
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by generate_ipid(), RPCRT4_SetBindingObject(), UuidFromStringA(), and UuidFromStringW().

◆ UuidCreateSequential()

RPC_STATUS WINAPI UuidCreateSequential ( UUID Uuid)

Definition at line 388 of file rpcrt4_main.c.

389 {
390  static BOOL initialised;
391  static int count;
392 
393  ULONGLONG time;
394  static ULONGLONG timelast;
395  static WORD sequence;
396 
397  static DWORD status;
399 
401 
402  if (!initialised) {
403  RPC_UuidGetSystemTime(&timelast);
405 
406  sequence = ((rand() & 0xff) << 8) + (rand() & 0xff);
407  sequence &= 0x1fff;
408 
410  initialised = TRUE;
411  }
412 
413  /* Generate time element of the UUID. Account for going faster
414  than our clock as well as the clock going backwards. */
415  while (1) {
417  if (time > timelast) {
418  count = 0;
419  break;
420  }
421  if (time < timelast) {
422  sequence = (sequence + 1) & 0x1fff;
423  count = 0;
424  break;
425  }
426  if (count < TICKS_PER_CLOCK_TICK) {
427  count++;
428  break;
429  }
430  }
431 
432  timelast = time;
433  time += count;
434 
435  /* Pack the information into the UUID structure. */
436 
437  Uuid->Data1 = (ULONG)(time & 0xffffffff);
438  Uuid->Data2 = (unsigned short)((time >> 32) & 0xffff);
439  Uuid->Data3 = (unsigned short)((time >> 48) & 0x0fff);
440 
441  /* This is a version 1 UUID */
442  Uuid->Data3 |= (1 << 12);
443 
444  Uuid->Data4[0] = sequence & 0xff;
445  Uuid->Data4[1] = (sequence & 0x3f00) >> 8;
446  Uuid->Data4[1] |= 0x80;
447  memcpy(&Uuid->Data4[2], address, ADDRESS_BYTES_NEEDED);
448 
450 
451  TRACE("%s\n", debugstr_guid(Uuid));
452 
453  return status;
454 }
#define TRUE
Definition: types.h:120
static CRITICAL_SECTION uuid_cs
Definition: rpcrt4_main.c:62
GLuint GLuint GLsizei count
Definition: gl.h:1545
__u16 time
Definition: mkdosfs.c:366
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static void RPC_UuidGetSystemTime(ULONGLONG *time)
Definition: rpcrt4_main.c:329
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
unsigned int BOOL
Definition: ntddk_ex.h:94
_Check_return_ int __cdecl rand(void)
Definition: rand.c:10
#define TICKS_PER_CLOCK_TICK
Definition: rpcrt4_main.c:322
#define MAX_ADAPTER_ADDRESS_LENGTH
Definition: iptypes.h:28
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
uint64_t ULONGLONG
Definition: typedefs.h:65
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint address
Definition: glext.h:9393
#define ADDRESS_BYTES_NEEDED
Definition: rpcrt4_main.c:340
static struct message * sequence
Definition: subclass.c:48
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
unsigned char BYTE
Definition: mem.h:68
static RPC_STATUS RPC_UuidGetNodeAddress(BYTE *address)
Definition: rpcrt4_main.c:342
unsigned int ULONG
Definition: retypes.h:1
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by I_UuidCreate().

◆ UuidEqual()

int WINAPI UuidEqual ( UUID Uuid1,
UUID Uuid2,
RPC_STATUS Status 
)

Definition at line 250 of file rpcrt4_main.c.

251 {
252  TRACE("(%s,%s)\n", debugstr_guid(Uuid1), debugstr_guid(Uuid2));
253  return !UuidCompare(Uuid1, Uuid2, Status);
254 }
int WINAPI UuidCompare(UUID *Uuid1, UUID *Uuid2, RPC_STATUS *Status)
Definition: rpcrt4_main.c:207
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
Status
Definition: gdiplustypes.h:24

Referenced by ATL::CImage::IsGuidEqual(), PnpEventThread(), RPCRT4_find_interface(), RpcServerUnregisterIf(), test_UuidCreate(), and UuidConversionAndComparison().

◆ UuidFromStringA()

RPC_STATUS WINAPI UuidFromStringA ( RPC_CSTR  s,
UUID uuid 
)

Definition at line 572 of file rpcrt4_main.c.

573 {
574  int i;
575 
576  if (!s) return UuidCreateNil( uuid );
577 
578  if (strlen((char*)s) != 36) return RPC_S_INVALID_STRING_UUID;
579 
580  if ((s[8]!='-') || (s[13]!='-') || (s[18]!='-') || (s[23]!='-'))
582 
583  for (i=0; i<36; i++)
584  {
585  if ((i == 8)||(i == 13)||(i == 18)||(i == 23)) continue;
586  if (s[i] > 'f' || (!hex2bin[s[i]] && s[i] != '0')) return RPC_S_INVALID_STRING_UUID;
587  }
588 
589  /* in form XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX */
590 
591  uuid->Data1 = (hex2bin[s[0]] << 28 | hex2bin[s[1]] << 24 | hex2bin[s[2]] << 20 | hex2bin[s[3]] << 16 |
592  hex2bin[s[4]] << 12 | hex2bin[s[5]] << 8 | hex2bin[s[6]] << 4 | hex2bin[s[7]]);
593  uuid->Data2 = hex2bin[s[9]] << 12 | hex2bin[s[10]] << 8 | hex2bin[s[11]] << 4 | hex2bin[s[12]];
594  uuid->Data3 = hex2bin[s[14]] << 12 | hex2bin[s[15]] << 8 | hex2bin[s[16]] << 4 | hex2bin[s[17]];
595 
596  /* these are just sequential bytes */
597  uuid->Data4[0] = hex2bin[s[19]] << 4 | hex2bin[s[20]];
598  uuid->Data4[1] = hex2bin[s[21]] << 4 | hex2bin[s[22]];
599  uuid->Data4[2] = hex2bin[s[24]] << 4 | hex2bin[s[25]];
600  uuid->Data4[3] = hex2bin[s[26]] << 4 | hex2bin[s[27]];
601  uuid->Data4[4] = hex2bin[s[28]] << 4 | hex2bin[s[29]];
602  uuid->Data4[5] = hex2bin[s[30]] << 4 | hex2bin[s[31]];
603  uuid->Data4[6] = hex2bin[s[32]] << 4 | hex2bin[s[33]];
604  uuid->Data4[7] = hex2bin[s[34]] << 4 | hex2bin[s[35]];
605  return RPC_S_OK;
606 }
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static const BYTE hex2bin[]
Definition: rpcrt4_main.c:558
#define RPC_S_INVALID_STRING_UUID
Definition: winerror.h:1016
GLdouble s
Definition: gl.h:2039
RPC_STATUS WINAPI UuidCreateNil(UUID *Uuid)
Definition: rpcrt4_main.c:282
Definition: msctf.idl:510
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by RpcBindingFromStringBindingA(), RpcStringBindingParseA(), and UuidConversionAndComparison().

◆ UuidFromStringW()

RPC_STATUS WINAPI UuidFromStringW ( RPC_WSTR  s,
UUID uuid 
)

Definition at line 612 of file rpcrt4_main.c.

613 {
614  int i;
615 
616  if (!s) return UuidCreateNil( uuid );
617 
618  if (lstrlenW(s) != 36) return RPC_S_INVALID_STRING_UUID;
619 
620  if ((s[8]!='-') || (s[13]!='-') || (s[18]!='-') || (s[23]!='-'))
622 
623  for (i=0; i<36; i++)
624  {
625  if ((i == 8)||(i == 13)||(i == 18)||(i == 23)) continue;
626  if (s[i] > 'f' || (!hex2bin[s[i]] && s[i] != '0')) return RPC_S_INVALID_STRING_UUID;
627  }
628 
629  /* in form XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX */
630 
631  uuid->Data1 = (hex2bin[s[0]] << 28 | hex2bin[s[1]] << 24 | hex2bin[s[2]] << 20 | hex2bin[s[3]] << 16 |
632  hex2bin[s[4]] << 12 | hex2bin[s[5]] << 8 | hex2bin[s[6]] << 4 | hex2bin[s[7]]);
633  uuid->Data2 = hex2bin[s[9]] << 12 | hex2bin[s[10]] << 8 | hex2bin[s[11]] << 4 | hex2bin[s[12]];
634  uuid->Data3 = hex2bin[s[14]] << 12 | hex2bin[s[15]] << 8 | hex2bin[s[16]] << 4 | hex2bin[s[17]];
635 
636  /* these are just sequential bytes */
637  uuid->Data4[0] = hex2bin[s[19]] << 4 | hex2bin[s[20]];
638  uuid->Data4[1] = hex2bin[s[21]] << 4 | hex2bin[s[22]];
639  uuid->Data4[2] = hex2bin[s[24]] << 4 | hex2bin[s[25]];
640  uuid->Data4[3] = hex2bin[s[26]] << 4 | hex2bin[s[27]];
641  uuid->Data4[4] = hex2bin[s[28]] << 4 | hex2bin[s[29]];
642  uuid->Data4[5] = hex2bin[s[30]] << 4 | hex2bin[s[31]];
643  uuid->Data4[6] = hex2bin[s[32]] << 4 | hex2bin[s[33]];
644  uuid->Data4[7] = hex2bin[s[34]] << 4 | hex2bin[s[35]];
645  return RPC_S_OK;
646 }
#define lstrlenW
Definition: compat.h:415
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static const BYTE hex2bin[]
Definition: rpcrt4_main.c:558
#define RPC_S_INVALID_STRING_UUID
Definition: winerror.h:1016
GLdouble s
Definition: gl.h:2039
RPC_STATUS WINAPI UuidCreateNil(UUID *Uuid)
Definition: rpcrt4_main.c:282
Definition: msctf.idl:510
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by CM_Enumerate_Classes_Ex(), get_token(), GetVersionInformationFromInfFile(), InitProbeListPage(), PARSER_GetInfClassW(), pSetupGuidFromString(), RpcBindingFromStringBindingW(), RpcStringBindingParseW(), SETUP_CreateDevicesListFromEnumerator(), SETUP_CreateInterfaceList(), SetupDiBuildClassInfoListExW(), SetupDiClassGuidsFromNameExW(), SetupDiInstallDeviceInterfaces(), SetupDiOpenDeviceInfoW(), SetupDiOpenDeviceInterfaceW(), and UuidConversionAndComparison().

◆ UuidHash()

unsigned short WINAPI UuidHash ( UUID uuid,
RPC_STATUS Status 
)

Definition at line 474 of file rpcrt4_main.c.

475 {
476  BYTE *data = (BYTE*)uuid;
477  short c0 = 0, c1 = 0, x, y;
478  unsigned int i;
479 
480  if (!uuid) data = (BYTE*)(uuid = &uuid_nil);
481 
482  TRACE("(%s)\n", debugstr_guid(uuid));
483 
484  for (i=0; i<sizeof(UUID); i++) {
485  c0 += data[i];
486  c1 += c0;
487  }
488 
489  x = -c1 % 255;
490  if (x < 0) x += 255;
491 
492  y = (c1 - c0) % 255;
493  if (y < 0) y += 255;
494 
495  *Status = RPC_S_OK;
496  return y*256 + x;
497 }
static UUID uuid_nil
Definition: rpcrt4_main.c:60
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GUID UUID
Definition: module.h:1083
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
unsigned char BYTE
Definition: mem.h:68
Status
Definition: gdiplustypes.h:24
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
Definition: msctf.idl:510
#define RPC_S_OK
Definition: rpcnterr.h:22

◆ UuidIsNil()

int WINAPI UuidIsNil ( UUID Uuid,
RPC_STATUS Status 
)

Definition at line 266 of file rpcrt4_main.c.

267 {
268  TRACE("(%s)\n", debugstr_guid(Uuid));
269  if (!Uuid) return TRUE;
270  return !UuidCompare(Uuid, &uuid_nil, Status);
271 }
#define TRUE
Definition: types.h:120
static UUID uuid_nil
Definition: rpcrt4_main.c:60
int WINAPI UuidCompare(UUID *Uuid1, UUID *Uuid2, RPC_STATUS *Status)
Definition: rpcrt4_main.c:207
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
Status
Definition: gdiplustypes.h:24

Referenced by NDRSContextUnmarshall2(), process_auth3_packet(), process_bind_packet_no_send(), process_request_packet(), RpcBindingToStringBindingA(), RpcObjectSetType(), RPCRT4_BuildRequestHeader(), RpcServerAssoc_UpdateContextHandle(), and s_context_handle_test().

◆ UuidToStringA()

RPC_STATUS WINAPI UuidToStringA ( UUID Uuid,
RPC_CSTR StringUuid 
)

Definition at line 512 of file rpcrt4_main.c.

513 {
514  *StringUuid = HeapAlloc( GetProcessHeap(), 0, sizeof(char) * 37);
515 
516  if(!(*StringUuid))
517  return RPC_S_OUT_OF_MEMORY;
518 
519  if (!Uuid) Uuid = &uuid_nil;
520 
521  sprintf( (char*)*StringUuid, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
522  Uuid->Data1, Uuid->Data2, Uuid->Data3,
523  Uuid->Data4[0], Uuid->Data4[1], Uuid->Data4[2],
524  Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5],
525  Uuid->Data4[6], Uuid->Data4[7] );
526 
527  return RPC_S_OK;
528 }
static UUID uuid_nil
Definition: rpcrt4_main.c:60
#define sprintf(buf, format,...)
Definition: sprintf.c:55
#define RPC_S_OUT_OF_MEMORY
Definition: rpcnterr.h:24
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by RpcBindingToStringBindingA(), and UuidConversionAndComparison().

◆ UuidToStringW()

RPC_STATUS WINAPI UuidToStringW ( UUID Uuid,
RPC_WSTR StringUuid 
)

Definition at line 538 of file rpcrt4_main.c.

539 {
540  char buf[37];
541 
542  if (!Uuid) Uuid = &uuid_nil;
543 
544  sprintf(buf, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
545  Uuid->Data1, Uuid->Data2, Uuid->Data3,
546  Uuid->Data4[0], Uuid->Data4[1], Uuid->Data4[2],
547  Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5],
548  Uuid->Data4[6], Uuid->Data4[7] );
549 
550  *StringUuid = RPCRT4_strdupAtoW(buf);
551 
552  if(!(*StringUuid))
553  return RPC_S_OUT_OF_MEMORY;
554 
555  return RPC_S_OK;
556 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static UUID uuid_nil
Definition: rpcrt4_main.c:60
#define sprintf(buf, format,...)
Definition: sprintf.c:55
#define RPC_S_OUT_OF_MEMORY
Definition: rpcnterr.h:24
LPWSTR RPCRT4_strdupAtoW(LPCSTR src)
Definition: rpc_binding.c:69
#define RPC_S_OK
Definition: rpcnterr.h:22

Referenced by CM_Open_Class_Key_ExW(), CreateInstanceKey(), get_settingid(), GuidToString(), NetClassInstaller(), pSetupStringFromGuid(), SETUPDI_CreateDrvKey(), SetupDiInstallDevice(), and UuidConversionAndComparison().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( rpc  )

Variable Documentation

◆ critsect_debug

CRITICAL_SECTION_DEBUG critsect_debug
static
Initial value:
=
{
0, 0, &uuid_cs,
0, 0, { (DWORD_PTR)(__FILE__ ": uuid_cs") }
}
#define DWORD_PTR
Definition: treelist.c:76
static CRITICAL_SECTION uuid_cs
Definition: rpcrt4_main.c:62
static CRITICAL_SECTION_DEBUG critsect_debug
Definition: rpcrt4_main.c:63
LIST_ENTRY ProcessLocksList
Definition: winbase.h:855

Definition at line 63 of file rpcrt4_main.c.

◆ hex2bin

const BYTE hex2bin[]
static
Initial value:
=
{
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,
0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,10,11,12,13,14,15
}

Definition at line 558 of file rpcrt4_main.c.

Referenced by UuidFromStringA(), and UuidFromStringW().

◆ threaddata_cs

static CRITICAL_SECTION threaddata_cs = { &threaddata_cs_debug, -1, 0, 0, 0, 0 }
static

Definition at line 71 of file rpcrt4_main.c.

Referenced by DllMain(), get_or_create_threaddata(), and rpc_cancel_thread().

◆ threaddata_cs_debug

CRITICAL_SECTION_DEBUG threaddata_cs_debug
static
Initial value:
=
{
0, 0, &threaddata_cs,
0, 0, { (DWORD_PTR)(__FILE__ ": threaddata_cs") }
}
#define DWORD_PTR
Definition: treelist.c:76
LIST_ENTRY ProcessLocksList
Definition: winbase.h:855
static CRITICAL_SECTION_DEBUG threaddata_cs_debug
Definition: rpcrt4_main.c:72
static CRITICAL_SECTION threaddata_cs
Definition: rpcrt4_main.c:71

Definition at line 72 of file rpcrt4_main.c.

◆ threaddata_list

struct list threaddata_list = LIST_INIT(threaddata_list)
static

Definition at line 80 of file rpcrt4_main.c.

Referenced by get_or_create_threaddata(), and rpc_cancel_thread().

◆ uuid_cs

static CRITICAL_SECTION uuid_cs = { &critsect_debug, -1, 0, 0, 0, 0 }
static

Definition at line 62 of file rpcrt4_main.c.

Referenced by DllMain(), and UuidCreateSequential().

◆ uuid_nil

UUID uuid_nil
static