| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623 |
- /**
- * Salieri
- * v1
- *
- * Salieri is a header which contains definitions for the Microsoft
- * source-code annotation language (SAL). It is *not* an
- * implementation of SAL; that's for compilers and static analyzers.
- * For the most part we just define macros to nothing.
- *
- * The goal is to allow projects to use SAL without creating a hard
- * dependency on it (i.e., you can still use compilers other than
- * MSVC). Simply include `salieri.h`, which you can/should distribute
- * with your code, instead of `<sal.h>`.
- *
- * Multiple copies of Salieri can be included safely, even different
- * versions. Including a newer version will simiply replace older
- * definitions with newer ones, and including older versions will have
- * no effect.
- *
- * I don't think anything in here is copyrightable, but just in case:
- *
- * To the extent possible under law, the author(s) have dedicated
- * all copyright and related and neighboring rights to this software
- * to the public domain worldwide. This software is distributed
- * without any warranty.
- *
- * For details, see <http://creativecommons.org/publicdomain/zero/1.0/>.
- */
- #if !defined(SALIERI_VERSION) || (SALIERI_VERSION < 1)
- /* TODO: figure out when <sal.h> first appeared. */
- #if defined(_MSC_VER)
- # include <sal.h>
- #endif
- /* The main concern for the implementation is that we don't want to
- * replace annotations from <sal.h>, but we *do* want to replace
- * annotations from older versions of Salieri. To keep track of
- * everything, when we (Salieri) define a SAL annotation, we also
- * define SALIERI_DEFINED_${annotation} (with the leading and trailing
- * '-' stripped). Then, before redefining an annotation macro we
- * check to make sure SALIERI_DEFINED_${annontation} is defined.
- *
- * This means you can safely use Salieri in a public header in your
- * project.
- */
- /* Function Parameters & Return Value
- *
- * https://msdn.microsoft.com/en-us/library/hh916382.aspx
- *****/
- /* Pointer Parameters */
- #if defined(_In_) && defined(SALIERI_DEFINED_In)
- # undef _In_
- #endif
- #if !defined(_In_)
- # define _In_
- # define SALIERI_DEFINED_In
- #endif
- #if defined(__in_bcount) && defined(SALIERI_DEFINED__in_bcount)
- # undef __in_bcount
- #endif
- #if !defined(__in_bcount)
- # define __in_bcount(s)
- # define SALIERI_DEFINED__in_bcount(s)
- #endif
- #if defined(__in_ecount) && defined(SALIERI_DEFINED__in_ecount)
- # undef __in_ecount
- #endif
- #if !defined(__in_ecount)
- # define __in_ecount(s)
- # define SALIERI_DEFINED__in_ecount(s)
- #endif
- #if defined(__in_ecount_opt) && defined(SALIERI_DEFINED__in_ecount_opt)
- # undef __in_ecount_opt
- #endif
- #if !defined(__in_ecount_opt)
- # define __in_ecount_opt(s)
- # define SALIERI_DEFINED__in_ecount_opt(s)
- #endif
- #if defined(_Out_) && defined(SALIERI_DEFINED_Out)
- # undef _Out_
- #endif
- #if !defined(_Out_)
- # define _Out_
- # define SALIERI_DEFINED_Out
- #endif
- #if defined(_Inout_) && defined(SALIERI_DEFINED_Inout)
- # undef _Inout_
- #endif
- #if !defined(_Inout_)
- # define _Inout_
- # define SALIERI_DEFINED_Inout
- #endif
- #if defined(_In_z_) && defined(SALIERI_DEFINED_In_z)
- # undef _In_z_
- #endif
- #if !defined(_In_z_)
- # define _In_z_
- # define SALIERI_DEFINED_In_z
- #endif
- #if defined(_Inout_z_) && defined(SALIERI_DEFINED_Inout_z)
- # undef _Inout_z_
- #endif
- #if !defined(_Inout_z_)
- # define _Inout_z_
- # define SALIERI_DEFINED_Inout_z
- #endif
- #if defined(_In_reads_) && defined(SALIERI_DEFINED_In_reads)
- # undef _In_reads_
- #endif
- #if !defined(_In_reads_)
- # define _In_reads_(s)
- # define SALIERI_DEFINED_In_reads
- #endif
- #if defined(_In_reads_bytes_) && defined(SALIERI_DEFINED_In_reads_bytes)
- # undef _In_reads_bytes_
- #endif
- #if !defined(_In_reads_bytes_)
- # define _In_reads_bytes_(s)
- # define SALIERI_DEFINED_In_reads_bytes
- #endif
- #if defined(_In_reads_z_) && defined(SALIERI_DEFINED_In_reads_z)
- # undef _In_reads_z_
- #endif
- #if !defined(_In_reads_z_)
- # define _In_reads_z_(s)
- # define SALIERI_DEFINED_In_reads_z
- #endif
- #if defined(_In_reads_or_z_) && defined(SALIERI_DEFINED_In_reads_or_z)
- # undef _In_reads_or_z_
- #endif
- #if !defined(_In_reads_or_z_)
- # define _In_reads_or_z_(s)
- # define SALIERI_DEFINED_In_reads_or_z
- #endif
- #if defined(_Out_writes_) && defined(SALIERI_DEFINED_Out_writes)
- # undef _Out_writes_
- #endif
- #if !defined(_Out_writes_)
- # define _Out_writes_(s)
- # define SALIERI_DEFINED_Out_writes
- #endif
- #if defined(_Out_writes_bytes_) && defined(SALIERI_DEFINED_Out_writes_bytes)
- # undef _Out_writes_bytes_
- #endif
- #if !defined(_Out_writes_bytes_)
- # define _Out_writes_bytes_(s)
- # define SALIERI_DEFINED_Out_writes_bytes
- #endif
- #if defined(_Out_writes_bytes_opt_) && defined(SALIERI_DEFINED_Out_writes_bytes_opt_)
- # undef _Out_writes_bytes_opt_
- #endif
- #if !defined(_Out_writes_bytes_opt_)
- # define _Out_writes_bytes_opt_(s)
- # define SALIERI_DEFINED_Out_writes_bytes_opt_
- #endif
- #if defined(_Out_writes_z_) && defined(SALIERI_DEFINED_Out_writes_z)
- # undef _Out_writes_z_
- #endif
- #if !defined(_Out_writes_z_)
- # define _Out_writes_z_(s)
- # define SALIERI_DEFINED_Out_writes_z
- #endif
- #if defined(_Inout_updates_) && defined(SALIERI_DEFINED_Inout_updates)
- # undef _Inout_updates_
- #endif
- #if !defined(_Inout_updates_)
- # define _Inout_updates_(s)
- # define SALIERI_DEFINED_Inout_updates
- #endif
- #if defined(_Inout_updates_bytes_) && defined(SALIERI_DEFINED_Inout_updates_bytes)
- # undef _Inout_updates_bytes_
- #endif
- #if !defined(_Inout_updates_bytes_)
- # define _Inout_updates_bytes_(s)
- # define SALIERI_DEFINED_Inout_updates_bytes
- #endif
- #if defined(_Inout_updates_z_) && defined(SALIERI_DEFINED_Inout_updates_z)
- # undef _Inout_updates_z_
- #endif
- #if !defined(_Inout_updates_z_)
- # define _Inout_updates_z_(s)
- # define SALIERI_DEFINED_Inout_updates_z
- #endif
- #if defined(_Out_writes_to_) && defined(SALIERI_DEFINED_Out_writes_to)
- # undef _Out_writes_to_
- #endif
- #if !defined(_Out_writes_to_)
- # define _Out_writes_to_(s,c)
- # define SALIERI_DEFINED_Out_writes_to
- #endif
- #if defined(_Out_writes_bytes_to_) && defined(SALIERI_DEFINED_Out_writes_bytes_to)
- # undef _Out_writes_bytes_to_
- #endif
- #if !defined(_Out_writes_bytes_to_)
- # define _Out_writes_bytes_to_(s,c)
- # define SALIERI_DEFINED_Out_writes_bytes_to
- #endif
- #if defined(_Out_writes_all_) && defined(SALIERI_DEFINED_Out_writes_all)
- # undef _Out_writes_all_
- #endif
- #if !defined(_Out_writes_all_)
- # define _Out_writes_all_(s)
- # define SALIERI_DEFINED_Out_writes_all
- #endif
- #if defined(_Out_writes_bytes_all_) && defined(SALIERI_DEFINED_Out_writes_bytes_all)
- # undef _Out_writes_bytes_all_
- #endif
- #if !defined(_Out_writes_bytes_all_)
- # define _Out_writes_bytes_all_(s)
- # define SALIERI_DEFINED_Out_writes_bytes_all
- #endif
- #if defined(_In_updates_to_) && defined(SALIERI_DEFINED_In_updates_to)
- # undef _In_updates_to_
- #endif
- #if !defined(_In_updates_to_)
- # define _In_updates_to_(s,c)
- # define SALIERI_DEFINED_In_updates_to
- #endif
- #if defined(_In_updates_bytes_to_) && defined(SALIERI_DEFINED_In_updates_bytes_to)
- # undef _In_updates_bytes_to_
- #endif
- #if !defined(_In_updates_bytes_to_)
- # define _In_updates_bytes_to_(s,c)
- # define SALIERI_DEFINED_In_updates_bytes_to
- #endif
- #if defined(_Inout_updates_z_) && defined(SALIERI_DEFINED_Inout_updates_z)
- # undef _Inout_updates_z_
- #endif
- #if !defined(_Inout_updates_z_)
- # define _Inout_updates_z_(s)
- # define SALIERI_DEFINED_Inout_updates_z
- #endif
- #if defined(_Out_writes_to_) && defined(SALIERI_DEFINED_Out_writes_to)
- # undef _Out_writes_to_
- #endif
- #if !defined(_Out_writes_to_)
- # define _Out_writes_to_(s,c)
- # define SALIERI_DEFINED_Out_writes_to
- #endif
- #if defined(_Out_writes_bytes_to_) && defined(SALIERI_DEFINED_Out_writes_bytes_to)
- # undef _Out_writes_bytes_to_
- #endif
- #if !defined(_Out_writes_bytes_to_)
- # define _Out_writes_bytes_to_(s,c)
- # define SALIERI_DEFINED_Out_writes_bytes_to
- #endif
- #if defined(_Out_writes_all_) && defined(SALIERI_DEFINED_Out_writes_all)
- # undef _Out_writes_all_
- #endif
- #if !defined(_Out_writes_all_)
- # define _Out_writes_all_(s)
- # define SALIERI_DEFINED_Out_writes_all
- #endif
- #if defined(_Out_writes_bytes_all_) && defined(SALIERI_DEFINED_Out_writes_bytes_all)
- # undef _Out_writes_bytes_all_
- #endif
- #if !defined(_Out_writes_bytes_all_)
- # define _Out_writes_bytes_all_(s)
- # define SALIERI_DEFINED_Out_writes_bytes_all
- #endif
- #if defined(_Inout_updates_to_) && defined(SALIERI_DEFINED_Inout_updates_to)
- # undef _Inout_updates_to_
- #endif
- #if !defined(_Inout_updates_to_)
- # define _Inout_updates_to_(s,c)
- # define SALIERI_DEFINED_Inout_updates_to
- #endif
- #if defined(_Inout_updates_bytes_to_) && defined(SALIERI_DEFINED_Inout_updates_bytes_to)
- # undef _Inout_updates_bytes_to_
- #endif
- #if !defined(_Inout_updates_bytes_to_)
- # define _Inout_updates_bytes_to_(s,c)
- # define SALIERI_DEFINED_Inout_updates_bytes_to
- #endif
- #if defined(_Inout_updates_all_) && defined(SALIERI_DEFINED_Inout_updates_all)
- # undef _Inout_updates_all_
- #endif
- #if !defined(_Inout_updates_all_)
- # define _Inout_updates_all_(s)
- # define SALIERI_DEFINED_Inout_updates_all
- #endif
- #if defined(_Inout_updates_bytes_all_) && defined(SALIERI_DEFINED_Inout_updates_bytes_all)
- # undef _Inout_updates_bytes_all_
- #endif
- #if !defined(_Inout_updates_bytes_all_)
- # define _Inout_updates_bytes_all_(s)
- # define SALIERI_DEFINED_Inout_updates_bytes_all
- #endif
- #if defined(_In_reads_to_ptr_) && defined(SALIERI_DEFINED_In_reads_to_ptr)
- # undef _In_reads_to_ptr_
- #endif
- #if !defined(_In_reads_to_ptr_)
- # define _In_reads_to_ptr_(p)
- # define SALIERI_DEFINED_In_reads_to_ptr
- #endif
- #if defined(_In_reads_to_ptr_z_) && defined(SALIERI_DEFINED_In_reads_to_ptr_z)
- # undef _In_reads_to_ptr_z_
- #endif
- #if !defined(_In_reads_to_ptr_z_)
- # define _In_reads_to_ptr_z_(p)
- # define SALIERI_DEFINED_In_reads_to_ptr_z
- #endif
- #if defined(_Out_writes_to_ptr_) && defined(SALIERI_DEFINED_Out_writes_to_ptr)
- # undef _Out_writes_to_ptr_
- #endif
- #if !defined(_Out_writes_to_ptr_)
- # define _Out_writes_to_ptr_(p)
- # define SALIERI_DEFINED_Out_writes_to_ptr
- #endif
- #if defined(_Out_writes_to_ptr_z_) && defined(SALIERI_DEFINED_Out_writes_to_ptr_z)
- # undef _Out_writes_to_ptr_z_
- #endif
- #if !defined(_Out_writes_to_ptr_z_)
- # define _Out_writes_to_ptr_z_(p)
- # define SALIERI_DEFINED_Out_writes_to_ptr_z
- #endif
- /* Optional Pointer Parameters */
- #if defined(_In_opt_) && defined(SALIERI_DEFINED_In_opt)
- # undef _In_opt_
- #endif
- #if !defined(_In_opt_)
- # define _In_opt_
- # define SALIERI_DEFINED_In_opt
- #endif
- #if defined(_Out_opt_) && defined(SALIERI_DEFINED_Out_opt)
- # undef _Out_opt_
- #endif
- #if !defined(_Out_opt_)
- # define _Out_opt_
- # define SALIERI_DEFINED_Out_opt
- #endif
- #if defined(_Inout_opt_) && defined(SALIERI_DEFINED_Inout_opt)
- # undef _Inout_opt_
- #endif
- #if !defined(_Inout_opt_)
- # define _Inout_opt_
- # define SALIERI_DEFINED_Inout_opt
- #endif
- #if defined(_In_opt_z_) && defined(SALIERI_DEFINED_In_opt_z)
- # undef _In_opt_z_
- #endif
- #if !defined(_In_opt_z_)
- # define _In_opt_z_
- # define SALIERI_DEFINED_In_opt_z
- #endif
- #if defined(_Inout_opt_z_) && defined(SALIERI_DEFINED_Inout_opt_z)
- # undef _Inout_opt_z_
- #endif
- #if !defined(_Inout_opt_z_)
- # define _Inout_opt_z_
- # define SALIERI_DEFINED_Inout_opt_z
- #endif
- #if defined(_Inout_opt_bytecount_) && defined(SALIERI_DEFINED_Inout_opt_bytecount_)
- # undef _Inout_opt_bytecount_
- #endif
- #if !defined(_Inout_opt_bytecount_)
- # define _Inout_opt_bytecount_(s)
- # define SALIERI_DEFINED_Inout_opt_bytecount_(s)
- #endif
- #if defined(_In_reads_opt_) && defined(SALIERI_DEFINED_In_reads_opt)
- # undef _In_reads_opt_
- #endif
- #if !defined(_In_reads_opt_)
- # define _In_reads_opt_(s)
- # define SALIERI_DEFINED_In_reads_opt
- #endif
- #if defined(_In_reads_bytes_opt_) && defined(SALIERI_DEFINED_In_reads_bytes_opt)
- # undef _In_reads_bytes_opt_
- #endif
- #if !defined(_In_reads_bytes_opt_)
- # define _In_reads_bytes_opt_(s)
- # define SALIERI_DEFINED_In_reads_bytes_opt
- #endif
- #if defined(_In_reads_opt_z_) && defined(SALIERI_DEFINED_In_reads_opt_z)
- # undef _In_reads_opt_z_
- #endif
- #if !defined(_In_reads_opt_z_)
- # define _In_reads_opt_z_(s)
- # define SALIERI_DEFINED_In_reads_opt_z
- #endif
- #if defined(_Out_writes_opt_) && defined(SALIERI_DEFINED_Out_writes_opt)
- # undef _Out_writes_opt_
- #endif
- #if !defined(_Out_writes_opt_)
- # define _Out_writes_opt_(s)
- # define SALIERI_DEFINED_Out_writes_opt
- #endif
- #if defined(_Out_writes_bytes_) && defined(SALIERI_DEFINED_Out_writes_bytes)
- # undef _Out_writes_bytes_
- #endif
- #if !defined(_Out_writes_bytes_)
- # define _Out_writes_bytes_(s)
- # define SALIERI_DEFINED_Out_writes_bytes
- #endif
- #if defined(_Out_writes_opt_z_) && defined(SALIERI_DEFINED_Out_writes_opt_z)
- # undef _Out_writes_opt_z_
- #endif
- #if !defined(_Out_writes_opt_z_)
- # define _Out_writes_opt_z_(s)
- # define SALIERI_DEFINED_Out_writes_opt_z
- #endif
- #if defined(_Inout_updates_opt_) && defined(SALIERI_DEFINED_Inout_updates_opt)
- # undef _Inout_updates_opt_
- #endif
- #if !defined(_Inout_updates_opt_)
- # define _Inout_updates_opt_(s)
- # define SALIERI_DEFINED_Inout_updates_opt
- #endif
- #if defined(_Inout_updates_bytes_opt_) && defined(SALIERI_DEFINED_Inout_updates_bytes_opt)
- # undef _Inout_updates_bytes_opt_
- #endif
- #if !defined(_Inout_updates_bytes_opt_)
- # define _Inout_updates_bytes_opt_(s)
- # define SALIERI_DEFINED_Inout_updates_bytes_opt
- #endif
- #if defined(_Inout_updates_opt_z_) && defined(SALIERI_DEFINED_Inout_updates_opt_z)
- # undef _Inout_updates_opt_z_
- #endif
- #if !defined(_Inout_updates_opt_z_)
- # define _Inout_updates_opt_z_(s)
- # define SALIERI_DEFINED_Inout_updates_opt_z
- #endif
- #if defined(_Out_writes_to_opt_) && defined(SALIERI_DEFINED_Out_writes_to_opt)
- # undef _Out_writes_to_opt_
- #endif
- #if !defined(_Out_writes_to_opt_)
- # define _Out_writes_to_opt_(s,c)
- # define SALIERI_DEFINED_Out_writes_to_opt
- #endif
- #if defined(_Out_writes_bytes_to_opt_) && defined(SALIERI_DEFINED_Out_writes_bytes_to_opt)
- # undef _Out_writes_bytes_to_opt_
- #endif
- #if !defined(_Out_writes_bytes_to_opt_)
- # define _Out_writes_bytes_to_opt_(s,c)
- # define SALIERI_DEFINED_Out_writes_bytes_to_opt
- #endif
- #if defined(_Out_writes_all_opt_) && defined(SALIERI_DEFINED_Out_writes_all_opt)
- # undef _Out_writes_all_opt_
- #endif
- #if !defined(_Out_writes_all_opt_)
- # define _Out_writes_all_opt_(s)
- # define SALIERI_DEFINED_Out_writes_all_opt
- #endif
- #if defined(_Out_writes_bytes_all_opt_) && defined(SALIERI_DEFINED_Out_writes_bytes_all_opt)
- # undef _Out_writes_bytes_all_opt_
- #endif
- #if !defined(_Out_writes_bytes_all_opt_)
- # define _Out_writes_bytes_all_opt_(s)
- # define SALIERI_DEFINED_Out_writes_bytes_all_opt
- #endif
- #if defined(_In_updates_to_opt_) && defined(SALIERI_DEFINED_In_updates_to_opt)
- # undef _In_updates_to_opt_
- #endif
- #if !defined(_In_updates_to_opt_)
- # define _In_updates_to_opt_(s,c)
- # define SALIERI_DEFINED_In_updates_to_opt
- #endif
- #if defined(_In_updates_bytes_to_opt_) && defined(SALIERI_DEFINED_In_updates_bytes_to_opt)
- # undef _In_updates_bytes_to_opt_
- #endif
- #if !defined(_In_updates_bytes_to_opt_)
- # define _In_updates_bytes_to_opt_(s,c)
- # define SALIERI_DEFINED_In_updates_bytes_to_opt
- #endif
- #if defined(_Inout_updates_all_opt_) && defined(SALIERI_DEFINED_Inout_updates_all_opt)
- # undef _Inout_updates_all_opt_
- #endif
- #if !defined(_Inout_updates_all_opt_)
- # define _Inout_updates_all_opt_(s)
- # define SALIERI_DEFINED_Inout_updates_all_opt
- #endif
- #if defined(_Inout_updates_bytes_all_opt_) && defined(SALIERI_DEFINED_Inout_updates_bytes_all_opt)
- # undef _Inout_updates_bytes_all_opt_
- #endif
- #if !defined(_Inout_updates_bytes_all_opt_)
- # define _Inout_updates_bytes_all_opt_(s)
- # define SALIERI_DEFINED_Inout_updates_bytes_all_opt
- #endif
- #if defined(_In_reads_to_ptr_opt_) && defined(SALIERI_DEFINED_In_reads_to_ptr_opt)
- # undef _In_reads_to_ptr_opt_
- #endif
- #if !defined(_In_reads_to_ptr_opt_)
- # define _In_reads_to_ptr_opt_(p)
- # define SALIERI_DEFINED_In_reads_to_ptr_opt
- #endif
- #if defined(_In_reads_to_ptr_opt_z_) && defined(SALIERI_DEFINED_In_reads_to_ptr_opt_z)
- # undef _In_reads_to_ptr_opt_z_
- #endif
- #if !defined(_In_reads_to_ptr_opt_z_)
- # define _In_reads_to_ptr_opt_z_(p)
- # define SALIERI_DEFINED_In_reads_to_ptr_opt_z
- #endif
- #if defined(_Out_writes_to_ptr_opt_) && defined(SALIERI_DEFINED_Out_writes_to_ptr_opt)
- # undef _Out_writes_to_ptr_opt_
- #endif
- #if !defined(_Out_writes_to_ptr_opt_)
- # define _Out_writes_to_ptr_opt_(p)
- # define SALIERI_DEFINED_Out_writes_to_ptr_opt
- #endif
- #if defined(_Out_writes_to_ptr_opt_z_) && defined(SALIERI_DEFINED_Out_writes_to_ptr_opt_z)
- # undef _Out_writes_to_ptr_opt_z_
- #endif
- #if !defined(_Out_writes_to_ptr_opt_z_)
- # define _Out_writes_to_ptr_opt_z_(p)
- # define SALIERI_DEFINED_Out_writes_to_ptr_opt_z
- #endif
- /* Output Pointer Parameters */
- #if defined(_Outptr_) && defined(SALIERI_DEFINED_Outptr)
- # undef _Outptr_
- #endif
- #if !defined(_Outptr_)
- # define _Outptr_
- # define SALIERI_DEFINED_Outptr
- #endif
- #if defined(_Outptr_opt_) && defined(SALIERI_DEFINED_Outptr_opt)
- # undef _Outptr_opt_
- #endif
- #if !defined(_Outptr_opt_)
- # define _Outptr_opt_
- # define SALIERI_DEFINED_Outptr_opt
- #endif
- #if defined(_Outptr_result_maybenull_) && defined(SALIERI_DEFINED_Outptr_result_maybenull)
- # undef _Outptr_result_maybenull_
- #endif
- #if !defined(_Outptr_result_maybenull_)
- # define _Outptr_result_maybenull_
- # define SALIERI_DEFINED_Outptr_result_maybenull
- #endif
- #if defined(_Outptr_opt_result_maybenull_) && defined(SALIERI_DEFINED_Outptr_opt_result_maybenull)
- # undef _Outptr_opt_result_maybenull_
- #endif
- #if !defined(_Outptr_opt_result_maybenull_)
- # define _Outptr_opt_result_maybenull_
- # define SALIERI_DEFINED_Outptr_opt_result_maybenull
- #endif
- #if defined(_Outptr_result_z_) && defined(SALIERI_DEFINED_Outptr_result_z)
- # undef _Outptr_result_z_
- #endif
- #if !defined(_Outptr_result_z_)
- # define _Outptr_result_z_
- # define SALIERI_DEFINED_Outptr_result_z
- #endif
- #if defined(_Outptr_opt_result_z_) && defined(SALIERI_DEFINED_Outptr_opt_result_z)
- # undef _Outptr_opt_result_z_
- #endif
- #if !defined(_Outptr_opt_result_z_)
- # define _Outptr_opt_result_z_
- # define SALIERI_DEFINED_Outptr_opt_result_z
- #endif
- #if defined(_Outptr_result_maybenull_z_) && defined(SALIERI_DEFINED_Outptr_result_maybenull_z)
- # undef _Outptr_result_maybenull_z_
- #endif
- #if !defined(_Outptr_result_maybenull_z_)
- # define _Outptr_result_maybenull_z_
- # define SALIERI_DEFINED_Outptr_result_maybenull_z
- #endif
- #if defined(_Outptr_opt_result_maybenull_z_) && defined(SALIERI_DEFINED_Outptr_opt_result_maybenull_z)
- # undef _Outptr_opt_result_maybenull_z_
- #endif
- #if !defined(_Outptr_opt_result_maybenull_z_)
- # define _Outptr_opt_result_maybenull_z_
- # define SALIERI_DEFINED_Outptr_opt_result_maybenull_z
- #endif
- #if defined(_COM_Outptr_) && defined(SALIERI_DEFINED_COM_Outptr)
- # undef _COM_Outptr_
- #endif
- #if !defined(_COM_Outptr_)
- # define _COM_Outptr_
- # define SALIERI_DEFINED_COM_Outptr
- #endif
- #if defined(_COM_Outptr_opt_) && defined(SALIERI_DEFINED_COM_Outptr_opt)
- # undef _COM_Outptr_opt_
- #endif
- #if !defined(_COM_Outptr_opt_)
- # define _COM_Outptr_opt_
- # define SALIERI_DEFINED_COM_Outptr_opt
- #endif
- #if defined(_COM_Outptr_result_maybenull_) && defined(SALIERI_DEFINED_COM_Outptr_result_maybenull)
- # undef _COM_Outptr_result_maybenull_
- #endif
- #if !defined(_COM_Outptr_result_maybenull_)
- # define _COM_Outptr_result_maybenull_
- # define SALIERI_DEFINED_COM_Outptr_result_maybenull
- #endif
- #if defined(_COM_Outptr_opt_result_maybenull_) && defined(SALIERI_DEFINED_COM_Outptr_opt_result_maybenull)
- # undef _COM_Outptr_opt_result_maybenull_
- #endif
- #if !defined(_COM_Outptr_opt_result_maybenull_)
- # define _COM_Outptr_opt_result_maybenull_
- # define SALIERI_DEFINED_COM_Outptr_opt_result_maybenull
- #endif
- #if defined(_Outptr_opt_result_maybenull_) && defined(SALIERI_DEFINED_Outptr_opt_result_maybenull)
- # undef _Outptr_opt_result_maybenull_
- #endif
- #if !defined(_Outptr_opt_result_maybenull_)
- # define _Outptr_opt_result_maybenull_
- # define SALIERI_DEFINED_Outptr_opt_result_maybenull
- #endif
- #if defined(_Outptr_result_buffer_) && defined(SALIERI_DEFINED_Outptr_result_buffer)
- # undef _Outptr_result_buffer_
- #endif
- #if !defined(_Outptr_result_buffer_)
- # define _Outptr_result_buffer_(s)
- # define SALIERI_DEFINED_Outptr_result_buffer
- #endif
- #if defined(_Outptr_result_bytebuffer_) && defined(SALIERI_DEFINED_Outptr_result_bytebuffer)
- # undef _Outptr_result_bytebuffer_
- #endif
- #if !defined(_Outptr_result_bytebuffer_)
- # define _Outptr_result_bytebuffer_(s)
- # define SALIERI_DEFINED_Outptr_result_bytebuffer
- #endif
- #if defined(_Outptr_opt_result_buffer_) && defined(SALIERI_DEFINED_Outptr_opt_result_buffer)
- # undef _Outptr_opt_result_buffer_
- #endif
- #if !defined(_Outptr_opt_result_buffer_)
- # define _Outptr_opt_result_buffer_(s)
- # define SALIERI_DEFINED_Outptr_opt_result_buffer
- #endif
- #if defined(_Outptr_opt_result_bytebuffer_) && defined(SALIERI_DEFINED_Outptr_opt_result_bytebuffer)
- # undef _Outptr_opt_result_bytebuffer_
- #endif
- #if !defined(_Outptr_opt_result_bytebuffer_)
- # define _Outptr_opt_result_bytebuffer_(s)
- # define SALIERI_DEFINED_Outptr_opt_result_bytebuffer
- #endif
- #if defined(_Outptr_result_buffer_to_) && defined(SALIERI_DEFINED_Outptr_result_buffer_to)
- # undef _Outptr_result_buffer_to_
- #endif
- #if !defined(_Outptr_result_buffer_to_)
- # define _Outptr_result_buffer_to_(s,c)
- # define SALIERI_DEFINED_Outptr_result_buffer_to
- #endif
- #if defined(_Outptr_result_bytebuffer_to_) && defined(SALIERI_DEFINED_Outptr_result_bytebuffer_to)
- # undef _Outptr_result_bytebuffer_to_
- #endif
- #if !defined(_Outptr_result_bytebuffer_to_)
- # define _Outptr_result_bytebuffer_to_(s,c)
- # define SALIERI_DEFINED_Outptr_result_bytebuffer_to
- #endif
- #if defined(_Outptr_opt_result_buffer_to_) && defined(SALIERI_DEFINED_Outptr_opt_result_buffer_to)
- # undef _Outptr_opt_result_buffer_to_
- #endif
- #if !defined(_Outptr_opt_result_buffer_to_)
- # define _Outptr_opt_result_buffer_to_(s,c)
- # define SALIERI_DEFINED_Outptr_opt_result_buffer_to
- #endif
- #if defined(_Outptr_opt_result_bytebuffer_to_) && defined(SALIERI_DEFINED_Outptr_opt_result_bytebuffer_to)
- # undef _Outptr_opt_result_bytebuffer_to_
- #endif
- #if !defined(_Outptr_opt_result_bytebuffer_to_)
- # define _Outptr_opt_result_bytebuffer_to_(s,c)
- # define SALIERI_DEFINED_Outptr_opt_result_bytebuffer_to
- #endif
- #if defined(_Result_nullonfailure_) && defined(SALIERI_DEFINED_Result_nullonfailure)
- # undef _Result_nullonfailure_
- #endif
- #if !defined(_Result_nullonfailure_)
- # define _Result_nullonfailure_
- # define SALIERI_DEFINED_Result_nullonfailure
- #endif
- #if defined(_Result_zeroonfailure_) && defined(SALIERI_DEFINED_Result_zeroonfailure)
- # undef _Result_zeroonfailure_
- #endif
- #if !defined(_Result_zeroonfailure_)
- # define _Result_zeroonfailure_
- # define SALIERI_DEFINED_Result_zeroonfailure
- #endif
- #if defined(_Outptr_result_nullonfailure_) && defined(SALIERI_DEFINED_Outptr_result_nullonfailure)
- # undef _Outptr_result_nullonfailure_
- #endif
- #if !defined(_Outptr_result_nullonfailure_)
- # define _Outptr_result_nullonfailure_
- # define SALIERI_DEFINED_Outptr_result_nullonfailure
- #endif
- #if defined(_Outptr_opt_result_nullonfailure_) && defined(SALIERI_DEFINED_Outptr_opt_result_nullonfailure)
- # undef _Outptr_opt_result_nullonfailure_
- #endif
- #if !defined(_Outptr_opt_result_nullonfailure_)
- # define _Outptr_opt_result_nullonfailure_
- # define SALIERI_DEFINED_Outptr_opt_result_nullonfailure
- #endif
- #if defined(_Outref_result_nullonfailure_) && defined(SALIERI_DEFINED_Outref_result_nullonfailure)
- # undef _Outref_result_nullonfailure_
- #endif
- #if !defined(_Outref_result_nullonfailure_)
- # define _Outref_result_nullonfailure_
- # define SALIERI_DEFINED_Outref_result_nullonfailure
- #endif
- /* Output Reference Parameters */
- #if defined(_Outref_) && defined(SALIERI_DEFINED_Outref)
- # undef _Outref_
- #endif
- #if !defined(_Outref_)
- # define _Outref_
- # define SALIERI_DEFINED_Outref
- #endif
- #if defined(_Outref_result_maybenull_) && defined(SALIERI_DEFINED_Outref_result_maybenull)
- # undef _Outref_result_maybenull_
- #endif
- #if !defined(_Outref_result_maybenull_)
- # define _Outref_result_maybenull_
- # define SALIERI_DEFINED_Outref_result_maybenull
- #endif
- #if defined(_Outref_result_buffer_) && defined(SALIERI_DEFINED_Outref_result_buffer)
- # undef _Outref_result_buffer_
- #endif
- #if !defined(_Outref_result_buffer_)
- # define _Outref_result_buffer_(s)
- # define SALIERI_DEFINED_Outref_result_buffer
- #endif
- #if defined(_Outref_result_bytebuffer_) && defined(SALIERI_DEFINED_Outref_result_bytebuffer)
- # undef _Outref_result_bytebuffer_
- #endif
- #if !defined(_Outref_result_bytebuffer_)
- # define _Outref_result_bytebuffer_(s)
- # define SALIERI_DEFINED_Outref_result_bytebuffer
- #endif
- #if defined(_Outref_result_buffer_to_) && defined(SALIERI_DEFINED_Outref_result_buffer_to)
- # undef _Outref_result_buffer_to_
- #endif
- #if !defined(_Outref_result_buffer_to_)
- # define _Outref_result_buffer_to_(s,c)
- # define SALIERI_DEFINED_Outref_result_buffer_to
- #endif
- #if defined(_Outref_result_bytebuffer_to_) && defined(SALIERI_DEFINED_Outref_result_bytebuffer_to)
- # undef _Outref_result_bytebuffer_to_
- #endif
- #if !defined(_Outref_result_bytebuffer_to_)
- # define _Outref_result_bytebuffer_to_(s,c)
- # define SALIERI_DEFINED_Outref_result_bytebuffer_to
- #endif
- #if defined(_Outref_result_buffer_all_) && defined(SALIERI_DEFINED_Outref_result_buffer_all)
- # undef _Outref_result_buffer_all_
- #endif
- #if !defined(_Outref_result_buffer_all_)
- # define _Outref_result_buffer_all_(s)
- # define SALIERI_DEFINED_Outref_result_buffer_all
- #endif
- #if defined(_Outref_result_bytebuffer_all_) && defined(SALIERI_DEFINED_Outref_result_bytebuffer_all)
- # undef _Outref_result_bytebuffer_all_
- #endif
- #if !defined(_Outref_result_bytebuffer_all_)
- # define _Outref_result_bytebuffer_all_(s)
- # define SALIERI_DEFINED_Outref_result_bytebuffer_all
- #endif
- #if defined(_Outref_result_buffer_maybenull_) && defined(SALIERI_DEFINED_Outref_result_buffer_maybenull)
- # undef _Outref_result_buffer_maybenull_
- #endif
- #if !defined(_Outref_result_buffer_maybenull_)
- # define _Outref_result_buffer_maybenull_(s)
- # define SALIERI_DEFINED_Outref_result_buffer_maybenull
- #endif
- #if defined(_Outref_result_bytebuffer_maybenull_) && defined(SALIERI_DEFINED_Outref_result_bytebuffer_maybenull)
- # undef _Outref_result_bytebuffer_maybenull_
- #endif
- #if !defined(_Outref_result_bytebuffer_maybenull_)
- # define _Outref_result_bytebuffer_maybenull_(s)
- # define SALIERI_DEFINED_Outref_result_bytebuffer_maybenull
- #endif
- #if defined(_Outref_result_buffer_to_maybenull_) && defined(SALIERI_DEFINED_Outref_result_buffer_to_maybenull)
- # undef _Outref_result_buffer_to_maybenull_
- #endif
- #if !defined(_Outref_result_buffer_to_maybenull_)
- # define _Outref_result_buffer_to_maybenull_(s,c)
- # define SALIERI_DEFINED_Outref_result_buffer_to_maybenull
- #endif
- #if defined(_Outref_result_bytebuffer_to_maybenull_) && defined(SALIERI_DEFINED_Outref_result_bytebuffer_to_maybenull)
- # undef _Outref_result_bytebuffer_to_maybenull_
- #endif
- #if !defined(_Outref_result_bytebuffer_to_maybenull_)
- # define _Outref_result_bytebuffer_to_maybenull_(s,c)
- # define SALIERI_DEFINED_Outref_result_bytebuffer_to_maybenull
- #endif
- #if defined(_Outref_result_buffer_all_maybenull_) && defined(SALIERI_DEFINED_Outref_result_buffer_all_maybenull)
- # undef _Outref_result_buffer_all_maybenull_
- #endif
- #if !defined(_Outref_result_buffer_all_maybenull_)
- # define _Outref_result_buffer_all_maybenull_(s)
- # define SALIERI_DEFINED_Outref_result_buffer_all_maybenull
- #endif
- #if defined(_Outref_result_bytebuffer_all_maybenull_) && defined(SALIERI_DEFINED_Outref_result_bytebuffer_all_maybenull)
- # undef _Outref_result_bytebuffer_all_maybenull_
- #endif
- #if !defined(_Outref_result_bytebuffer_all_maybenull_)
- # define _Outref_result_bytebuffer_all_maybenull_(s)
- # define SALIERI_DEFINED_Outref_result_bytebuffer_all_maybenull
- #endif
- /* Return Values */
- #if defined(_Ret_z_) && defined(SALIERI_DEFINED_Ret_z)
- # undef _Ret_z_
- #endif
- #if !defined(_Ret_z_)
- # define _Ret_z_
- # define SALIERI_DEFINED_Ret_z
- #endif
- #if defined(_Ret_writes_) && defined(SALIERI_DEFINED_Ret_writes)
- # undef _Ret_writes_
- #endif
- #if !defined(_Ret_writes_)
- # define _Ret_writes_(s)
- # define SALIERI_DEFINED_Ret_writes
- #endif
- #if defined(_Ret_writes_bytes_) && defined(SALIERI_DEFINED_Ret_writes_bytes)
- # undef _Ret_writes_bytes_
- #endif
- #if !defined(_Ret_writes_bytes_)
- # define _Ret_writes_bytes_(s)
- # define SALIERI_DEFINED_Ret_writes_bytes
- #endif
- #if defined(_Ret_writes_z_) && defined(SALIERI_DEFINED_Ret_writes_z)
- # undef _Ret_writes_z_
- #endif
- #if !defined(_Ret_writes_z_)
- # define _Ret_writes_z_(s)
- # define SALIERI_DEFINED_Ret_writes_z
- #endif
- #if defined(_Ret_writes_to_) && defined(SALIERI_DEFINED_Ret_writes_to)
- # undef _Ret_writes_to_
- #endif
- #if !defined(_Ret_writes_to_)
- # define _Ret_writes_to_(s,c)
- # define SALIERI_DEFINED_Ret_writes_to
- #endif
- #if defined(_Ret_writes_maybenull_) && defined(SALIERI_DEFINED_Ret_writes_maybenull)
- # undef _Ret_writes_maybenull_
- #endif
- #if !defined(_Ret_writes_maybenull_)
- # define _Ret_writes_maybenull_(s)
- # define SALIERI_DEFINED_Ret_writes_maybenull
- #endif
- #if defined(_Ret_writes_to_maybenull_) && defined(SALIERI_DEFINED_Ret_writes_to_maybenull)
- # undef _Ret_writes_to_maybenull_
- #endif
- #if !defined(_Ret_writes_to_maybenull_)
- # define _Ret_writes_to_maybenull_(s)
- # define SALIERI_DEFINED_Ret_writes_to_maybenull
- #endif
- #if defined(_Ret_writes_maybenull_z_) && defined(SALIERI_DEFINED_Ret_writes_maybenull_z)
- # undef _Ret_writes_maybenull_z_
- #endif
- #if !defined(_Ret_writes_maybenull_z_)
- # define _Ret_writes_maybenull_z_(s)
- # define SALIERI_DEFINED_Ret_writes_maybenull_z
- #endif
- #if defined(_Ret_maybenull_) && defined(SALIERI_DEFINED_Ret_maybenull)
- # undef _Ret_maybenull_
- #endif
- #if !defined(_Ret_maybenull_)
- # define _Ret_maybenull_
- # define SALIERI_DEFINED_Ret_maybenull
- #endif
- #if defined(_Ret_maybenull_z_) && defined(SALIERI_DEFINED_Ret_maybenull_z)
- # undef _Ret_maybenull_z_
- #endif
- #if !defined(_Ret_maybenull_z_)
- # define _Ret_maybenull_z_
- # define SALIERI_DEFINED_Ret_maybenull_z
- #endif
- #if defined(_Ret_null_) && defined(SALIERI_DEFINED_Ret_null)
- # undef _Ret_null_
- #endif
- #if !defined(_Ret_null_)
- # define _Ret_null_
- # define SALIERI_DEFINED_Ret_null
- #endif
- #if defined(_Ret_notnull_) && defined(SALIERI_DEFINED_Ret_notnull)
- # undef _Ret_notnull_
- #endif
- #if !defined(_Ret_notnull_)
- # define _Ret_notnull_
- # define SALIERI_DEFINED_Ret_notnull
- #endif
- #if defined(_Ret_writes_bytes_to_) && defined(SALIERI_DEFINED_Ret_writes_bytes_to)
- # undef _Ret_writes_bytes_to_
- #endif
- #if !defined(_Ret_writes_bytes_to_)
- # define _Ret_writes_bytes_to_
- # define SALIERI_DEFINED_Ret_writes_bytes_to
- #endif
- #if defined(_Ret_writes_bytes_to_) && defined(SALIERI_DEFINED_Ret_writes_bytes_to)
- # undef _Ret_writes_bytes_to_
- #endif
- #if !defined(_Ret_writes_bytes_to_)
- # define _Ret_writes_bytes_to_
- # define SALIERI_DEFINED_Ret_writes_bytes_to
- #endif
- #if defined(_Ret_writes_bytes_maybenull_) && defined(SALIERI_DEFINED_Ret_writes_bytes_maybenull)
- # undef _Ret_writes_bytes_maybenull_
- #endif
- #if !defined(_Ret_writes_bytes_maybenull_)
- # define _Ret_writes_bytes_maybenull_
- # define SALIERI_DEFINED_Ret_writes_bytes_maybenull
- #endif
- #if defined(_Ret_writes_bytes_to_maybenull_) && defined(SALIERI_DEFINED_Ret_writes_bytes_to_maybenull)
- # undef _Ret_writes_bytes_to_maybenull_
- #endif
- #if !defined(_Ret_writes_bytes_to_maybenull_)
- # define _Ret_writes_bytes_to_maybenull_
- # define SALIERI_DEFINED_Ret_writes_bytes_to_maybenull
- #endif
- /* Other Common Annotations */
- #if defined(_In_range_) && defined(SALIERI_DEFINED_In_range)
- # undef _In_range_
- #endif
- #if !defined(_In_range_)
- # define _In_range_(low, hi)
- # define SALIERI_DEFINED_In_range
- #endif
- #if defined(_Out_range_) && defined(SALIERI_DEFINED_Out_range)
- # undef _Out_range_
- #endif
- #if !defined(_Out_range_)
- # define _Out_range_(low, hi)
- # define SALIERI_DEFINED_Out_range
- #endif
- #if defined(_Ret_range_) && defined(SALIERI_DEFINED_Ret_range)
- # undef _Ret_range_
- #endif
- #if !defined(_Ret_range_)
- # define _Ret_range_(low, hi)
- # define SALIERI_DEFINED_Ret_range
- #endif
- #if defined(_Deref_in_range_) && defined(SALIERI_DEFINED_Deref_in_range)
- # undef _Deref_in_range_
- #endif
- #if !defined(_Deref_in_range_)
- # define _Deref_in_range_(low, hi)
- # define SALIERI_DEFINED_Deref_in_range
- #endif
- #if defined(_Deref_out_range_) && defined(SALIERI_DEFINED_Deref_out_range)
- # undef _Deref_out_range_
- #endif
- #if !defined(_Deref_out_range_)
- # define _Deref_out_range_(low, hi)
- # define SALIERI_DEFINED_Deref_out_range
- #endif
- #if defined(_Deref_inout_range_) && defined(SALIERI_DEFINED_Deref_inout_range)
- # undef _Deref_inout_range_
- #endif
- #if !defined(_Deref_inout_range_)
- # define _Deref_inout_range_(low, hi)
- # define SALIERI_DEFINED_Deref_inout_range
- #endif
- #if defined(_Field_range_) && defined(SALIERI_DEFINED_Field_range)
- # undef _Field_range_
- #endif
- #if !defined(_Field_range_)
- # define _Field_range_(low, hi)
- # define SALIERI_DEFINED_Field_range
- #endif
- #if defined(_Pre_equal_to_) && defined(SALIERI_DEFINED_Pre_equal_to)
- # undef _Pre_equal_to_
- #endif
- #if !defined(_Pre_equal_to_)
- # define _Pre_equal_to_(expr)
- # define SALIERI_DEFINED_Pre_equal_to
- #endif
- #if defined(_Post_equal_to_) && defined(SALIERI_DEFINED_Post_equal_to)
- # undef _Post_equal_to_
- #endif
- #if !defined(_Post_equal_to_)
- # define _Post_equal_to_(expr)
- # define SALIERI_DEFINED_Post_equal_to
- #endif
- #if defined(_Struct_size_bytes_) && defined(SALIERI_DEFINED_Struct_size_bytes)
- # undef _Struct_size_bytes_
- #endif
- #if !defined(_Struct_size_bytes_)
- # define _Struct_size_bytes_(size)
- # define SALIERI_DEFINED_Struct_size_bytes
- #endif
- /* Annotating Function Behavior
- *
- * https://msdn.microsoft.com/en-us/library/jj159529.aspx
- *****/
- #if defined(_Called_from_function_class_) && defined(SALIERI_DEFINED_Called_from_function_class)
- # undef _Called_from_function_class_
- #endif
- #if !defined(_Called_from_function_class_)
- # define _Called_from_function_class_(name)
- # define SALIERI_DEFINED_Called_from_function_class
- #endif
- #if defined(_Check_return_) && defined(SALIERI_DEFINED_Check_return)
- # undef _Check_return_
- #endif
- #if !defined(_Check_return_)
- # define _Check_return_
- # define SALIERI_DEFINED_Check_return
- #endif
- #if defined(_Function_class_) && defined(SALIERI_DEFINED_Function_class)
- # undef _Function_class_
- #endif
- #if !defined(_Function_class_)
- # define _Function_class_(name)
- # define SALIERI_DEFINED_Function_class
- #endif
- #if defined(_Raises_SEH_exception_) && defined(SALIERI_DEFINED_Raises_SEH_exception)
- # undef _Raises_SEH_exception_
- #endif
- #if !defined(_Raises_SEH_exception_)
- # define _Raises_SEH_exception_
- # define SALIERI_DEFINED_Raises_SEH_exception
- #endif
- #if defined(_Must_inspect_result_) && defined(SALIERI_DEFINED_Must_inspect_result)
- # undef _Must_inspect_result_
- #endif
- #if !defined(_Must_inspect_result_)
- # define _Must_inspect_result_
- # define SALIERI_DEFINED_Must_inspect_result
- #endif
- #if defined(_Use_decl_annotations_) && defined(SALIERI_DEFINED_Use_decl_annotations)
- # undef _Use_decl_annotations_
- #endif
- #if !defined(_Use_decl_annotations_)
- # define _Use_decl_annotations_
- # define SALIERI_DEFINED_Use_decl_annotations
- #endif
- #if defined(_Always_) && defined(SALIERI_DEFINED_Always)
- # undef _Always_
- #endif
- #if !defined(_Always_)
- # define _Always_(anno_list)
- # define SALIERI_DEFINED_Always
- #endif
- #if defined(_On_failure_) && defined(SALIERI_DEFINED_On_failure)
- # undef _On_failure_
- #endif
- #if !defined(_On_failure_)
- # define _On_failure_(anno_list)
- # define SALIERI_DEFINED_On_failure
- #endif
- #if defined(_Return_type_success_) && defined(SALIERI_DEFINED_Return_type_success)
- # undef _Return_type_success_
- #endif
- #if !defined(_Return_type_success_)
- # define _Return_type_success_(expr)
- # define SALIERI_DEFINED_Return_type_success
- #endif
- #if defined(_Success_) && defined(SALIERI_DEFINED_Success)
- # undef _Success_
- #endif
- #if !defined(_Success_)
- # define _Success_(expr)
- # define SALIERI_DEFINED_Success
- #endif
- /* Annotating Structs and Classes
- *
- * https://msdn.microsoft.com/en-us/library/jj159528.aspx
- *****/
- #if defined(_Field_range_) && defined(SALIERI_DEFINED_Field_range)
- # undef _Field_range_
- #endif
- #if !defined(_Field_range_)
- # define _Field_range_(low, high)
- # define SALIERI_DEFINED_Field_range
- #endif
- #if defined(_Field_size_) && defined(SALIERI_DEFINED_Field_size)
- # undef _Field_size_
- #endif
- #if !defined(_Field_size_)
- # define _Field_size_(size)
- # define SALIERI_DEFINED_Field_size
- #endif
- #if defined(_Field_size_part_) && defined(SALIERI_DEFINED_Field_size_part)
- # undef _Field_size_part_
- #endif
- #if !defined(_Field_size_part_)
- # define _Field_size_part_(size)
- # define SALIERI_DEFINED_Field_size_part
- #endif
- #if defined(_Field_size_opt_) && defined(SALIERI_DEFINED_Field_size_opt)
- # undef _Field_size_opt_
- #endif
- #if !defined(_Field_size_opt_)
- # define _Field_size_opt_(size)
- # define SALIERI_DEFINED_Field_size_opt
- #endif
- #if defined(_Field_size_bytes_) && defined(SALIERI_DEFINED_Field_size_bytes)
- # undef _Field_size_bytes_
- #endif
- #if !defined(_Field_size_bytes_)
- # define _Field_size_bytes_(size)
- # define SALIERI_DEFINED_Field_size_bytes
- #endif
- #if defined(_Field_size_bytes_opt_) && defined(SALIERI_DEFINED_Field_size_bytes_opt)
- # undef _Field_size_bytes_opt_
- #endif
- #if !defined(_Field_size_bytes_opt_)
- # define _Field_size_bytes_opt_(size)
- # define SALIERI_DEFINED_Field_size_bytes_opt
- #endif
- #if defined(_Field_size_part_) && defined(SALIERI_DEFINED_Field_size_part)
- # undef _Field_size_part_
- #endif
- #if !defined(_Field_size_part_)
- # define _Field_size_part_(size, count)
- # define SALIERI_DEFINED_Field_size_part
- #endif
- #if defined(_Field_size_part_opt_) && defined(SALIERI_DEFINED_Field_size_part_opt)
- # undef _Field_size_part_opt_
- #endif
- #if !defined(_Field_size_part_opt_)
- # define _Field_size_part_opt_(size, count)
- # define SALIERI_DEFINED_Field_size_part_opt
- #endif
- #if defined(_Field_size_bytes_part_) && defined(SALIERI_DEFINED_Field_size_bytes_part)
- # undef _Field_size_bytes_part_
- #endif
- #if !defined(_Field_size_bytes_part_)
- # define _Field_size_bytes_part_(size, count)
- # define SALIERI_DEFINED_Field_size_bytes_part
- #endif
- #if defined(_Field_size_bytes_part_opt_) && defined(SALIERI_DEFINED_Field_size_bytes_part_opt)
- # undef _Field_size_bytes_part_opt_
- #endif
- #if !defined(_Field_size_bytes_part_opt_)
- # define _Field_size_bytes_part_opt_(size, count)
- # define SALIERI_DEFINED_Field_size_bytes_part_opt
- #endif
- #if defined(_Field_size_full_) && defined(SALIERI_DEFINED_Field_size_full)
- # undef _Field_size_full_
- #endif
- #if !defined(_Field_size_full_)
- # define _Field_size_full_(size)
- # define SALIERI_DEFINED_Field_size_full
- #endif
- #if defined(_Field_size_full_opt_) && defined(SALIERI_DEFINED_Field_size_full_opt)
- # undef _Field_size_full_opt_
- #endif
- #if !defined(_Field_size_full_opt_)
- # define _Field_size_full_opt_(size)
- # define SALIERI_DEFINED_Field_size_full_opt
- #endif
- #if defined(_Field_size_bytes_full_) && defined(SALIERI_DEFINED_Field_size_bytes_full)
- # undef _Field_size_bytes_full_
- #endif
- #if !defined(_Field_size_bytes_full_)
- # define _Field_size_bytes_full_(size)
- # define SALIERI_DEFINED_Field_size_bytes_full
- #endif
- #if defined(_Field_size_bytes_full_opt_) && defined(SALIERI_DEFINED_Field_size_bytes_full_opt)
- # undef _Field_size_bytes_full_opt_
- #endif
- #if !defined(_Field_size_bytes_full_opt_)
- # define _Field_size_bytes_full_opt_(size)
- # define SALIERI_DEFINED_Field_size_bytes_full_opt
- #endif
- #if defined(_Struct_size_bytes_) && defined(SALIERI_DEFINED_Struct_size_bytes)
- # undef _Struct_size_bytes_
- #endif
- #if !defined(_Struct_size_bytes_)
- # define _Struct_size_bytes_(size)
- # define SALIERI_DEFINED_Struct_size_bytes
- #endif
- /* Annotating Locking Behavior
- *
- * https://msdn.microsoft.com/en-us/library/hh916381.aspx
- *****/
- #if defined(_Acquires_exclusive_lock_) && defined(SALIERI_DEFINED_Acquires_exclusive_lock)
- # undef _Acquires_exclusive_lock_
- #endif
- #if !defined(_Acquires_exclusive_lock_)
- # define _Acquires_exclusive_lock_(expr)
- # define SALIERI_DEFINED_Acquires_exclusive_lock
- #endif
- #if defined(_Acquires_lock_) && defined(SALIERI_DEFINED_Acquires_lock)
- # undef _Acquires_lock_
- #endif
- #if !defined(_Acquires_lock_)
- # define _Acquires_lock_(expr)
- # define SALIERI_DEFINED_Acquires_lock
- #endif
- #if defined(_Acquires_nonreentrant_lock_) && defined(SALIERI_DEFINED_Acquires_nonreentrant_lock)
- # undef _Acquires_nonreentrant_lock_
- #endif
- #if !defined(_Acquires_nonreentrant_lock_)
- # define _Acquires_nonreentrant_lock_(expr)
- # define SALIERI_DEFINED_Acquires_nonreentrant_lock
- #endif
- #if defined(_Acquires_shared_lock_) && defined(SALIERI_DEFINED_Acquires_shared_lock)
- # undef _Acquires_shared_lock_
- #endif
- #if !defined(_Acquires_shared_lock_)
- # define _Acquires_shared_lock_(expr)
- # define SALIERI_DEFINED_Acquires_shared_lock
- #endif
- #if defined(_Create_lock_level_) && defined(SALIERI_DEFINED_Create_lock_level)
- # undef _Create_lock_level_
- #endif
- #if !defined(_Create_lock_level_)
- # define _Create_lock_level_(name)
- # define SALIERI_DEFINED_Create_lock_level
- #endif
- #if defined(_Has_lock_kind_) && defined(SALIERI_DEFINED_Has_lock_kind)
- # undef _Has_lock_kind_
- #endif
- #if !defined(_Has_lock_kind_)
- # define _Has_lock_kind_(kind)
- # define SALIERI_DEFINED_Has_lock_kind
- #endif
- #if defined(_Has_lock_level_) && defined(SALIERI_DEFINED_Has_lock_level)
- # undef _Has_lock_level_
- #endif
- #if !defined(_Has_lock_level_)
- # define _Has_lock_level_(name)
- # define SALIERI_DEFINED_Has_lock_level
- #endif
- #if defined(_Lock_level_order_) && defined(SALIERI_DEFINED_Lock_level_order)
- # undef _Lock_level_order_
- #endif
- #if !defined(_Lock_level_order_)
- # define _Lock_level_order_(name1, name2)
- # define SALIERI_DEFINED_Lock_level_order
- #endif
- #if defined(_Post_same_lock_) && defined(SALIERI_DEFINED_Post_same_lock)
- # undef _Post_same_lock_
- #endif
- #if !defined(_Post_same_lock_)
- # define _Post_same_lock_(expr1, expr2)
- # define SALIERI_DEFINED_Post_same_lock
- #endif
- #if defined(_Releases_exclusive_lock_) && defined(SALIERI_DEFINED_Releases_exclusive_lock)
- # undef _Releases_exclusive_lock_
- #endif
- #if !defined(_Releases_exclusive_lock_)
- # define _Releases_exclusive_lock_(expr)
- # define SALIERI_DEFINED_Releases_exclusive_lock
- #endif
- #if defined(_Releases_lock_) && defined(SALIERI_DEFINED_Releases_lock)
- # undef _Releases_lock_
- #endif
- #if !defined(_Releases_lock_)
- # define _Releases_lock_(expr)
- # define SALIERI_DEFINED_Releases_lock
- #endif
- #if defined(_Releases_nonreentrant_lock_) && defined(SALIERI_DEFINED_Releases_nonreentrant_lock)
- # undef _Releases_nonreentrant_lock_
- #endif
- #if !defined(_Releases_nonreentrant_lock_)
- # define _Releases_nonreentrant_lock_(expr)
- # define SALIERI_DEFINED_Releases_nonreentrant_lock
- #endif
- #if defined(_Releases_shared_lock_) && defined(SALIERI_DEFINED_Releases_shared_lock)
- # undef _Releases_shared_lock_
- #endif
- #if !defined(_Releases_shared_lock_)
- # define _Releases_shared_lock_(expr)
- # define SALIERI_DEFINED_Releases_shared_lock
- #endif
- #if defined(_Requires_lock_held_) && defined(SALIERI_DEFINED_Requires_lock_held)
- # undef _Requires_lock_held_
- #endif
- #if !defined(_Requires_lock_held_)
- # define _Requires_lock_held_(expr)
- # define SALIERI_DEFINED_Requires_lock_held
- #endif
- #if defined(_Requires_lock_not_held_) && defined(SALIERI_DEFINED_Requires_lock_not_held)
- # undef _Requires_lock_not_held_
- #endif
- #if !defined(_Requires_lock_not_held_)
- # define _Requires_lock_not_held_(expr)
- # define SALIERI_DEFINED_Requires_lock_not_held
- #endif
- #if defined(_Requires_no_locks_held_) && defined(SALIERI_DEFINED_Requires_no_locks_held)
- # undef _Requires_no_locks_held_
- #endif
- #if !defined(_Requires_no_locks_held_)
- # define _Requires_no_locks_held_
- # define SALIERI_DEFINED_Requires_no_locks_held
- #endif
- #if defined(_Requires_shared_lock_held_) && defined(SALIERI_DEFINED_Requires_shared_lock_held)
- # undef _Requires_shared_lock_held_
- #endif
- #if !defined(_Requires_shared_lock_held_)
- # define _Requires_shared_lock_held_(expr)
- # define SALIERI_DEFINED_Requires_shared_lock_held
- #endif
- #if defined(_Requires_exclusive_lock_held_) && defined(SALIERI_DEFINED_Requires_exclusive_lock_held)
- # undef _Requires_exclusive_lock_held_
- #endif
- #if !defined(_Requires_exclusive_lock_held_)
- # define _Requires_exclusive_lock_held_(expr)
- # define SALIERI_DEFINED_Requires_exclusive_lock_held
- #endif
- /* Shared Data Access Annotations */
- #if defined(_Guarded_by_) && defined(SALIERI_DEFINED_Guarded_by)
- # undef _Guarded_by_
- #endif
- #if !defined(_Guarded_by_)
- # define _Guarded_by_(expr)
- # define SALIERI_DEFINED_Guarded_by
- #endif
- #if defined(_Interlocked_) && defined(SALIERI_DEFINED_Interlocked)
- # undef _Interlocked_
- #endif
- #if !defined(_Interlocked_)
- # define _Interlocked_
- # define SALIERI_DEFINED_Interlocked
- #endif
- #if defined(_Interlocked_operand_) && defined(SALIERI_DEFINED_Interlocked_operand)
- # undef _Interlocked_operand_
- #endif
- #if !defined(_Interlocked_operand_)
- # define _Interlocked_operand_
- # define SALIERI_DEFINED_Interlocked_operand
- #endif
- #if defined(_Write_guarded_by_) && defined(SALIERI_DEFINED_Write_guarded_by)
- # undef _Write_guarded_by_
- #endif
- #if !defined(_Write_guarded_by_)
- # define _Write_guarded_by_(expr)
- # define SALIERI_DEFINED_Write_guarded_by
- #endif
- /* Specifying When and Where an Annotation Applies
- *
- * https://msdn.microsoft.com/en-us/library/jj159526.aspx
- *****/
- #if defined(_At_) && defined(SALIERI_DEFINED_At)
- # undef _At_
- #endif
- #if !defined(_At_)
- # define _At_(expr, anno_list)
- # define SALIERI_DEFINED_At
- #endif
- #if defined(_At_buffer_) && defined(SALIERI_DEFINED_At_buffer)
- # undef _At_buffer_
- #endif
- #if !defined(_At_buffer_)
- # define _At_buffer_(expr, iter, elem_count, anno_list)
- # define SALIERI_DEFINED_At_buffer
- #endif
- #if defined(_Group_) && defined(SALIERI_DEFINED_Group)
- # undef _Group_
- #endif
- #if !defined(_Group_)
- # define _Group_(anno_list)
- # define SALIERI_DEFINED_Group
- #endif
- #if defined(_When_) && defined(SALIERI_DEFINED_When)
- # undef _When_
- #endif
- #if !defined(_When_)
- # define _When_(expr, anno_list)
- # define SALIERI_DEFINED_When
- #endif
- /* Intrinsic Functions
- *
- * https://msdn.microsoft.com/en-us/library/jj159527.aspx
- *****/
- /* General Purpose */
- #if defined(_Curr_) && defined(SALIERI_DEFINED_Curr)
- # undef _Curr_
- #endif
- #if !defined(_Curr_)
- # define _Curr_
- # define SALIERI_DEFINED_Curr
- #endif
- #if defined(_Inexpressible_) && defined(SALIERI_DEFINED_Inexpressible)
- # undef _Inexpressible_
- #endif
- #if !defined(_Inexpressible_)
- # define _Inexpressible_(expr)
- # define SALIERI_DEFINED_Inexpressible
- #endif
- #if defined(_Nullterm_length_) && defined(SALIERI_DEFINED_Nullterm_length)
- # undef _Nullterm_length_
- #endif
- #if !defined(_Nullterm_length_)
- # define _Nullterm_length_(param)
- # define SALIERI_DEFINED_Nullterm_length
- #endif
- #if defined(_Old_) && defined(SALIERI_DEFINED_Old)
- # undef _Old_
- #endif
- #if !defined(_Old_)
- # define _Old_(expr)
- # define SALIERI_DEFINED_Old
- #endif
- #if defined(_Param_) && defined(SALIERI_DEFINED_Param)
- # undef _Param_
- #endif
- #if !defined(_Param_)
- # define _Param_(n)
- # define SALIERI_DEFINED_Param
- #endif
- /* String Specific */
- #if defined(_String_length_) && defined(SALIERI_DEFINED_String_length)
- # undef _String_length_
- #endif
- #if !defined(_String_length_)
- # define _String_length_(param)
- # define SALIERI_DEFINED_String_length
- #endif
- #if defined(_In_count_) && defined(SALIERI_DEFINED_In_count_)
- # undef _In_count_
- #endif
- #if !defined(_In_count_)
- # define _In_count_(param)
- # define SALIERI_DEFINED_In_count_
- #endif
- #if defined(_In_opt_count_) && defined(SALIERI_DEFINED_In_opt_count_)
- # undef _In_opt_count_
- #endif
- #if !defined(_In_opt_count_)
- # define _In_opt_count_(param)
- # define SALIERI_DEFINED_In_opt_count_
- #endif
- #if defined(SALIERI_VERSION)
- # undef SALIERI_VERSION
- #endif
- #define SALIERI_VERSION 1
- #endif /* !defined(SALIERI_VERSION) || (SALIERI_VERSION < X) */
|