Page 1 of 1

missing APIS from 2003 SP2 v3790.3959

Posted: Thu Nov 29, 2018 10:44 am
by Piotr_hh
Hi please update system libraries and add following APIS from 2003:

green=ADDED
red=MISSING


ole32.dll ::

CoVrfCheckThreadState
CoVrfGetThreadState
CoVrfReleaseThreadState
PropVariantChangeType
CLSIDFromOle1Class
CoCreateObjectInContext
CoDeactivateObject
CoGetApartmentID
CoGetClassVersion
CoGetComCatalog
CoGetModuleType
CoGetProcessIdentifier
CoGetSystemSecurityPermissions
CoInstall
CoInvalidateRemoteMachineBindings
CoPopServiceDomain
CoPushServiceDomain
CoReactivateObject
CoRetireServer
CoSetCancelObject
CoTestCancel
ComPs_NdrDllCanUnloadNow
ComPs_NdrDllGetClassObject
ComPs_NdrDllRegisterProxy
ComPs_NdrDllUnregisterProxy
CreateStdProgressIndicator
DcomChannelSetHResult
HkOleRegisterObject
StgOpenStorageOnHandle
StgPropertyLengthAsVariant
UpdateProcessTracing



rpcrt4.dll:

I_RpcServerTurnOnOffKeepalives
I_RpcBindingHandleToAsyncHandle
I_RpcBindingInqMarshalledTargetInfo
I_RpcBindingIsServerLocal
I_RpcNDRCGetWireRepresentation
I_RpcNDRSContextEmergencyCleanup

I_RpcRecordCalloutFailure
I_RpcReplyToClientWithStatus

I_RpcSNCHOption
I_RpcServerCheckClientRestriction
I_RpcServerIsClientDisconnected
I_RpcSessionStrictContextHandle

NdrCreateServerInterfaceFromStub
RpcErrorGetNumberOfRecords

RpcGetAuthorizationContextForClient
RENAME:::
pfnMarshallRouteines ->pfnMarshallRoutines
pfnUnmarshallRouteines ->pfnUnmarshallRoutines

I_RpcBindingInqDynamicEndPoint -> I_RpcBindingInqDynamicEndpoint
I_RpcBindingInqDynamicEndPointA -> I_RpcBindingInqDynamicEndpoint
I_RpcBindingInqDynamicEndPointW ->I_RpcBindingInqDynamicEndpoint


ntdll.dll:
PropertyLengthAsVariant
RtlConvertPropertyToVariant
RtlConvertVariantToProperty
LdrAlternateResourceEnabled
LdrFindResourceEx_U
LdrHotPatchRoutine
LdrInitShimEngineDynamic
LdrQueryImageFileExecutionOptionsEx
LdrSetAppCompatDllRedirectionCallback
PfxFindPrefix
PfxInitialize
PfxInsertPrefix
PfxRemovePrefix
RtlAddCompoundAce
RtlAddressInSectionTable
RtlAppendPathElement
RtlCancelTimer
RtlCaptureStackContext
RtlCheckProcessParameters
RtlDebugPrintTimes
RtlEnableEarlyCriticalSectionEventCreation
RtlGetUnloadEventTrace
RtlInitializeAtomPackage
RtlInsertElementGenericTableFull
RtlInsertElementGenericTableFullAvl
RtlLogStackBackTrace
RtlLookupElementGenericTableFull
RtlLookupElementGenericTableFullAvl
RtlMultipleAllocateHeap
RtlMultipleFreeHeap
RtlQueryProcessBackTraceInformation
RtlQueryProcessHeapInformation
RtlQueryProcessLockInformation
RtlQueueApcWow64Thread
RtlSetTimer
RtlSetUnicodeCallouts
RtlTraceDatabaseAdd
RtlTraceDatabaseCreate
RtlTraceDatabaseDestroy
RtlTraceDatabaseEnumerate
RtlTraceDatabaseFind
RtlTraceDatabaseLock
RtlTraceDatabaseUnlock
RtlTraceDatabaseValidate
RtlUnhandledExceptionFilter2
RtlpNotOwnerCriticalSection


apphelp.dll::
ApphelpCheckIME
ApphelpGetShimDebugLevel
ApphelpReleaseExe
ApphelpShowDialog
ApphelpShowUI
SdbDeletePermLayerKeys
SdbFindCustomActionForPackage
SdbFindFirstGUIDIndexedTag
SdbFindMsiPackageByID
SdbFindNextGUIDIndexedTag
SdbFormatAttribute
SdbGetDatabaseGUID
SdbGetImageType
SdbGetPDBFromGUID
SdbQueryFlagMask
SdbReadBYTETagRef
SdbRegisterDatabaseEx


winsta.dll:
WinStationCanLogonProceed
WinStationRedirectErrorMessage
_WinStationOpenSessionDirectory


imagehlp.dll
EnumDirTree
SymEnumSymbolsForAddr


dbghelp.dll
dh
fptr
lm
lmi
omap
srcfiles
stackdbg
sym
symsrv
vc7fpo



crypt32.dll
ChainWlxLogoffEvent
CloseCertPerformanceData
CollectCertPerformanceData
OpenCertPerformanceData

CertAddCRLContextToStore
CertAddCTLLinkToStore

CertCreateCTLEntryFromCertificateContextProperties
CertEnumSubjectInSortedCTL
CertEnumSystemStoreLocation
CertFindSubjectInSortedCTL
CertResyncCertificateChainEngine
CertSetCertificateContextPropertiesFromCTLEntry
CryptCreateKeyIdentifierFromCSP
CryptEnumKeyIdentifierProperties
CryptGetKeyIdentifierProperty
CryptInstallDefaultContext
CryptSetKeyIdentifierProperty
CryptUninstallDefaultContext
I_CertProtectFunction
I_CertSrvProtectFunction
I_CertSyncStore
I_CryptAddRefLruEntry
I_CryptAddSmartCardCertToStore
I_CryptDisableLruOfEntries
I_CryptEnableLruOfEntries
I_CryptEnumMatchingLruEntries
I_CryptFindSmartCardCertInStore
I_CryptGetFileVersion
I_CryptGetLruEntryData
I_CryptGetLruEntryIdentifier
I_CryptRegisterSmartCardStore
I_CryptRemoveLruEntry
I_CryptTouchLruEntry
I_CryptUnregisterSmartCardStore
I_CryptWalkAllLruCacheEntries

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Thu Nov 29, 2018 12:11 pm
by elhoir
that's exactly the ReactOS project goal: implement NT 5,2 APIs
so no need to report about it :)

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Thu Nov 29, 2018 4:34 pm
by karlexceed
Nearly everything mentioned in this thread is already known, just waiting on implementation.

Check here: https://github.com/reactos/reactos/tree ... /dll/win32

Within the folder for the DLLs, you'll find a .spec file. In that file lists almost everything listed here.

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Fri Nov 30, 2018 9:26 am
by Piotr_hh
FIX rpcrt4 2 APIS::
pfnMarshallRouteines ->pfnMarshallRoutines
pfnUnmarshallRouteines ->pfnUnmarshallRoutines

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Fri Nov 30, 2018 12:10 pm
by EmuandCo
Maybe a Jira bugreport would be a better idea. Just my two cents.

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Fri Nov 30, 2018 12:48 pm
by binarymaster
EmuandCo wrote: Fri Nov 30, 2018 12:10 pm Maybe a Jira bugreport would be a better idea. Just my two cents.
We already have related spam on JIRA, so... it's not good idea. :roll:
CORE-15392
CORE-15393
CORE-15394
CORE-15395
CORE-15396
CORE-15397

I couldn't get the idea what OP is wanting from us. We can't just implement * API when we don't know exact applications that depends on it.

Only these two issues have something understandable, but still no debug log / reproduction steps / etc:
CORE-15388
CORE-15391

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Fri Nov 30, 2018 2:24 pm
by EmuandCo
In that case he is free to comment a report of his choice ^^

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Fri Nov 30, 2018 10:45 pm
by Piotr_hh
RPCRT4.DLL

RENAME:::

pfnMarshallRouteines ->pfnMarshallRoutines

pfnUnmarshallRouteines ->pfnUnmarshallRoutines

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Mon Dec 03, 2018 1:05 pm
by Serge Gautherie
* rpcrt4.pfn*arshallRoutines: fixed. (Wine) rpcrt4: Fix 'Routeines' typos.

Thanks for the report.

---

Random glance:

* apphelp.SdbGetImageType: totally missing.
* inetcomm.RichMimeEdit_CreateInstance: totally missing.
* ole32.CoGetClassVersion: Wine "@ stub CoGetClassVersion", ROS "# CoGetClassVersion" only...
* rpcrt4.I_RpcSNCHOption: Wine missing, ROS "# I_RpcSNCHOption" only.

Suggested plan:

Double-check what applies to Wine, ReactOS or both (through WINESYNC).
Then, ask Wine what their policy is about fixing their part.
Then, we can review what will be left as ReactOS specific part.

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Mon Dec 03, 2018 10:40 pm
by Piotr_hh
apphelp.dll on WINE is 100% STUB. Can Wine-Team simply add missing API STUB?

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Tue Dec 04, 2018 6:58 am
by middings
binarymaster wrote: Fri Nov 30, 2018 12:48 pm
EmuandCo wrote: Fri Nov 30, 2018 12:10 pmMaybe a Jira bug report would be a better idea. Just my two cents.
We already have related spam on JIRA, so... it's not good idea.
I agree that JIRA bug reports are not usable for naming unimplemented application program interfaces (APIs). The forums here are also unsuitable.

Are there any alternatives? How would I or a newcomer to ReactOS discover which APIs or DLLs are implemented and documented and which are not? WINE has this web page https://source.winehq.org/WineAPI/ that seems to document the implementation and documentation status of DLLs for their project. It seems to be related to WINE's LXR tool.* Can similar information for ReactOS's code be viewed and edited using the ReactOS project's existing tools without burdening the ReactOS JIRA issue tracker?

* LXR is "[a] general purpose source code indexer and cross-referencer that provides web-based browsing of source code with links to the definition and usage of any identifier" according to https://sourceforge.net/projects/lxr/.

Re: missing APIS from 2003 SP2 v3790.3959

Posted: Mon Mar 30, 2020 1:35 pm
by hbelusca
Updated list for NTDLL.DLL:

LdrAlternateResourceEnabled
LdrFindResourceEx_U
LdrHotPatchRoutine
LdrInitShimEngineDynamic
LdrQueryImageFileExecutionOptionsEx
RtlAddCompoundAce
RtlAddressInSectionTable
RtlAppendPathElement
RtlCaptureStackContext
RtlCheckProcessParameters
RtlDebugPrintTimes
RtlEnableEarlyCriticalSectionEventCreation
RtlInitializeAtomPackage
RtlLogStackBackTrace
RtlQueryProcessBackTraceInformation
RtlQueryProcessLockInformation
RtlSetUnicodeCallouts

The other ones have been added in the meantime, but some of these are still in UNIMPLEMENTED state.