Zum Inhalt springen

Aufrufkonvention

aus Wikipedia, der freien Enzyklopädie

Unter Aufrufkonvention ({{#invoke:Vorlage:lang|full|CODE=en|SCRIPTING=Latn|SERVICE=englisch}}) versteht man die Methode, mit der in Computerprogrammen einem Unterprogramm Daten übergeben werden. In der Regel liegt es am Compiler, welche Konvention zum Einsatz kommt, so dass der Programmierer sich nicht damit beschäftigen muss. Bei der Entwicklung von Software in mehreren Sprachen ist es jedoch erforderlich, dass alle Module kompatible Aufrufkonventionen verwenden.

Aufrufkonventionen der x86-Architektur

Die x86-Architektur besitzt viele verschiedene Aufrufkonventionen.<ref name="history"/> Wegen der begrenzten Zahl an Registern werden bei vielen x86-Aufrufkonventionen die Argumente überwiegend über den Stack übertragen, während der Rückgabewert (oder ein Zeiger auf ihn) über ein Register zurückgegeben wird. Einige Konventionen nutzen Register für die ersten Argumente, was der Performance für einfache, häufig aufgerufene Funktionen zugutekommt (z. B. Funktionen, welche keine anderen aufrufen und in die dadurch nicht zurückgekehrt wird).

cdecl

Die so genannte cdecl-Aufrufkonvention wird von vielen C- und C++-Compilern verwendet, die auf der x86-Architektur laufen.<ref name=agnerfog/> Hierbei werden die Parameter nacheinander von rechts nach links auf den Stack gelegt. Rückgabewerte werden von der aufgerufenen Funktion in der Regel im EAX-Register der CPU abgelegt. Eine Ausnahme bilden Gleitkommazahlen, die in ST0 abgelegt werden. Die Register EAX, ECX und EDX stehen für die Verwendung innerhalb der Funktion zur Verfügung.<ref>IBM: Developing COBOL and PL/I applications for Windows, CDECL (Stand: 7. Dezember 2008)</ref> Wenn darüber hinaus andere Register verwendet werden sollen, muss der Inhalt dieser Register von der Funktion gesichert (meist durch Ablegen auf den Stack) und vor dem Rücksprung wiederhergestellt werden.

Beispiel in C-Code:

<syntaxhighlight lang="c"> int function(int, int, int); /* Prototyp der Funktion */ int a, b, c, x; /* Variablendeklaration */

x = function(a, b, c); /* Funktionsaufruf */ </syntaxhighlight>

Der Funktionsaufruf in der letzten Zeile erzeugt den folgenden x86-Assembler-Code (in MASM-Syntax):

<syntaxhighlight lang="asm">

Argumente in umgekehrter Reihenfolge auf den Stack legen

push c push b push a

Funktion aufrufen

call function

Stack-Pointer zurücksetzen

add esp, 12

Rückgabewert der Funktion sichern

mov x, eax </syntaxhighlight>

Der Aufrufer baut nach der Rückkehr den Stack selbst wieder ab, indem der Stack-Pointer (gespeichert im ESP-Register) so gesetzt wird, dass er wieder auf die Position im Speicher zeigt, auf die er vor den Push-Operationen zeigte. Im Beispiel oben werden drei Integer, also 12 Bytes, auf den Stack gelegt. Da der Stack in x86-Systemen von oben nach unten wächst, wird dabei ESP um 12 dekrementiert. Um wieder auf die Position von vorher zu kommen, muss im Anschluss an den Aufruf wieder 12 auf den Wert im ESP-Register addiert werden. So können auch Funktionen mit variabler Argumenten-Anzahl und Länge realisiert werden.

Die cdecl-Aufrufkonvention ist gewöhnlich die Standard-Aufrufkonvention eines x86-C-Compilers. Allerdings verfügen viele Compiler über die Option, eine andere Konvention zu verwenden.

Eine Funktion kann manuell mit folgender Syntax als cdecl-Funktion deklariert werden:

<syntaxhighlight lang="c"> int _cdecl function(int, int, int); </syntaxhighlight>

stdcall

Die stdcall-Aufrufkonvention ist de facto die Standard-Aufrufkonvention für die Microsoft Win32-API.<ref name=msdn/> Funktionsparameter werden von rechts nach links übergeben. Die Register EAX, ECX, und EDX sind reserviert für die Verwendung innerhalb der Funktion, werden also unter Umständen verändert. Rückgabewerte werden im EAX-Register zurückgegeben. Anders als bei cdecl bereinigt die aufgerufene Funktion den Stack, nicht der Aufrufer. Wegen dieser Tatsache unterstützen stdcall-Funktionen keine variablen Argumentenlisten.

Beispiel (Deklaration einer stdcall-Funktion in C):

<syntaxhighlight lang="c"> int _stdcall function(int, int, int); </syntaxhighlight>

Funktionen, die die stdcall-Methode benutzen, sind in Assembler-Code leicht zu erkennen, da sie vor dem Rücksprung zum aufrufenden Code den Stack immer selbst abbauen. Der x86-Befehl ret erlaubt einen optionalen Parameter, der die Größe des abzubauenden Stacks angibt.

Beispiel: Beim Rücksprung 12 Byte von Stack entfernen.

<syntaxhighlight lang="asm"> ret 12 </syntaxhighlight>

Pascal

Bei der Pascal-Aufrufkonvention werden die Parameter, im Gegensatz zur cdecl-Konvention, in der Reihenfolge von links nach rechts auf dem Stack abgelegt, und die aufgerufene Funktion muss den Stack-Pointer vor dem Rücksprung zum aufrufenden Code selbst zurücksetzen.<ref name=agnerfog/>

Register (FastCall)

Die Register- oder FastCall-Aufrufkonvention ist compilerspezifisch.<ref name=agnerfog/> Im Allgemeinen besagt sie, dass die ersten zwei oder drei Funktions-Argumente mit einer Größe von 32 Bit oder weniger in den Registern EAX, EDX, und möglicherweise auch ECX übergeben werden anstatt über den Stack. Die übrigen Argumente werden von rechts nach links auf dem Stack abgelegt, ähnlich wie bei cdecl. Der Borland- und Delphi-Compiler hingegen legen die übrigen Argumente wie bei der Pascal-Aufrufkonvention von links nach rechts auf dem Stack ab.<ref>Aufrufkonventionen in Delphi</ref> Die Rückgabewerte werden in den Registern AL, AX, oder EAX zurückgegeben. Bei x64-Systemen werden bis zu vier Argumente mit 64 bit oder weniger in speziellen Registern übergeben, der Rest auf dem Stack.

Diese Konvention wird unter anderem im Linux-Kernel benutzt, um Argumente an System-Calls zu übergeben. Die System-Call-Nummer, die jeden möglichen Aufruf eindeutig bestimmt, wird im EAX-Register abgelegt, während alle Argumente an die Kernel-Funktion in den Registern EBX, ECX, EDX, ESI und EDI gespeichert werden. Müssen mehr Argumente übergeben werden, wird einfach eine Datenstruktur mit den benötigten Elementen im Speicher abgelegt und ein Zeiger auf diese als Argument an die Funktion weitergereicht.

thiscall

Diese Aufrufkonvention wird für den Aufruf nicht-statischer C++-Member-Funktionen benutzt. Es gibt zwei Hauptversionen von thiscall, die abhängig vom Compiler und abhängig davon benutzt werden, ob die Funktion variable Argumentlisten unterstützt oder nicht.

Beim GCC ist thiscall fast identisch mit cdecl, der Aufrufer bereinigt den Stack und die Parameter werden von rechts nach links auf dem Stack abgelegt. Der Unterschied liegt im this-Zeiger, der als letztes Argument auf dem Stack abgelegt wird, so, als wäre er der erste zu übergebende Parameter der Funktion.

Beim Microsoft Visual C++ Compiler wird der this-Zeiger im ECX-Register übergeben und die aufgerufene Funktion bereinigt den Stack, es wird also wie bei der stdcall Aufrufkonvention verfahren. Werden hingegen variable Argumentlisten verwendet, bereinigt der Aufrufer den Stack (also wie bei cdecl).

Die thiscall-Aufrufkonvention kann explizit nur bei Microsoft Visual C++ 2005 und späteren Versionen verwendet werden und ermöglicht den Aufruf von Elementfunktionen aus nativem Code heraus, wenn Klassen standardmäßig die clrcall-Aufrufkonvention verwenden (managed code).

Übersichtstabelle Aufrufkonventionen

Architektur Aufrufkonvention Betriebssystem, Compiler Parameter in Registern Parameterreihenfolge auf dem Stack Stack wird aufgeräumt von... Rückgabeparameter, Kommentar
16 bit cdecl C caller
pascal Pascal function
fastcall Microsoft (non-member) ax, dx, bx Pascal function return pointer in bx
fastcall Microsoft (member function) ax, dx Pascal function „this“ auf der niedrigen Stack-Address. return pointer in ax
fastcall Borland ax, dx, bx Pascal function „this“ auf der niedrigen Stack-Address. return ptr auf der oberen Stack-Address
Watcom ax, dx, bx, cx C function return pointer in si
32bit cdecl C caller
GNU-Compiler C hybrid Stack möglicherweise auf 16 aligned.
fastcall Microsoft ecx, edx C function return pointer auf dem Stack falls nicht member function
fastcall Gnu ecx, edx C function
fastcall Borland eax, edx, ecx Pascal function
thiscall Microsoft ecx C function default für member functions
Watcom eax, edx, ebx, ecx C function return pointer in esi
64bit Microsoft x64 calling convention<ref name="ms"/> Windows (Microsoft-Compiler, Intel-Compiler) rcx/xmm0, rdx/xmm1, r8/xmm2, r9/xmm3 C caller Stack aligned auf 16. 32 bytes shadow space auf dem stack. Die spezifizierten 8 Register können nur für Parameter 1, 2, 3 und 4 verwendet werden (z. B. entweder rcx oder xmm0, aber nicht beide, deswegen insgesamt nur 4).
AMD64 ABI convention<ref name="AMD"/> Linux, BSD, Mac (Gnu-Compiler, Intel-Compiler) rdi, rsi, rdx, rcx, r8, r9, xmm0-7 C caller Stack aligned auf 16. Red zone unter dem Stack.

<ref name=agnerfog />

Einzelnachweise

<references> <ref name="agnerfog"> {{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:Agner Fog|Agner Fog: }}{{#if:|{{#if:Calling conventions for different C++ compilers and operating systems|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=Calling conventions for different C++ compilers and operating systems}}]{{#if:PDF; 416 kB| (PDF; 416 kB)}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://www.agner.org/optimize/calling_conventions.pdf%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=Calling conventions for different C++ compilers and operating systems}}}}|[{{#invoke:URLutil|getNormalized|1=https://www.agner.org/optimize/calling_conventions.pdf}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=Calling conventions for different C++ compilers and operating systems}}}}]}}{{#if:PDF; 416 kB| (PDF; 416 kB{{#if:2010-02-16{{#if: 2010-08-30 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://www.agner.org/optimize/calling_conventions.pdf%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://www.agner.org/optimize/calling_conventions.pdf}}%7C%7C}}}}{{#if:Calling conventions for different C++ compilers and operating systems|{{#if:{{#invoke:WLink|isValidLinktext|1=Calling conventions for different C++ compilers and operating systems|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: | {{{hrsg}}}{{#if: 2010-02-16|,|{{#if: 2010-08-30 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: 2010-02-16| {{#if:{{#invoke:DateTime|format|2010-02-16|noerror=1}}
            |{{#invoke:DateTime|format|2010-02-16|T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=2010-02-16|class=Zitationswartung}} }}{{#if: |,|{{#if: 2010-08-30 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2010-08-30 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:2010-02-16|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:450295||(?)}}}}}}{{#if: 2010-08-30|;}}}}{{#if: 2010-08-30| {{#if:2010-02-16{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2010-08-30 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2010-08-30|class=Zitationswartung}} }} {{#invoke:DateTime|format|2010-08-30|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:2010-02-16{{#if: 2010-08-30 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if:PDF; 416 kB | |  (}}
       }}{{#ifeq:{{#if:en|en|de}}|de||
          {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 2010-02-16{{#if: 2010-08-30 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: {{{zitat}}}

   | {{#if: 
       | {{#if: {{{zitat}}}
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: https://www.agner.org/optimize/calling_conventions.pdf
       | {{#if:  | [1] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://www.agner.org/optimize/calling_conventions.pdf
      | {{#if:{{#invoke:URLutil|isWebURL|https://www.agner.org/optimize/calling_conventions.pdf}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.agner.org/optimize/calling_conventions.pdf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://www.agner.org/optimize/calling_conventions.pdf
       | {{#if:{{#invoke:URLutil|isWebURL|https://www.agner.org/optimize/calling_conventions.pdf}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://www.agner.org/optimize/calling_conventions.pdf }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: https://www.agner.org/optimize/calling_conventions.pdf
       | {{#if:  | [2] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://www.agner.org/optimize/calling_conventions.pdf
      | {{#if:{{#invoke:URLutil|isWebURL|https://www.agner.org/optimize/calling_conventions.pdf}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.agner.org/optimize/calling_conventions.pdf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://www.agner.org/optimize/calling_conventions.pdf
       | {{#if:{{#invoke:URLutil|isWebURL|https://www.agner.org/optimize/calling_conventions.pdf}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://www.agner.org/optimize/calling_conventions.pdf }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }} </ref> <ref name="msdn"> {{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|{{{autor}}}: }}{{#if:|{{#if:___stdcall|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=___stdcall}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=___stdcall}}}}%7C[{{#invoke:URLutil|getNormalized|1=http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=___stdcall}}}}]}}{{#if:| ({{{format}}}{{#if:msdn.microsoft.com2010-02-16{{#if: 2010-09-24 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx}}%7C%7C}}}}{{#if:___stdcall|{{#if:{{#invoke:WLink|isValidLinktext|1=___stdcall|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: msdn.microsoft.com| msdn.microsoft.com{{#if: 2010-02-16|,|{{#if: 2010-09-24 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: 2010-02-16| {{#if:{{#invoke:DateTime|format|2010-02-16|noerror=1}}
            |{{#invoke:DateTime|format|2010-02-16|T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=2010-02-16|class=Zitationswartung}} }}{{#if: |,|{{#if: 2010-09-24 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2010-09-24 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:2010-02-16msdn.microsoft.com|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:450295||(?)}}}}}}{{#if: 2010-09-24|;}}}}{{#if: 2010-09-24| {{#if:2010-02-16msdn.microsoft.com{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2010-09-24 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2010-09-24|class=Zitationswartung}} }} {{#invoke:DateTime|format|2010-09-24|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:msdn.microsoft.com2010-02-16{{#if: 2010-09-24 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if: | |  (}}
       }}{{#ifeq:{{#if:en|en|de}}|de||
          {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 2010-02-16{{#if: 2010-09-24 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: {{{zitat}}}

   | {{#if: 
       | {{#if: {{{zitat}}}
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx
       | {{#if:  | [3] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx
      | {{#if:{{#invoke:URLutil|isWebURL|http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx
       | {{#if:{{#invoke:URLutil|isWebURL|http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx
       | {{#if:  | [4] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx
      | {{#if:{{#invoke:URLutil|isWebURL|http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx
       | {{#if:{{#invoke:URLutil|isWebURL|http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.80%29.aspx }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }} </ref> <ref name="AMD">{{#invoke:Vorlage:Literatur|f}} <templatestyles src="Webarchiv/styles.css" />{{#if:20110716085220

      | {{#ifeq: 20110716085220 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Online | {{#invoke:WLink|getEscapedTitle|Online}} | {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20110716085220}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Online | {{#invoke:WLink|getEscapedTitle|Online}} | {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-03-11 02:51:41 InternetArchiveBot | 2023-03-11 02:51:41 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20110716085220}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Online | {{#invoke:WLink|getEscapedTitle|Online}} | {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-03-11 02:51:41 InternetArchiveBot | 2023-03-11 02:51:41 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Online | {{#invoke:WLink|getEscapedTitle|Online}} | {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-03-11 02:51:41 InternetArchiveBot | 2023-03-11 02:51:41 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Online | {{#invoke:WLink|getEscapedTitle|Online}} | {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf}} }} (Memento{{#if: {{#if: 2023-03-11 02:51:41 InternetArchiveBot | 2023-03-11 02:51:41 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Online | {{#invoke:WLink|getEscapedTitle|Online}} | {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf}} }}  
                 }}}}}}}}{{#if:2023-03-11 02:51:41 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20110716085220|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.x86-64.org/documentation/abi.pdf}}
    || {{#if:  || }}
  }}{{#if: Online
    | {{#if: {{#invoke:WLink|isBracketedLink|Online}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.x86-64.org/documentation/abi.pdf%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.x86-64.org/documentation/abi.pdf%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.x86-64.org/documentation/abi.pdf }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>

<ref name="history"> {{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:Raymond Chen|Raymond Chen: }}{{#if:|{{#if:The history of calling conventions, part 1|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=The history of calling conventions, part 1}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=The history of calling conventions, part 1}}}}|[{{#invoke:URLutil|getNormalized|1=http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=The history of calling conventions, part 1}}}}]}}{{#if:| ({{{format}}}{{#if:The Old New Thing2004-01-02{{#if: 2010-09-26 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx}}%7C%7C}}}}{{#if:The history of calling conventions, part 1|{{#if:{{#invoke:WLink|isValidLinktext|1=The history of calling conventions, part 1|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: The Old New Thing| The Old New Thing{{#if: 2004-01-02|,|{{#if: 2010-09-26 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: 2004-01-02| {{#if:{{#invoke:DateTime|format|2004-01-02|noerror=1}}
            |{{#invoke:DateTime|format|2004-01-02|T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=2004-01-02|class=Zitationswartung}} }}{{#if: |,|{{#if: 2010-09-26 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2010-09-26 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:2004-01-02The Old New Thing|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:450295||(?)}}}}}}{{#if: 2010-09-26|;}}}}{{#if: 2010-09-26| {{#if:2004-01-02The Old New Thing{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2010-09-26 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2010-09-26|class=Zitationswartung}} }} {{#invoke:DateTime|format|2010-09-26|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:The Old New Thing2004-01-02{{#if: 2010-09-26 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if: | |  (}}
       }}{{#ifeq:{{#if:en|en|de}}|de||
          {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 2004-01-02{{#if: 2010-09-26 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: {{{zitat}}}

   | {{#if: 
       | {{#if: {{{zitat}}}
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx
       | {{#if:  | [5] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx
      | {{#if:{{#invoke:URLutil|isWebURL|http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx
       | {{#if:{{#invoke:URLutil|isWebURL|http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx
       | {{#if:  | [6] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx
      | {{#if:{{#invoke:URLutil|isWebURL|http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx
       | {{#if:{{#invoke:URLutil|isWebURL|http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[http://blogs.msdn.com/b/oldnewthing/archive/2004/01/02/47184.aspx }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }} </ref> <ref name="ms"> {{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|{{{autor}}}: }}{{#if:|{{#if:x64 calling convention|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=x64 calling convention}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=x64 calling convention}}}}|[{{#invoke:URLutil|getNormalized|1=https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=x64 calling convention}}}}]}}{{#if:| ({{{format}}}{{#if:Microsoft2021-08-03{{#if: 2021-12-06 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170}}%7C%7C}}}}{{#if:x64 calling convention|{{#if:{{#invoke:WLink|isValidLinktext|1=x64 calling convention|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: Microsoft| Microsoft{{#if: 2021-08-03|,|{{#if: 2021-12-06 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: 2021-08-03| {{#if:{{#invoke:DateTime|format|2021-08-03|noerror=1}}
            |{{#invoke:DateTime|format|2021-08-03|T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=2021-08-03|class=Zitationswartung}} }}{{#if: |,|{{#if: 2021-12-06 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2021-12-06 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:2021-08-03Microsoft|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:450295||(?)}}}}}}{{#if: 2021-12-06|;}}}}{{#if: 2021-12-06| {{#if:2021-08-03Microsoft{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2021-12-06 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2021-12-06|class=Zitationswartung}} }} {{#invoke:DateTime|format|2021-12-06|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:Microsoft2021-08-03{{#if: 2021-12-06 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if: | |  (}}
       }}{{#ifeq:{{#if:en|en|de}}|de||
          {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 2021-08-03{{#if: 2021-12-06 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: {{{zitat}}}

   | {{#if: 
       | {{#if: {{{zitat}}}
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
       | {{#if:  | [7] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
      | {{#if:{{#invoke:URLutil|isWebURL|https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170 Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
       | {{#if:{{#invoke:URLutil|isWebURL|https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170 }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
       | {{#if:  | [8] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
      | {{#if:{{#invoke:URLutil|isWebURL|https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170 Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
       | {{#if:{{#invoke:URLutil|isWebURL|https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170 }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }} </ref> </references>