#include <stdarg.h>
#include <string.h>
#include "winerror.h"
#include "windef.h"
#include "winbase.h"
#include "irot_s.h"
#include "wine/list.h"
#include "wine/debug.h"
Go to the source code of this file.
|
| | WINE_DEFAULT_DEBUG_CHANNEL (rpcss) |
| |
| static void | rot_entry_release (struct rot_entry *rot_entry) |
| |
| HRESULT __cdecl | IrotRegister (IrotHandle h, const MonikerComparisonData *data, const InterfaceData *obj, const InterfaceData *mk, const FILETIME *time, DWORD grfFlags, IrotCookie *cookie, IrotContextHandle *ctxt_handle) |
| |
| HRESULT __cdecl | IrotRevoke (IrotHandle h, IrotCookie cookie, IrotContextHandle *ctxt_handle, PInterfaceData *obj, PInterfaceData *mk) |
| |
| HRESULT __cdecl | IrotIsRunning (IrotHandle h, const MonikerComparisonData *data) |
| |
| HRESULT __cdecl | IrotGetObject (IrotHandle h, const MonikerComparisonData *moniker_data, PInterfaceData *obj, IrotCookie *cookie) |
| |
| HRESULT __cdecl | IrotNoteChangeTime (IrotHandle h, IrotCookie cookie, const FILETIME *last_modified_time) |
| |
| HRESULT __cdecl | IrotGetTimeOfLastChange (IrotHandle h, const MonikerComparisonData *moniker_data, FILETIME *time) |
| |
| HRESULT __cdecl | IrotEnumRunning (IrotHandle h, PInterfaceList *list) |
| |
| void __RPC_USER | IrotContextHandle_rundown (IrotContextHandle ctxt_handle) |
| |
| void *__RPC_USER | MIDL_user_allocate (SIZE_T size) |
| |
| void __RPC_USER | MIDL_user_free (void *p) |
| |
◆ IrotContextHandle_rundown()
| void __RPC_USER IrotContextHandle_rundown |
( |
IrotContextHandle |
ctxt_handle | ) |
|
Definition at line 362 of file irotp.c.
363{
369}
static void list_remove(struct list_entry *entry)
static CRITICAL_SECTION csRunningObjectTable
static void rot_entry_release(struct rot_entry *rot_entry)
IrotContextHandle ctxt_handle
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
◆ IrotEnumRunning()
| HRESULT __cdecl IrotEnumRunning |
( |
IrotHandle |
h, |
|
|
PInterfaceList * |
list |
|
) |
| |
Definition at line 317 of file irotp.c.
320{
323 ULONG moniker_count = 0;
325
327
329
331 moniker_count++;
332
335 {
336 (*list)->size = moniker_count;
338 {
340 if (!(*list)->interfaces[
i])
341 {
347 break;
348 }
352 }
353 }
354 else
356
358
360}
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
void *__RPC_USER MIDL_user_allocate(SIZE_T size)
static struct list RunningObjectTable
void __RPC_USER MIDL_user_free(void *p)
#define memcpy(s1, s2, n)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define FIELD_OFFSET(t, f)
_In_ PUSBD_INTERFACE_LIST_ENTRY InterfaceList
Referenced by RunningObjectTableImpl_EnumRunning().
◆ IrotGetObject()
Definition at line 223 of file irotp.c.
228{
230
232
234
236
238 {
242 {
245 {
248
250 }
251 else
253
255
257 }
258 }
259
261
263}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
MonikerComparisonData * moniker_data
Referenced by RunningObjectTableImpl_GetObject().
◆ IrotGetTimeOfLastChange()
◆ IrotIsRunning()
Definition at line 198 of file irotp.c.
201{
204
206
208
210 {
213 {
215 break;
216 }
217 }
219
221}
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Referenced by RunningObjectTableImpl_IsRunning().
◆ IrotNoteChangeTime()
◆ IrotRegister()
Definition at line 71 of file irotp.c.
80{
84
85 if (grfFlags & ~(ROTFLAGS_REGISTRATIONKEEPSALIVE|ROTFLAGS_ALLOWANYCLIENT))
86 {
87 WINE_ERR(
"Invalid grfFlags: 0x%08x\n", grfFlags & ~(ROTFLAGS_REGISTRATIONKEEPSALIVE|ROTFLAGS_ALLOWANYCLIENT));
89 }
90
94
98 {
101 }
104
106
109 {
112 }
115
118 {
121 }
124
126
128
130 {
133 {
135 WINE_TRACE(
"moniker already registered with cookie %d\n", existing_rot_entry->
cookie);
136 break;
137 }
138 }
139
141
143
144
147
149}
#define InterlockedIncrement
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
#define MK_S_MONIKERALREADYREGISTERED
Referenced by RunningObjectTableImpl_Register().
◆ IrotRevoke()
| HRESULT __cdecl IrotRevoke |
( |
IrotHandle |
h, |
|
|
IrotCookie |
cookie, |
|
|
IrotContextHandle * |
ctxt_handle, |
|
|
PInterfaceData * |
obj, |
|
|
PInterfaceData * |
mk |
|
) |
| |
Definition at line 151 of file irotp.c.
157{
159
161
164 {
166 {
168
171
175 {
180 }
181 else
182 {
186 }
187
191 }
192 }
194
196}
Referenced by rot_entry_delete().
◆ MIDL_user_allocate()
◆ MIDL_user_free()
◆ rot_entry_release()
◆ WINE_DEFAULT_DEBUG_CHANNEL()
| WINE_DEFAULT_DEBUG_CHANNEL |
( |
rpcss |
| ) |
|
◆ critsect_debug
Initial value:=
{
0, 0, { (
DWORD_PTR)(__FILE__
": csRunningObjectTable") }
}
static CRITICAL_SECTION_DEBUG critsect_debug
LIST_ENTRY ProcessLocksList
Definition at line 50 of file irotp.c.
◆ csRunningObjectTable
◆ last_cookie
◆ RunningObjectTable