something I intend working on that will help make wine "more complete"

Francois Gouget fgouget at free.fr
Sat Jul 19 16:15:01 CDT 2003


On Wed, 16 Jul 2003, Jonathan Wilson wrote:

> Basicly, I am going to compare what functions WINE exports from different
> dlls, say, kernel32.dll or whatever with what Windows XP SP1 exports from
> the same dll. If there is anything "missing" from the WINE version, then it
> needs to be added (even if its just a "fixme" stub)
>
> Would such work be any use?

IMHO the more complete our spec files the better. Even if we just add
stubs.


> Has this work already been dome by someone?

I have some pieces of it. In particular I have a list of all APIs
exported by Windows dlls, documented in the latest Win32 SDK and missing
from Wine's spec files. It would be nice to declare them as stubs in
the spec files and to add them to Wine's headers whenever possible. It's
that much less work to do when someone later implements them.


advapi32:
CreatePrivateObjectSecurityWithMultipleInheritance
CreateWellKnownSid
CredDeleteA
CredDeleteW
CredEnumerateA
CredEnumerateW
CredFree
CredGetSessionTypes
CredGetTargetInfoA
CredGetTargetInfoW
CredIsMarshaledCredentialA
CredIsMarshaledCredentialW
CredMarshalCredentialA
CredMarshalCredentialW
CredReadA
CredReadDomainCredentialsA
CredReadDomainCredentialsW
CredReadW
CredRenameA
CredRenameW
CredUnmarshalCredentialA
CredUnmarshalCredentialW
CredWriteA
CredWriteDomainCredentialsA
CredWriteDomainCredentialsW
CredWriteW
EnumerateTraceGuids
EqualDomainSid
FlushTraceA
FlushTraceW
FreeInheritedFromArray
GetInheritanceSourceA
GetInheritanceSourceW
GetLocalManagedApplicationData
GetManagedApplicationCategories
GetWindowsAccountDomainSid
IsTokenUntrusted
IsWellKnownSid
LogonUserExA
LogonUserExW
LsaLookupNames2
LsaQueryForestTrustInformation
LsaSetForestTrustInformation
MSChapSrvChangePassword
MSChapSrvChangePassword2
QueryTraceA
QueryTraceW
RegSaveKeyExA
RegSaveKeyExW
SaferCloseLevel
SaferComputeTokenFromLevel
SaferCreateLevel
SaferGetLevelInformation
SaferGetPolicyInformation
SaferIdentifyLevel
SaferRecordEventLogEntry
SaferSetLevelInformation
SaferSetPolicyInformation
SaferiIsExecutableFileType
StopTraceA
StopTraceW
SystemFunction040
SystemFunction041
TraceMessage
TraceMessageVa
TreeResetNamedSecurityInfoA
TreeResetNamedSecurityInfoW
UpdateTraceA
UpdateTraceW
Wow64Win32ApiEntry

crypt32:
CertCreateCTLEntryFromCertificateContextProperties
CertIsValidCRLForCertificate
CertSetCertificateContextPropertiesFromCTLEntry
CryptBinaryToStringA
CryptBinaryToStringW
CryptSIPRetrieveSubjectGuidForCatalogFile
CryptStringToBinaryA
CryptStringToBinaryW

dplayx:
DllRegisterServer
DllUnregisterServer

imagehlp:
FindFileInPath
SymEnumSourceFiles
SymEnumSym
SymEnumSymbols
SymEnumTypes
SymFindFileInPath
SymFromAddr
SymFromName
SymGetTypeFromName
SymGetTypeInfo
SymMatchString
SymSetContext

kernel32:
ActivateActCtx
AddRefActCtx
AddVectoredExceptionHandler
AllocateUserPhysicalPages
AssignProcessToJobObject
AttachConsole
BindIoCompletionCallback
CancelTimerQueueTimer
ConvertFiberToThread
CopyLZFile
CreateActCtxA
CreateActCtxW
CreateFiberEx
CreateHardLinkA
CreateHardLinkW
CreateJobObjectA
CreateJobObjectW
CreateJobSet
CreateMemoryResourceNotification
CreateTimerQueue
CreateTimerQueueTimer
DeactivateActCtx
DebugActiveProcessStop
DebugBreakProcess
DebugSetProcessKillOnExit
DeleteTimerQueue
DeleteTimerQueueEx
DeleteTimerQueueTimer
DeleteVolumeMountPointA
DeleteVolumeMountPointW
DnsHostnameToComputerNameA
DnsHostnameToComputerNameW
FindActCtxSectionGuid
FindActCtxSectionStringA
FindActCtxSectionStringW
GetConsoleProcessList
GetConsoleSelectionInfo
GetCurrentActCtx
GetExpandedNameA
GetExpandedNameW
GetFirmwareEnvironmentVariableA
GetFirmwareEnvironmentVariableW
GetModuleHandleExA
GetModuleHandleExW
GetNativeSystemInfo
GetNumaAvailableMemoryNode
GetNumaHighestNodeNumber
GetNumaNodeProcessorMask
GetNumaProcessorNode
GetSystemWow64DirectoryA
GetSystemWow64DirectoryW
GetVolumePathNamesForVolumeNameA
GetVolumePathNamesForVolumeNameW
HeapQueryInformation
HeapSetInformation
InitializeSListHead
InterlockedFlushSList
InterlockedPopEntrySList
InterlockedPushEntrySList
IsProcessInJob
IsWow64Process
LZClose
LZCopy
LZDone
LZInit
LZOpenFileA
LZOpenFileW
LZRead
LZSeek
LZStart
QueryActCtxW
QueryDepthSList
QueryMemoryResourceNotification
ReleaseActCtx
RemoveVectoredExceptionHandler
RestoreLastError
RtlCaptureContext
SetFileShortNameA
SetFileShortNameW
SetFileValidData
SetFirmwareEnvironmentVariableA
SetFirmwareEnvironmentVariableW
TzSpecificLocalTimeToSystemTime
WTSGetActiveConsoleSessionId
ZombifyActCtx

netapi32:
DsGetDcCloseW
DsGetDcNextA
DsGetDcNextW
DsGetDcOpenA
DsGetDcOpenW
DsGetForestTrustInformationW
DsMergeForestTrustInformationW
NetAddAlternateComputerName
NetEnumerateComputerNames
NetRemoveAlternateComputerName
NetSetPrimaryComputerName

ntdll:
RtlApplicationVerifierStop
RtlCaptureContext
RtlFirstEntrySList
RtlInitializeSListHead
RtlInterlockedFlushSList
RtlInterlockedPopEntrySList
RtlInterlockedPushEntrySList
RtlQueryDepthSList
RtlQueryHeapInformation
RtlSetHeapInformation
_vsnwprintf

ole32:
CoFreeUnusedLibrariesEx
CoGetContextToken
CoGetInterceptor
CoGetInterceptorFromTypeInfo
CoInvalidateRemoteMachineBindings

oleaut32:
VarBoolFromI8
VarBoolFromUI8
VarBstrFromI8
VarBstrFromUI8
VarCyFromI8
VarCyFromUI8
VarCyMulI8
VarDateFromI8
VarDateFromUI8
VarDecFromI8
VarDecFromUI8
VarI1FromI8
VarI1FromUI8
VarI2FromI8
VarI2FromUI8
VarI4FromI8
VarI4FromUI8
VarI8FromBool
VarI8FromCy
VarI8FromDate
VarI8FromDec
VarI8FromDisp
VarI8FromI1
VarI8FromI2
VarI8FromR4
VarI8FromR8
VarI8FromStr
VarI8FromUI1
VarI8FromUI2
VarI8FromUI4
VarI8FromUI8
VarR4FromI8
VarR4FromUI8
VarR8FromI8
VarR8FromUI8
VarUI1FromI8
VarUI1FromUI8
VarUI2FromI8
VarUI2FromUI8
VarUI4FromI8
VarUI4FromUI8
VarUI8FromBool
VarUI8FromCy
VarUI8FromDate
VarUI8FromDec
VarUI8FromDisp
VarUI8FromI1
VarUI8FromI2
VarUI8FromI8
VarUI8FromR4
VarUI8FromR8
VarUI8FromStr
VarUI8FromUI1
VarUI8FromUI2
VarUI8FromUI4

psapi:
EnumPageFilesA
EnumPageFilesW
GetPerformanceInfo
GetProcessImageFileNameA
GetProcessImageFileNameW

rasapi32:
RasDeleteSubEntryW

rpcrt4:
I_RpcBindingHandleToAsyncHandle
I_RpcBindingInqLocalClientPID
I_RpcExceptionFilter
I_RpcNegotiateTransferSyntax
I_RpcServerInqLocalConnAddress
I_RpcTurnOnEEInfoPropagation
NdrCreateServerInterfaceFromStub
NdrPartialIgnoreClientBufferSize
NdrPartialIgnoreClientMarshall
NdrPartialIgnoreServerInitialize
NdrPartialIgnoreServerUnmarshall
RpcErrorAddRecord
RpcErrorClearInformation
RpcErrorEndEnumeration
RpcErrorGetNextRecord
RpcErrorGetNumberOfRecords
RpcErrorLoadErrorInfo
RpcErrorResetEnumeration
RpcErrorSaveErrorInfo
RpcErrorStartEnumeration
RpcFreeAuthorizationContext
RpcGetAuthorizationContextForClient
RpcServerInqCallAttributesA
RpcServerInqCallAttributesW
RpcServerUnregisterIfEx
RpcSsContextLockExclusive
RpcSsContextLockShared
RpcUserFree

setupapi:
CM_Get_DevNode_Custom_PropertyA
CM_Get_DevNode_Custom_PropertyW
CM_Get_DevNode_Custom_Property_ExA
CM_Get_DevNode_Custom_Property_ExW
CM_Is_Version_Available
CM_Is_Version_Available_Ex
SetupDiGetActualSectionToInstallExA
SetupDiGetActualSectionToInstallExW
SetupDiGetClassRegistryPropertyA
SetupDiGetClassRegistryPropertyW
SetupDiGetCustomDevicePropertyA
SetupDiGetCustomDevicePropertyW
SetupDiSetClassRegistryPropertyA
SetupDiSetClassRegistryPropertyW
SetupDiSetDeviceInterfaceDefault
SetupEnumInfSectionsA
SetupEnumInfSectionsW
SetupGetFileCompressionInfoExA
SetupGetFileCompressionInfoExW
SetupGetFileQueueCount
SetupGetFileQueueFlags
SetupGetNonInteractiveMode
SetupPrepareQueueForRestoreA
SetupPrepareQueueForRestoreW
SetupSetFileQueueFlags
SetupSetNonInteractiveMode
SetupUninstallNewlyCopiedInfs
SetupUninstallOEMInfA
SetupUninstallOEMInfW
SetupVerifyInfFileA
SetupVerifyInfFileW

shdocvw:
DoPrivacyDlg
ImportPrivacySettings

shell32:
SHCreateQueryCancelAutoPlayMoniker
SHCreateShellItem
SHEnableServiceObject
SHEnumerateUnreadMailAccountsW
SHGetFolderPathAndSubDirA
SHGetFolderPathAndSubDirW
SHGetUnreadMailCountW
SHParseDisplayName
SHSetLocalizedName
SHSetUnreadMailCountW

urlmon:
CompareSecurityIds

user32:
BroadcastSystemMessageExA
BroadcastSystemMessageExW
DefRawInputProc
DisableProcessWindowsGhosting
GetLayeredWindowAttributes
GetRawInputBuffer
GetRawInputData
GetRawInputDeviceInfoA
GetRawInputDeviceInfoW
GetRawInputDeviceList
GetRegisteredRawInputDevices
GetWindowRgnBox
IsGUIThread
IsWinEventHookInstalled
PrintWindow
RegisterRawInputDevices

wininet:
CreateMD5SSOHash
InternetClearAllPerSiteCookieDecisions
InternetEnumPerSiteCookieDecisionA
InternetEnumPerSiteCookieDecisionW
InternetGetCookieExA
InternetGetCookieExW
InternetGetPerSiteCookieDecisionA
InternetGetPerSiteCookieDecisionW
InternetSetCookieExA
InternetSetCookieExW
InternetSetPerSiteCookieDecisionA
InternetSetPerSiteCookieDecisionW
PrivacyGetZonePreferenceW
PrivacySetZonePreferenceW

wintrust:
CryptCATAdminPauseServiceForBackup
CryptCATAdminRemoveCatalog
CryptCATAdminResolveCatalogPath

ws2_32:
WSANSPIoctl
WSCUpdateProvider
freeaddrinfo
getaddrinfo
getnameinfo


-- 
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
           If it stinks, it's chemistry. If it moves, it's biology.
                  If it does not work, It's computer science.




More information about the wine-devel mailing list