Pijp- en niet-pipeparameters combineren

Wanneer u pijptypen en andere typen in een aanroep van een externe procedure combineert, worden de gegevens verzonden volgens de richting van de parameter:

  • In de [in] richting worden de gegevens voor alle niet-pipe argumenten eerst verzonden, gevolgd door pijpgegevens.
  • In de [out] richting verzendt de server eerst de pijpgegevens. Nadat de managerroutine is teruggekeerd, verzendt de server de niet-pijpgegevens.
  • Wanneer er [in,uit] pijpargumenten worden gecombineerd met [in,uit] niet-pijpargumenten, worden eerst de invoergegevens in hun geheel verzonden, zoals eerder beschreven. Vervolgens worden de uitvoergegevens verzonden zoals eerder beschreven.

De volgende beperking is van toepassing op deze (MIDL 3.0) implementatie van pipes: wanneer u pijptypen en andere typen combineert in één externe procedure-aanroep, moeten de niet-pipe parameters een goed gedefinieerde grootte hebben om de MIDL-compiler de benodigde buffergrootte te laten berekenen. U kunt pijpparameters bijvoorbeeld niet combineren met een [unieke] aanwijzer of een conforme structuur, omdat hun grootten niet tijdens het compileren kunnen worden bepaald.

pijp

/Oi