Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Microsoft admit to quick hacks

Microsoft admit to quick hacks

Scheduled Pinned Locked Moved The Lounge
htmlcomquestion
15 Posts 11 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Jeremy Pullicino

    Quite a disgrace from MS.... http://msdn.microsoft.com/library/default.asp?url=/library/en-us/smtpevt/html/_smtpevt_fio_context.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/smtpevt/html/_smtpevt_fio_context.asp [^] "Hey man, Taliban, Tali me Banana."

    T Offline
    T Offline
    Tim Smith
    wrote on last edited by
    #2

    LOL, I can see the MS people laughing their asses off wondering what the Linix people will make of that on the register. Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture

    1 Reply Last reply
    0
    • J Jeremy Pullicino

      Quite a disgrace from MS.... http://msdn.microsoft.com/library/default.asp?url=/library/en-us/smtpevt/html/_smtpevt_fio_context.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/smtpevt/html/_smtpevt_fio_context.asp [^] "Hey man, Taliban, Tali me Banana."

      M Offline
      M Offline
      Michael P Butler
      wrote on last edited by
      #3

      Makes an honest change. Usually it's dwReserved. Michael :-) Programming is great. First they pay you to introduce bugs into software. Then they pay you to remove them again.

      T 1 Reply Last reply
      0
      • J Jeremy Pullicino

        Quite a disgrace from MS.... http://msdn.microsoft.com/library/default.asp?url=/library/en-us/smtpevt/html/_smtpevt_fio_context.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/smtpevt/html/_smtpevt_fio_context.asp [^] "Hey man, Taliban, Tali me Banana."

        N Offline
        N Offline
        Nnamdi Onyeyiri
        wrote on last edited by
        #4

        LOL what i dont get is, why is it there, it says thaty it is never used, so why put it there :confused:


        :suss: Email: theeclypse@hotmail.com   URL: http://www.onyeyiri.co.uk
        :suss:"All programmers are playwrights and all computers are lousy actors."

        N P R 3 Replies Last reply
        0
        • N Nnamdi Onyeyiri

          LOL what i dont get is, why is it there, it says thaty it is never used, so why put it there :confused:


          :suss: Email: theeclypse@hotmail.com   URL: http://www.onyeyiri.co.uk
          :suss:"All programmers are playwrights and all computers are lousy actors."

          N Offline
          N Offline
          Navin
          wrote on last edited by
          #5

          Nnamdi Onyeyiri wrote: what i dont get is, why is it there, it says thaty it is never used, so why put it there I've seen that kind of thing a few times myself, but usually it's to preserve backwards compatibility to like Windows 3.1 and stuff. These cases seem weird though, since they require at least Windows 2000... :confused: There are three types of people in this world: those who can count, and those who can't.

          1 Reply Last reply
          0
          • M Michael P Butler

            Makes an honest change. Usually it's dwReserved. Michael :-) Programming is great. First they pay you to introduce bugs into software. Then they pay you to remove them again.

            T Offline
            T Offline
            Tomasz Sowinski
            wrote on last edited by
            #6

            Michael P Butler wrote: Makes an honest change. Usually it's dwReserved. LOL So the millions spent on trial were not lost :) Tomasz Sowinski -- http://www.shooltz.com

            Free your mind and your ass will follow.

            1 Reply Last reply
            0
            • N Nnamdi Onyeyiri

              LOL what i dont get is, why is it there, it says thaty it is never used, so why put it there :confused:


              :suss: Email: theeclypse@hotmail.com   URL: http://www.onyeyiri.co.uk
              :suss:"All programmers are playwrights and all computers are lousy actors."

              P Offline
              P Offline
              Paul Riley
              wrote on last edited by
              #7

              I'd guess you'll find it works like this: Function doesn't work. Insert new argument for testing purposes. Adjust all testing programs to pass new argument. Fix bug in function. If it ain't broke, don't fix it any more. Rename argument to dwReserved in case you might want to use it in a later version. This has been going on for years, but this time the name gives you a clue as to why :laugh:

              1 Reply Last reply
              0
              • N Nnamdi Onyeyiri

                LOL what i dont get is, why is it there, it says thaty it is never used, so why put it there :confused:


                :suss: Email: theeclypse@hotmail.com   URL: http://www.onyeyiri.co.uk
                :suss:"All programmers are playwrights and all computers are lousy actors."

                R Offline
                R Offline
                Roger Wright
                wrote on last edited by
                #8

                Nnamdi Onyeyiri wrote: it says thaty it is never used, so why put it there I'd say it's good engineering. At the beginning of a design you often don't know exactly what you need, so you design in a little extra. In electronics design, for instance, you build cables with more wires in them than needed, because a future mod may require another couple of signals. In a circuit, you leave a few unused gates in the design, just in case you need to expand it some. In software, you might not, at the beginning of a project, know exactly which parameters you may need to pass down the road. So your data structures might include a parameter or two that don't initially have a defined use. If in the course of development you discover a need for something unexpected, there's already a place to put it without extensive redesign of the whole body of code. I don't know if it's still a significant problem, but memory alignment used to be a hassle in earlier Intel architectures, and padding was used to ensure proper alignment on a word boundary. This Signature is Temporarily Out of Order

                D 1 Reply Last reply
                0
                • R Roger Wright

                  Nnamdi Onyeyiri wrote: it says thaty it is never used, so why put it there I'd say it's good engineering. At the beginning of a design you often don't know exactly what you need, so you design in a little extra. In electronics design, for instance, you build cables with more wires in them than needed, because a future mod may require another couple of signals. In a circuit, you leave a few unused gates in the design, just in case you need to expand it some. In software, you might not, at the beginning of a project, know exactly which parameters you may need to pass down the road. So your data structures might include a parameter or two that don't initially have a defined use. If in the course of development you discover a need for something unexpected, there's already a place to put it without extensive redesign of the whole body of code. I don't know if it's still a significant problem, but memory alignment used to be a hassle in earlier Intel architectures, and padding was used to ensure proper alignment on a word boundary. This Signature is Temporarily Out of Order

                  D Offline
                  D Offline
                  Daniel Turini
                  wrote on last edited by
                  #9

                  Roger Wright wrote: I'd say it's good engineering. At the beginning of a design you often don't know exactly what you need, so you design in a little extra. In electronics design, for instance, you build cables with more wires in them than needed, because a future mod may require another couple of signals. In a circuit, you leave a few unused gates in the design, just in case you need to expand it some. In software, you might not, at the beginning of a project, know exactly which parameters you may need to pass down the road. So your data structures might include a parameter or two that don't initially have a defined use. If in the course of development you discover a need for something unexpected, there's already a place to put it without extensive redesign of the whole body of code. I don't know if it's still a significant problem, but memory alignment used to be a hassle in earlier Intel architectures, and padding was used to ensure proper alignment on a word boundary. So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Why do the hell they didn't use the dwReserved in CoInitialize to set the apt. model ? Why creating a Ex function that has the same dwReserved, plus the apt. model choice ? Concussus surgo. When struck I rise.

                  T P R 3 Replies Last reply
                  0
                  • D Daniel Turini

                    Roger Wright wrote: I'd say it's good engineering. At the beginning of a design you often don't know exactly what you need, so you design in a little extra. In electronics design, for instance, you build cables with more wires in them than needed, because a future mod may require another couple of signals. In a circuit, you leave a few unused gates in the design, just in case you need to expand it some. In software, you might not, at the beginning of a project, know exactly which parameters you may need to pass down the road. So your data structures might include a parameter or two that don't initially have a defined use. If in the course of development you discover a need for something unexpected, there's already a place to put it without extensive redesign of the whole body of code. I don't know if it's still a significant problem, but memory alignment used to be a hassle in earlier Intel architectures, and padding was used to ensure proper alignment on a word boundary. So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Why do the hell they didn't use the dwReserved in CoInitialize to set the apt. model ? Why creating a Ex function that has the same dwReserved, plus the apt. model choice ? Concussus surgo. When struck I rise.

                    T Offline
                    T Offline
                    Tomasz Sowinski
                    wrote on last edited by
                    #10

                    Daniel Turini wrote: So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Windows system DLL which passes -1 instead of NULL to achieve something special? ;) Tomasz Sowinski -- http://www.shooltz.com

                    Free your mind and your ass will follow.

                    D 1 Reply Last reply
                    0
                    • D Daniel Turini

                      Roger Wright wrote: I'd say it's good engineering. At the beginning of a design you often don't know exactly what you need, so you design in a little extra. In electronics design, for instance, you build cables with more wires in them than needed, because a future mod may require another couple of signals. In a circuit, you leave a few unused gates in the design, just in case you need to expand it some. In software, you might not, at the beginning of a project, know exactly which parameters you may need to pass down the road. So your data structures might include a parameter or two that don't initially have a defined use. If in the course of development you discover a need for something unexpected, there's already a place to put it without extensive redesign of the whole body of code. I don't know if it's still a significant problem, but memory alignment used to be a hassle in earlier Intel architectures, and padding was used to ensure proper alignment on a word boundary. So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Why do the hell they didn't use the dwReserved in CoInitialize to set the apt. model ? Why creating a Ex function that has the same dwReserved, plus the apt. model choice ? Concussus surgo. When struck I rise.

                      P Offline
                      P Offline
                      pepe 0
                      wrote on last edited by
                      #11

                      Daniel Turini wrote: So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Why do the hell they didn't use the dwReserved in CoInitialize to set the apt. model ? Why creating a Ex function that has the same dwReserved, plus the apt. model choice ? To be consistent with their inconsistency. "640K ought to be enough for anybody." Bill Gates

                      1 Reply Last reply
                      0
                      • D Daniel Turini

                        Roger Wright wrote: I'd say it's good engineering. At the beginning of a design you often don't know exactly what you need, so you design in a little extra. In electronics design, for instance, you build cables with more wires in them than needed, because a future mod may require another couple of signals. In a circuit, you leave a few unused gates in the design, just in case you need to expand it some. In software, you might not, at the beginning of a project, know exactly which parameters you may need to pass down the road. So your data structures might include a parameter or two that don't initially have a defined use. If in the course of development you discover a need for something unexpected, there's already a place to put it without extensive redesign of the whole body of code. I don't know if it's still a significant problem, but memory alignment used to be a hassle in earlier Intel architectures, and padding was used to ensure proper alignment on a word boundary. So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Why do the hell they didn't use the dwReserved in CoInitialize to set the apt. model ? Why creating a Ex function that has the same dwReserved, plus the apt. model choice ? Concussus surgo. When struck I rise.

                        R Offline
                        R Offline
                        Roger Wright
                        wrote on last edited by
                        #12

                        Habit, maybe? I don't pretend to read minds. But I do always like to leave myself some wiggle room in a design, hardware or software, and if there's no pressing need to use up my spares during a mod, I'll keep them for later. This Signature is Temporarily Out of Order

                        1 Reply Last reply
                        0
                        • T Tomasz Sowinski

                          Daniel Turini wrote: So, explain me CoInitialize(NULL) and CoInitializeEx(NULL, APT_MODEL); Windows system DLL which passes -1 instead of NULL to achieve something special? ;) Tomasz Sowinski -- http://www.shooltz.com

                          Free your mind and your ass will follow.

                          D Offline
                          D Offline
                          Daniel Turini
                          wrote on last edited by
                          #13

                          Tomasz Sowinski wrote: Windows system DLL which passes -1 instead of NULL to achieve something special? I vote this for the most plausible explanation :) Or, for saving some typing: if you have a parameter, you don't need a local variable ;P Maybe I should start calling CoInitialize(rand()) Someday I may discover a totally new apartment model :) Concussus surgo. When struck I rise.

                          S 1 Reply Last reply
                          0
                          • D Daniel Turini

                            Tomasz Sowinski wrote: Windows system DLL which passes -1 instead of NULL to achieve something special? I vote this for the most plausible explanation :) Or, for saving some typing: if you have a parameter, you don't need a local variable ;P Maybe I should start calling CoInitialize(rand()) Someday I may discover a totally new apartment model :) Concussus surgo. When struck I rise.

                            S Offline
                            S Offline
                            Shog9 0
                            wrote on last edited by
                            #14

                            Daniel Turini wrote: Someday I may discover a totally new apartment model COINIT_EFFICIENCY Multiple objects can exist within the same apartment and easily share resources, but they steal each other's food and tie up bathrooms for too long in the morning...

                            Shog9

                            Let me hear you / Make decisions / Without your television

                            Join Team CodeProject

                            D 1 Reply Last reply
                            0
                            • S Shog9 0

                              Daniel Turini wrote: Someday I may discover a totally new apartment model COINIT_EFFICIENCY Multiple objects can exist within the same apartment and easily share resources, but they steal each other's food and tie up bathrooms for too long in the morning...

                              Shog9

                              Let me hear you / Make decisions / Without your television

                              Join Team CodeProject

                              D Offline
                              D Offline
                              Daniel Turini
                              wrote on last edited by
                              #15

                              Shog9 wrote: and tie up bathrooms for too long in the morning... This is what I call a CRITICAL_SECTION ! Concussus surgo. When struck I rise.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups