Nikolay Sivov : ntdll: Added RtlFindActivationContextSectionGuid() stub.
Alexandre Julliard
julliard at winehq.org
Wed Jul 31 15:31:33 CDT 2013
Module: wine
Branch: master
Commit: 1692ccc56dd597a8f07492da352a258847a77388
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1692ccc56dd597a8f07492da352a258847a77388
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed Jul 31 09:09:27 2013 +0400
ntdll: Added RtlFindActivationContextSectionGuid() stub.
---
dlls/kernel32/actctx.c | 13 +++++++++----
dlls/ntdll/actctx.c | 31 +++++++++++++++++++++++++++++++
dlls/ntdll/ntdll.spec | 2 +-
include/winternl.h | 1 +
4 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/dlls/kernel32/actctx.c b/dlls/kernel32/actctx.c
index abd6459..86752b3 100644
--- a/dlls/kernel32/actctx.c
+++ b/dlls/kernel32/actctx.c
@@ -272,10 +272,15 @@ BOOL WINAPI FindActCtxSectionGuid(DWORD dwFlags, const GUID* lpExtGuid,
ULONG ulId, const GUID* lpSearchGuid,
PACTCTX_SECTION_KEYED_DATA pInfo)
{
- FIXME("%08x %s %u %s %p\n", dwFlags, debugstr_guid(lpExtGuid),
- ulId, debugstr_guid(lpSearchGuid), pInfo);
- SetLastError( ERROR_CALL_NOT_IMPLEMENTED);
- return FALSE;
+ NTSTATUS status;
+
+ if ((status = RtlFindActivationContextSectionGuid(dwFlags, lpExtGuid, ulId, lpSearchGuid, pInfo)))
+ {
+ SetLastError(RtlNtStatusToDosError(status));
+ return FALSE;
+ }
+
+ return TRUE;
}
/***********************************************************************
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index 8e4085d..f2a94c7 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -2716,3 +2716,34 @@ NTSTATUS WINAPI RtlFindActivationContextSectionString( ULONG flags, const GUID *
return status;
}
+
+/***********************************************************************
+ * RtlFindActivationContextSectionGuid (NTDLL.@)
+ *
+ * Find information about a GUID in an activation context.
+ * FIXME: function signature/prototype may be wrong
+ */
+NTSTATUS WINAPI RtlFindActivationContextSectionGuid( ULONG flags, const GUID *extguid, ULONG section_kind,
+ const GUID *guid, void *ptr )
+{
+ ACTCTX_SECTION_KEYED_DATA *data = ptr;
+
+ FIXME("%08x %s %u %s %p: stub\n", flags, debugstr_guid(extguid), section_kind, debugstr_guid(guid), data);
+
+ if (extguid)
+ {
+ FIXME("expected extguid == NULL\n");
+ return STATUS_INVALID_PARAMETER;
+ }
+
+ if (flags & ~FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX)
+ {
+ FIXME("unknown flags %08x\n", flags);
+ return STATUS_INVALID_PARAMETER;
+ }
+
+ if (!data || data->cbSize < FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex) || !guid)
+ return STATUS_INVALID_PARAMETER;
+
+ return STATUS_NOT_IMPLEMENTED;
+}
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 910ded5..6f592b4 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -578,7 +578,7 @@
@ stdcall RtlFillMemory(ptr long long)
@ stdcall RtlFillMemoryUlong(ptr long long)
@ stub RtlFinalReleaseOutOfProcessMemoryStream
-@ stub RtlFindActivationContextSectionGuid
+@ stdcall RtlFindActivationContextSectionGuid(long ptr long ptr ptr)
@ stdcall RtlFindActivationContextSectionString(long ptr long ptr ptr)
@ stdcall RtlFindCharInUnicodeString(long ptr ptr ptr)
@ stdcall RtlFindClearBits(ptr long long)
diff --git a/include/winternl.h b/include/winternl.h
index 955228a..07ebbab 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2351,6 +2351,7 @@ NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserProcess(ULONG);
NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserThread(ULONG);
NTSYSAPI NTSTATUS WINAPI RtlExpandEnvironmentStrings_U(PCWSTR, const UNICODE_STRING*, UNICODE_STRING*, ULONG*);
NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionString(ULONG,const GUID*,ULONG,const UNICODE_STRING*,PVOID);
+NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionGuid(ULONG,const GUID*,ULONG,const GUID*,PVOID);
NTSYSAPI NTSTATUS WINAPI RtlFindCharInUnicodeString(int,const UNICODE_STRING*,const UNICODE_STRING*,USHORT*);
NTSYSAPI ULONG WINAPI RtlFindClearBits(PCRTL_BITMAP,ULONG,ULONG);
NTSYSAPI ULONG WINAPI RtlFindClearBitsAndSet(PRTL_BITMAP,ULONG,ULONG);
More information about the wine-cvs
mailing list