Advanced 3D Game Programming with Directx 9.0 by Peter Walsh Wordware Publishing © 2003

Total Page:16

File Type:pdf, Size:1020Kb

Advanced 3D Game Programming with Directx 9.0 by Peter Walsh Wordware Publishing © 2003 . .Introduction Advanced 3D Game Programming with DirectX 9.0 by Peter Walsh Wordware Publishing © 2003 Companion Web Site Advanced 3D Game Programming Using DirectX 9.0 Peter Walsh Wordware Publishing, Inc. Library of Congress Cataloging-in-Publication Data Walsh, Peter (Peter Andrew), 1980- Advanced 3D game programming with DirectX 9.0 / by Peter Walsh. p. cm. ISBN 1-55622-968-2 (pbk.) 1. Computer games–Programming. 2. DirectX. I. Title. QA76.76.C672W382 2003 794.8'167768–dc21 2003007140 CIP Copyright © 2003 Wordware Publishing, Inc. All Rights Reserved 2320 Los Rios Boulevard Plano, Texas 75074 No part of this book may be reproduced in any form or by any means without permission in writing from Wordware Publishing, Inc. 1-55622-968-2 10 9 8 7 6 5 4 3 2 1 0403 DirectX is a registered trademark of Microsoft Corporation in the United States and/or other countries. All brand names and product names mentioned in this book are trademarks or service marks of their respective companies. Any omission or misuse (of any kind) of service marks or trademarks should not be regarded as intent to infringe on the property of others. The publisher recognizes and respects all marks used by companies, manufacturers, and developers as a means to distinguish their products. All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc., at the above address. Telephone inquiries may be made by calling: (972) 423-0090 Dedications To my beautiful fiancée Lisa Sullivan I love you with all my heart. Peter To my parents, Manny and Maria 1 Adrian Original edition for DirectX version 7.0 written by Adrian Perez with Dan Royer. Revised and updated by Peter Walsh. Acknowledgments Like Adrian says below, this book, like any other, was not just the work of one (or two or three) people; there have been so many people over the years who have helped me in one way or another, and the result of all these efforts contributed to the knowledge contained in this book. I will try to thank everyone I can. My update of this book would not have occurred without the help of Tracy Williams, who has helped me many times with my books. Not only did she get me going on my first book, but she got me hooked up with Wordware for this book, my third. Of course, I must thank Jim Hill, Wes Beckwith, and Tim McEvoy of Wordware for being such great people to work with. Thanks to Phil Taylor on the DirectX team at Microsoft for agreeing to do the tech check and also to Wolfgang Engel and Bruno Sousa for their technical support. Of course, thank you to my wonderful fiancee Lisa for helping to keep me motivated while working on the book, when I just wanted to give up and party! Where would I be without thanking all my friends and family, who keep me sane during the many months that I spent researching and writing these massive books. So thank you Jon-Paul Keatley, Stewart Wright, Andrew McCall, Todd Fay, Mike Andrews, Laz Allen, and all my other friends around the world that I don't have room to list! Also, who would I be writing a book and not mentioning my soon-to-be family-in-law? So thank you Liam and Ann Sullivan for giving me permission to marry your beautiful daughter (also to Joanne, Pauline, Liam Jr., and the rest of the family). Of course, thanks to my parents Simon and Joy Walsh for being so supportive during my younger years and to this day. The worst thing about writing acknowledgments is that you always forget someone who helped you until the day the book goes to print. So thank you to everyone else I forgot—please accept my apologies; my poor brain is worn out after all this work! Peter Walsh This book couldn't have been completed without the help and guidance of a whole lot of people. I'll try to remember them all here. First, thanks to Wes Beckwith and Jim Hill at Wordware Publishing. They were extremely forgiving of my hectic schedule, and they helped guide me to finishing this book. I also must thank Alex Dunne for letting me write an article in 1998 for Game Developer magazine. If I hadn't written that article, I never would have written this book. Everything I know about the topics in this book I learned from other people. Some of these people were mentors, others were bosses, and still others were professors and teachers. Some were just cool people who took the time to sit and talk with me. I can't thank them enough. Paul Heckbert, Tom Funkhouser, Eric Petajan, Charles Boyd, Mike Toelle, Kent Griffin, David Baraff, Randy Pausch, Howie Choset, Michael Abrash, Hugues Hoppe, and Mark Stehlik: You guys rock. Thank you. Thanks to Microsoft, ATI, nVidia, id Software, and Lydia Choy for helping me with some of the images used in the text. Many people helped assure the technical correctness and general sanity of this text. Ian Parberry and his class at University of North Texas were immensely helpful: Thanks, guys. Michael Krause was an indispensable help in assuring the correctness of the DirectX chapters. Bob Gaines, Mikey Wetzel, and Jason Sandlin from the DirectX team at Microsoft helped make sure Chapters 2, 3, 4, 8, and 10 were shipshape: Mad props to them. David Black was kind enough to look over Chapter 11 and help remove some errors and clarify a few points. Finally, I need to thank all of the people who helped me get this thing done. I know I won't be able to remember all of them, but here's a short list: Manual and Maria Perez, Katherin Peperzak, Lydia Choy (again), Mike Schuresko, Mike Breen (and the rest of the Originals), Vick Mukherjee, Patrick Nelson, Brian Sharp, and Marcin Krieger. Adrian Perez About the author Peter Walsh is a professional game programmer at Visual Science Ltd., where he has worked on a number of titles including the Formula 1 series of games, Harry Potter and the Chamber of Secrets, and others for Electronic Arts, the world's leading publisher of computer games. He has studied for a degree in computer games development at Abertay University in Dundee, Scotland, and has worked with IC-CAVE, a think tank for the next generation of gaming 2 technology. The complete source code in C++, including a game demonstrating techniques covered in this book, can be downloaded from http://www.wordware.com/files/dx9. 3 . .Advanced 3D Game Programming with DirectX 9.0 by Peter Walsh ISBN:1556229682 Wordware Publishing © 2003 (525 pages) Designed for programmers who are new to graphics and game programming, this book covers Direct 3D, DirectInput, and DirectSound, as well as artificial intelligence, networking, multithreading, and scene management. Companion Web Site Table of Contents Back Cover Table of Contents Advanced 3D Game Programming Using DirectX 9.0 Introduction Chapter 1 - Windows Chapter 2 - Getting Started with DirectX Chapter 3 - Communicating with DirectInput Chapter 4 - DirectSound Chapter 5 - 3D Math Foundations Chapter 6 - Artificial Intelligence Chapter 7 - UDP Networking Chapter 8 - Beginning Direct3D Chapter 9 - Advanced 3D Programming Chapter 10 - Advanced Direct3D Chapter 11 - Scene Management Appendix - An STL Primer 4 Introduction A wise man somewhere, somehow, at some point in history, may have said the best way to start a book is with an anecdote. I would never question the words of a wise man who may or may not have existed, so here we go. When I was a freshman in high school back in 1993, I took the required biology class that most kids my age end up having to take. It involved experiments, lab reports, dissecting of various animals, and the like. One of my lab partners was a fellow named Chris V. We were both interested in computers and quickly became friends, to the point where talking about biology in class was second to techno-babble. One night, in the middle of December, Chris called me up. The lab report that was due the next day required results from the experiment we had done together in class, and he had lost his copy of our experiment results. He wanted to know if I could copy mine and bring them over to his place so he could finish writing up the lab. Of course, this was in those heinous pre-car days, so driving to his house required talking my parents into it, finding his address, and various other hardships. While I was willing to do him the favor, I wasn't willing to do it for free. So I asked him what he could do to reciprocate my kind gesture. "Well," he said, "I guess I can give you a copy of this game I just got." "Really? What's it called?" I said. "Doom. By the Wolf 3D guys." "It's called Doom? What kind of name is that??" After getting the results to his house and the game to mine, I fired the program up on my creaky old 386 DX-20 clone, burning rubber with a whopping 4 MB of RAM. As my space marine took his first tenuous steps down the corridors infested with hellspawn, my life changed. I had done some programming before in school (Logo and Basic), but after I finished playing the first time, I had a clear picture in my head of what I wanted to do with my life: I wanted to write games, something like Doom.
Recommended publications
  • Windows 7 Operating Guide
    Welcome to Windows 7 1 1 You told us what you wanted. We listened. This Windows® 7 Product Guide highlights the new and improved features that will help deliver the one thing you said you wanted the most: Your PC, simplified. 3 3 Contents INTRODUCTION TO WINDOWS 7 6 DESIGNING WINDOWS 7 8 Market Trends that Inspired Windows 7 9 WINDOWS 7 EDITIONS 10 Windows 7 Starter 11 Windows 7 Home Basic 11 Windows 7 Home Premium 12 Windows 7 Professional 12 Windows 7 Enterprise / Windows 7 Ultimate 13 Windows Anytime Upgrade 14 Microsoft Desktop Optimization Pack 14 Windows 7 Editions Comparison 15 GETTING STARTED WITH WINDOWS 7 16 Upgrading a PC to Windows 7 16 WHAT’S NEW IN WINDOWS 7 20 Top Features for You 20 Top Features for IT Professionals 22 Application and Device Compatibility 23 WINDOWS 7 FOR YOU 24 WINDOWS 7 FOR YOU: SIMPLIFIES EVERYDAY TASKS 28 Simple to Navigate 28 Easier to Find Things 35 Easy to Browse the Web 38 Easy to Connect PCs and Manage Devices 41 Easy to Communicate and Share 47 WINDOWS 7 FOR YOU: WORKS THE WAY YOU WANT 50 Speed, Reliability, and Responsiveness 50 More Secure 55 Compatible with You 62 Better Troubleshooting and Problem Solving 66 WINDOWS 7 FOR YOU: MAKES NEW THINGS POSSIBLE 70 Media the Way You Want It 70 Work Anywhere 81 New Ways to Engage 84 INTRODUCTION TO WINDOWS 7 6 WINDOWS 7 FOR IT PROFESSIONALS 88 DESIGNING WINDOWS 7 8 WINDOWS 7 FOR IT PROFESSIONALS: Market Trends that Inspired Windows 7 9 MAKE PEOPLE PRODUCTIVE ANYWHERE 92 WINDOWS 7 EDITIONS 10 Remove Barriers to Information 92 Windows 7 Starter 11 Access
    [Show full text]
  • Tivoli Provisioning Manager for OS Deployment: User's Guide Contents
    Tivoli Provisioning Manager for OS Deployment Version 7.1.1.11 User's Guide Tivoli Provisioning Manager for OS Deployment Version 7.1.1.11 User's Guide ii Tivoli Provisioning Manager for OS Deployment: User's Guide Contents Chapter 1. Defining targets ......1 Restoring a system profile manually .....51 Adding targets..............2 Generic System Profiles (GSP) for Windows Detecting targets automatically .......3 operating systems ............52 Adding targets to the Target Monitor manually . 3 Generating Generic System Profile......52 Importing and exporting targets lists .....4 Configuration file ...........53 Configuring new targets .........5 Command line output ..........55 Setting the type of target boot .......6 Software modules for Windows operating systems 56 Changing the default administrative group . 7 WinPE and its uses ...........56 Requirements for VMware targets .......7 Creating software modules ........58 Injecting drivers on WinPE to deploy Windows XP Editing software modules ........71 guests ...............9 Keeping command lines confidential .....72 Booting non x86 and non x86-64 targets .....10 Keyword substitution ..........72 Booting pSeries targets on the OS deployment Customizing the software page .......74 server ...............10 OS configuration and software bindings ....75 Booting CellBlades targets on the OS deployment Scheduling the application of software modules server ...............11 for Windows operating systems ......78 Booting SPARC targets on the OS deployment Working with hardware configurations .....79 server ...............11 Setting up your environment .......80 Booting on UEFI targets ..........13 Hardware configuration objects and tasks . 81 Organizing targets ............13 RAID and Fiber Channel hardware capture. 82 Configuring targets ............14 Creating a hardware environment ......82 Configuring multiple targets........14 Creating a hardware configuration object . 91 Configuring targets for fully unattended OS Creating a hardware capture configuration .
    [Show full text]
  • Adobe Introduction to Scripting
    ADOBE® INTRODUCTION TO SCRIPTING © Copyright 2007 Adobe Systems Incorporated. All rights reserved. Adobe® Introduction to Scripting NOTICE: All information contained herein is the property of Adobe Systems Incorporated. No part of this publication (whether in hardcopy or electronic form) may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Adobe Systems Incorporated. The software described in this document is furnished under license and may only be used or copied in accordance with the terms of such license. This publication and the information herein is furnished AS IS, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies, makes no warranty of any kind (express, implied, or statutory) with respect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for particular purposes, and non-infringement of third-party rights. Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization. Adobe®, the Adobe logo, Illustrator®, InDesign®, and Photoshop® are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Apple®, Mac OS®, and Macintosh® are trademarks of Apple Computer, Inc., registered in the United States and other countries. Microsoft®, and Windows® are either registered trademarks or trademarks of Microsoft Corporation in the United States and other countries. JavaScriptTM and all Java-related marks are trademarks or registered trademarks of Sun Microsystems, Inc.
    [Show full text]
  • Wireless GPON ONT
    GPON 4 Ethernet Ports | 1 PON | VoIP | 802.11n | 802.11ac GRG-4260us Wireless GPON ONT The GRG-4260us is an advanced GPON ONT gateway with 1 GPON WAN port, 4 Gigabit Ethernet LAN ports, 2 FXS ports, 1 USB2.0 Host and IEEE802.11 series Wi-Fi. The Wi-Fi not only provides an 802.11n 2T2R 2.4GHz Band which is backward compatible with 802.11g/b but also supports high performance 802.11ac with 3T3R design at 5GHz band. GRG-4260us provides powerful functions which telephone companies have applied on the xDSL CPE IAD device, and remote management utilities (such as TR-069) for network management and maintenance. FEATURES .UPnP, IPv6 compliant .WPA and 802.1x/ WPS 2.0/ Radius Client .PhyR and G.INP .NAT/PAT .Supports TR-069/TR-098/TR-181i2 .IGMP Proxy/ Fast Leave/ Snooping/ Proxy .Configuration backup and restoration .DHCP Server/Client .Web-based management (HTTPS/HTTP) .Embedded SNMP agent .Supports remote administration, automatic .IP/MAC address filtering firmware upgrade and configuration .Static route/ RIP/ RIP v2 routing functions .Integrated 802.11ac AP (backward compatible .DNS Proxy/Relay with 802.11a/n) www.comtrend.com GRG-4260us 4 Ethernet Ports | 1 PON | VoIP | 802.11n | 802.11ac SPECIFICATIONS Hardware Networking Protocols .PPPoE pass-through, Multiple PPPoE sessions on single WAN .GPON X 1 Bi-directional Optical (1310nm/1490nm) .RJ-45 X 4 for LAN, (10/100/1000 Base T) interface .RJ-11 X 2 for FXS (optional) .PPPoE filtering of non-PPPoE packets between WAN and LAN .USB2.0 host X 1 .Transparent bridging between all LAN and WAN interfaces
    [Show full text]
  • Speech Recognition Software in SQA Assessments
    Speech Recognition software in SQA Assessments CALL Scotland May 2011 Speech Recognition Software in SQA Assessments Speech Recognition in SQA Assessments Paul Nisbet Dr. Stuart Aitken Allan Wilson This Report was written by staff at CALL Scotland, University of Edinburgh, for the Scottish Qualifications Authority. The work was funded by the Scottish Qualifications Authority. This book may be reproduced in whole or in part by agencies and organisations working in education, provided the source is acknowledged and no charge is made. © CALL Scotland, The University of Edinburgh and Scottish Qualifications Authority CALL Scotland The Moray House Faculty of Education The University of Edinburgh Paterson’s Land Holyrood Road Edinburgh EH8 8AQ http://callscotland.org.uk 2 Speech Recognition Software in SQA Assessments Contents Introduction ............................................................................................................................... 5 Use of speech recognition in SQA external assessments ...................................................... 6 Summary .................................................................................................................................... 7 Program Comparison ................................................................................................................. 9 Dragon NaturallySpeaking 11 .................................................................................................. 13 Networks .............................................................................................................................
    [Show full text]
  • Attacker Antics Illustrations of Ingenuity
    ATTACKER ANTICS ILLUSTRATIONS OF INGENUITY Bart Inglot and Vincent Wong FIRST CONFERENCE 2018 2 Bart Inglot ◆ Principal Consultant at Mandiant ◆ Incident Responder ◆ Rock Climber ◆ Globetrotter ▶ From Poland but live in Singapore ▶ Spent 1 year in Brazil and 8 years in the UK ▶ Learning French… poor effort! ◆ Twitter: @bartinglot ©2018 FireEye | Private & Confidential 3 Vincent Wong ◆ Principal Consultant at Mandiant ◆ Incident Responder ◆ Baby Sitter ◆ 3 years in Singapore ◆ Grew up in Australia ©2018 FireEye | Private & Confidential 4 Disclosure Statement “ Case studies and examples are drawn from our experiences and activities working for a variety of customers, and do not represent our work for any one customer or set of customers. In many cases, facts have been changed to obscure the identity of our customers and individuals associated with our customers. ” ©2018 FireEye | Private & Confidential 5 Today’s Tales 1. AV Server Gone Bad 2. Stealing Secrets From An Air-Gapped Network 3. A Backdoor That Uses DNS for C2 4. Hidden Comment That Can Haunt You 5. A Little Known Persistence Technique 6. Securing Corporate Email is Tricky 7. Hiding in Plain Sight 8. Rewriting Import Table 9. Dastardly Diabolical Evil (aka DDE) ©2018 FireEye | Private & Confidential 6 AV SERVER GONE BAD Cobalt Strike, PowerShell & McAfee ePO (1/9) 7 AV Server Gone Bad – Background ◆ Attackers used Cobalt Strike (along with other malware) ◆ Easily recognisable IOCs when recorded by Windows Event Logs ▶ Random service name – also seen with Metasploit ▶ Base64-encoded script, “%COMSPEC%” and “powershell.exe” ▶ Decoding the script yields additional PowerShell script with a base64-encoded GZIP stream that in turn contained a base64-encoded Cobalt Strike “Beacon” payload.
    [Show full text]
  • Run-Commands-Windows-10.Pdf
    Run Commands Windows 10 by Bettertechtips.com Command Action Command Action documents Open Documents Folder devicepairingwizard Device Pairing Wizard videos Open Videos Folder msdt Diagnostics Troubleshooting Wizard downloads Open Downloads Folder tabcal Digitizer Calibration Tool favorites Open Favorites Folder dxdiag DirectX Diagnostic Tool recent Open Recent Folder cleanmgr Disk Cleanup pictures Open Pictures Folder dfrgui Optimie Drive devicepairingwizard Add a new Device diskmgmt.msc Disk Management winver About Windows dialog dpiscaling Display Setting hdwwiz Add Hardware Wizard dccw Display Color Calibration netplwiz User Accounts verifier Driver Verifier Manager azman.msc Authorization Manager utilman Ease of Access Center sdclt Backup and Restore rekeywiz Encryption File System Wizard fsquirt fsquirt eventvwr.msc Event Viewer calc Calculator fxscover Fax Cover Page Editor certmgr.msc Certificates sigverif File Signature Verification systempropertiesperformance Performance Options joy.cpl Game Controllers printui Printer User Interface iexpress IExpress Wizard charmap Character Map iexplore Internet Explorer cttune ClearType text Tuner inetcpl.cpl Internet Properties colorcpl Color Management iscsicpl iSCSI Initiator Configuration Tool cmd Command Prompt lpksetup Language Pack Installer comexp.msc Component Services gpedit.msc Local Group Policy Editor compmgmt.msc Computer Management secpol.msc Local Security Policy: displayswitch Connect to a Projector lusrmgr.msc Local Users and Groups control Control Panel magnify Magnifier
    [Show full text]
  • Caverns Measureless to Man: Interdisciplinary Planetary Science & Technology Analog Research Underwater Laser Scanner Survey (Quintana Roo, Mexico)
    Caverns Measureless to Man: Interdisciplinary Planetary Science & Technology Analog Research Underwater Laser Scanner Survey (Quintana Roo, Mexico) by Stephen Alexander Daire A Thesis Presented to the Faculty of the USC Graduate School University of Southern California In Partial Fulfillment of the Requirements for the Degree Master of Science (Geographic Information Science and Technology) May 2019 Copyright © 2019 by Stephen Daire “History is just a 25,000-year dash from the trees to the starship; and while it’s going on its wild and woolly but it’s only like that, and then you’re in the starship.” – Terence McKenna. Table of Contents List of Figures ................................................................................................................................ iv List of Tables ................................................................................................................................. xi Acknowledgements ....................................................................................................................... xii List of Abbreviations ................................................................................................................... xiii Abstract ........................................................................................................................................ xvi Chapter 1 Planetary Sciences, Cave Survey, & Human Evolution................................................. 1 1.1. Topic & Area of Interest: Exploration & Survey ....................................................................12
    [Show full text]
  • Microsoft Patches Were Evaluated up to and Including CVE-2020-1587
    Honeywell Commercial Security 2700 Blankenbaker Pkwy, Suite 150 Louisville, KY 40299 Phone: 1-502-297-5700 Phone: 1-800-323-4576 Fax: 1-502-666-7021 https://www.security.honeywell.com The purpose of this document is to identify the patches that have been delivered by Microsoft® which have been tested against Pro-Watch. All the below listed patches have been tested against the current shipping version of Pro-Watch with no adverse effects being observed. Microsoft Patches were evaluated up to and including CVE-2020-1587. Patches not listed below are not applicable to a Pro-Watch system. 2020 – Microsoft® Patches Tested with Pro-Watch CVE-2020-1587 Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability CVE-2020-1584 Windows dnsrslvr.dll Elevation of Privilege Vulnerability CVE-2020-1579 Windows Function Discovery SSDP Provider Elevation of Privilege Vulnerability CVE-2020-1578 Windows Kernel Information Disclosure Vulnerability CVE-2020-1577 DirectWrite Information Disclosure Vulnerability CVE-2020-1570 Scripting Engine Memory Corruption Vulnerability CVE-2020-1569 Microsoft Edge Memory Corruption Vulnerability CVE-2020-1568 Microsoft Edge PDF Remote Code Execution Vulnerability CVE-2020-1567 MSHTML Engine Remote Code Execution Vulnerability CVE-2020-1566 Windows Kernel Elevation of Privilege Vulnerability CVE-2020-1565 Windows Elevation of Privilege Vulnerability CVE-2020-1564 Jet Database Engine Remote Code Execution Vulnerability CVE-2020-1562 Microsoft Graphics Components Remote Code Execution Vulnerability
    [Show full text]
  • [MS-ERREF]: Windows Error Codes
    [MS-ERREF]: Windows Error Codes Intellectual Property Rights Notice for Open Specifications Documentation . Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL's, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft Open Specification Promise or the Community Promise. If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected]. Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights.
    [Show full text]
  • Vbscript Programmer’S Reference Third Edition
    VBScript Programmer’s Reference Third Edition Adrian Kingsley-Hughes Kathie Kingsley-Hughes Daniel Read Wiley Publishing, Inc. ffirs.indd iii 8/28/07 9:41:21 AM ffirs.indd vi 8/28/07 9:41:22 AM VBScript Programmer’s Reference Third Edition Introduction . xxv Chapter 1: A Quick Introduction to Programming . 1 Chapter 2: What VBScript Is — and Isn’t! . 31 Chapter 3: Data Types . 45 Chapter 4: Variables and Procedures . 83 Chapter 5: Control of Flow . 109 Chapter 6: Error Handling and Debugging . 129 Chapter 7: The Scripting Runtime Objects . 183 Chapter 8: Classes in VBScript (Writing Your Own COM Objects) . 209 Chapter 9: Regular Expressions . 233 Chapter 10: Client-Side Web Scripting . 261 Chapter 11: Windows Sidebars and Gadgets . 287 Chapter 12: Task Scheduler Scripting . 309 Chapter 13: PowerShell . 345 Chapter 14: Super-Charged Client-Side Scripting . 375 Chapter 15: Windows Script Host . 405 Chapter 16: Windows Script Components . 465 Chapter 17: Script Encoding . 489 Chapter 18: Remote Scripting . 509 Chapter 19: HTML Applications . 517 Chapter 20: Server-Side Web Scripting . 535 Chapter 21: Adding VBScript to Your VB and .NET Applications . 569 (Continued) ffirs.indd i 8/28/07 9:41:21 AM Appendix A: VBScript Functions and Keywords . 603 Appendix B: Variable Naming Convention . 675 Appendix C: Coding Conventions . 677 Appendix D: Visual Basic Constants Supported in VBScript . 681 Appendix E: VBScript Error Codes and the Err Object . 687 Appendix F: The Scripting Runtime Library Object Reference . 703 Appendix G: The Windows Script Host Object Model . 715 Appendix H: Regular Expressions . 723 Appendix I: The Variant Subtypes .
    [Show full text]
  • Windows Live
    Microsoft Your potential. Our passion,"' Windows Live MICROSOFT ONLINE SERVICES •Lsw-EMerccmcnt Use Onty- Law Enforcement Hotline: (425) 722-1299 MSN & windows Live Services: Hotmail & Passport Requests: FAX: (425) 727-3490 FAX: (650) 693-7061 Microsoft Corporation Microsoft Corporation Attention: Attention: Online Services Custodian of Records online Services custodian of Records One Microsoft Way 1065 la Avenida, Building 4 Redmond, WA 98052-6399 Mountain View, CA 94043 Summary of Record Retention Policies Hotmail & MSN E-mail IP Logs 60 days + initial sign in MSN internet Access Connection Logs 60 da\s MSN Groups—US (IP) Logs 60 days MSN Groups — inactive Status 30 days of non-activity MSN Groups — Content Deletion 30 days (!>i)5!~iu:«:iiv[- or ilbaDk'U) MSN Spaces — IIS (IP) Logs 60 days MSN Spaces — Content Deletion 90 days (after ifis;il>leil) Windows Live Messenger Conversations None Passport Varies depending on connection and date range EMERGENCY REQUESTS Microsoft online Services will respond to emergency requests outside of normal business hours if the emergency involves "the immediate danger of death or physical injury to any person..." as defined in 18 u.S.C. § 2702(c)(4) and (b)(8). Emergencies are limited to situations like kidnapping, murder threats, bomb threats, terrorist threats, etc. Legal Documentation Required for Customer Account information and content The Electronic communications Privacy Act (ECPAi (18 u.S.c. § 2701 through 2712) governs what legal documentation is required in order for Microsoft's online services records custodians to disclose customer account information and e-mail content. For most Microsoft Online services: Basic Subscriber information may be Disclosed with a Subpoena.
    [Show full text]