Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!nrl-cmf!ames!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!hplabs!hp-sdd!ncr-sd!crash!jeh From: jeh@crash.cts.com (Jamie Hanrahan) Newsgroups: comp.os.vms Subject: Re: QIO Question Summary: What you pass is what you get! Message-ID: <3036@crash.cts.com> Date: 28 May 88 19:07:06 GMT References: <8805280702.AA03906@ucbvax.Berkeley.EDU> Reply-To: jeh@crash.CTS.COM (Jamie Hanrahan) Organization: CMKRNL Press, San Diego, CA Lines: 16 In article <8805280702.AA03906@ucbvax.Berkeley.EDU> EPRF@SNYCENVM.BITNET (Peter Flass) writes: > > When you issue a $QIO with the "astprm" argument, how is the parameter >passed to the completion AST? It's passed exactly as you passed it. That is, the longword that you put in the ASTPRM position in the argument list for the $QIO call is copied verbatim into the second longword of the argument list that's passed to your AST procedure (making it the first argument, the first longword being the number-of-arguments longword). So, for instance, if you pass something by value, your AST procedure can pick it up by value, and etc. $QIO does not check the argument in any way, so if you intend to pass something by reference or by descriptor, but get it wrong somehow, your AST procedure (and not the $QIO call) will incur an access violation. Does that help?