kernelbase: Implement IsApiSetImplemented().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2022-02-22 12:38:37 +01:00
parent cb2fb8c25e
commit 77973e7e72
4 changed files with 18 additions and 1 deletions

View File

@ -1469,7 +1469,6 @@ static void test_apisets(void)
return;
}
if (!pApiSetQueryApiSetPresenceEx) win_skip( "ApiSetQueryApiSetPresenceEx not implemented\n" );
todo_wine
if (!pIsApiSetImplemented) win_skip( "IsApiSetImplemented not implemented\n" );
for (i = 0; i < ARRAY_SIZE(tests); i++)

View File

@ -868,6 +868,7 @@
# @ stub InternetTimeToSystemTimeW
# @ stub InvalidateAppModelVersionCache
@ stub InvalidateTzSpecificCache
@ stdcall IsApiSetImplemented(str)
@ stdcall IsCharAlphaA(long)
@ stdcall IsCharAlphaNumericA(long)
@ stdcall IsCharAlphaNumericW(long)

View File

@ -467,6 +467,22 @@ FARPROC WINAPI DECLSPEC_HOTPATCH GetProcAddress( HMODULE module, LPCSTR function
#endif /* __x86_64__ */
/***********************************************************************
* IsApiSetImplemented (kernelbase.@)
*/
BOOL WINAPI IsApiSetImplemented( LPCSTR name )
{
UNICODE_STRING str;
NTSTATUS status;
BOOLEAN in_schema, present;
if (!RtlCreateUnicodeStringFromAsciiz( &str, name )) return FALSE;
status = ApiSetQueryApiSetPresenceEx( &str, &in_schema, &present );
RtlFreeUnicodeString( &str );
return !status && present;
}
/***********************************************************************
* LoadLibraryA (kernelbase.@)
*/

View File

@ -2406,6 +2406,7 @@ WINBASEAPI VOID WINAPI InitOnceInitialize(PINIT_ONCE);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
WINBASEAPI BOOL WINAPI IsApiSetImplemented(LPCSTR);
WINBASEAPI BOOL WINAPI IsBadCodePtr(FARPROC);
WINBASEAPI BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT_PTR);
WINBASEAPI BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT_PTR);