Conversation
… be implying WIN32 vs 16-bit windows...not the 32v64 architecture.
|
Hello @DHowett! Because this pull request has the Do note that I've been instructed to only help merge pull requests of this repository that have been opened for at least 8 hours, a condition that will be fulfilled in about 7 hours 57 minutes. No worries though, I will be back when the time is right! 😉 p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
|
@msftbot merge this in 7 minutes |
|
Hello @DHowett! Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:
If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you". |
| <PreprocessorDefinitions>REGISTER_PROXY_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
| <CallingConvention>StdCall</CallingConvention> | ||
| <!-- Must be Stdcall on all platforms to resolve _ObjectStublessClient3 --> | ||
| <PreprocessorDefinitions>REGISTER_PROXY_DLL;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
There was a problem hiding this comment.
Do you want this defined for everything? Or just some flavors (e.g. ARM64)?
There was a problem hiding this comment.
Since minwindefs defines it for everyone if it didn't already exist, I suspect there's no harm in us doing it for every flavor of everything 😄 Good catch though!
By default from ARM64 architecture projects,
WIN32is not defined. It is supposed to be for this proxy stub to work. So I've set it with the preprocessor for this project.PR Checklist
Detailed Description of the Pull Request / Additional comments
WIN32appears to convey two meanings depending on who you are:WIN32appears to mean the Win32 API surface and sometimes the major OS version that goes with it. (Specifically in contrast to 16-bit Windows.)WIN32appears to mean a 32-bit processor or a synonym ofx86.This is generally not a problem for a few reasons:
WIN32in the default targets/props only for thex86processor type. BUTWIN32if it's not already defined in bothminwinbase.handole2.hwhich generally speaking manage to get compiled into practically everything especially sinceminwinbase.htends to sneak itself in somehow throughwindows.hand that's THE include to use the Windows API surface.WIN32for itself unconditionally and relatively globally when building itself.However, it's a problem here because:
rpcproxy.his the only header included indlldata.c, a file generated automatically bymidl.exein the SDK when making a proxy stub.rpcproxy.honly defines its contents for a proxy whenWIN32or_M_AMD64are found.I will follow up with the Visual Studio, Windows SDK, and MIDL/COM teams to try to remove this pitfall from the public tooling. But for now, this is the fix.