diff --git a/README.md b/README.md index 3ccd78ec..8e5f9c37 100644 --- a/README.md +++ b/README.md @@ -23,16 +23,14 @@ If you cannot get a sample to work as expected, it might have platform, version, or SKU-specific requirements. If you have any issues with the samples, please provide feedback using the Issues list. -To get a copy of Windows, go to -[Downloads and tools](http://go.microsoft.com/fwlink/p/?linkid=301696). - To get a copy of Visual Studio, go to [Visual Studio Downloads](http://go.microsoft.com/fwlink/p/?linkid=301697). -Other samples repos: +Other samples: - [Windows Universal Samples (UWP)](https://github.com/Microsoft/Windows-universal-samples) - [Desktop Bridge to Universal Windows Platform (UWP)](https://github.com/Microsoft/DesktopBridgeToUWP-Samples) +- [Code samples browser](https://docs.microsoft.com/samples/) This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) diff --git a/Samples/Win7Samples/multimedia/mediafoundation/AudioClip/README.md b/Samples/Win7Samples/multimedia/mediafoundation/AudioClip/README.md new file mode 100644 index 00000000..8da8c304 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/AudioClip/README.md @@ -0,0 +1,54 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: AudioClip sample +urlFragment: audioclip +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample demonstrates using the IMFSourceReader API to get uncompressed media data from a media file. +--- + +# AudioClip sample + +Demonstrates using the IMFSourceReader API to get uncompressed media data from a media file. + +This sample application reads audio data from a media file and writes the uncompressed audio to a WAVE file. + +## Sample Language Implementations + +C++ + +## Files + +AudioClip.sln +AudioClip.vcproj +main.cpp +readme.txt + +## To build the sample using the command prompt + +1. Open the Command Prompt window and navigate to the AudioClip directory. +2. Type `msbuild AudioClip.sln`. + +## To build the sample using Visual Studio (preferred method) + +1. Open Windows Explorer and navigate to the AudioClip directory. +2. Double-click the icon for the AudioClip.sln file to open the file in Visual Studio. +3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. + +## To run the sample + +This sample is a command-line application. + +It uses the following command-line arguments: + + audioclip.exe inputfile outputfile.wav + +where + + inputfile: The name of a file that contains an audio stream. + outputfile.wav: The name of the WAVE file to write. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/DXVA_HD/README.md b/Samples/Win7Samples/multimedia/mediafoundation/DXVA_HD/README.md new file mode 100644 index 00000000..448a7115 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/DXVA_HD/README.md @@ -0,0 +1,119 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: DXVA-HD sample +urlFragment: dxva-hd +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample demonstrates DirectX Video Acceleration High Definition. DXVA-HD is a low-level video processing API. +--- + +# DXVA-HD sample + +This sample demonstrates DirectX Video Acceleration High Definition (DXVA-HD). DXVA-HD is a low-level video processing API. + +This sample is essentially a port of the DXVA2_VideoProc sample to use the DXVA-HD interfaces. It has the same basic functionality, and most of the keyboard commands are the same. + +DXVA-HD has additional capabilities that make it more powerful for video processing than the original DXVA-VP APIs introduced in Windows Vista: + +- Any stream can be either RGB or YUV. +- Any stream can be either progressive or interlaced. +- The background color can be RGB. +- Luma keying. +- The device can switch between blend, bob, and adaptive deinterlacing. +- Mandatory output formats: X8R8G8B8 and A8R8G8B8 +- Mandatory input formats: X8R8G8B8, A8R8G8B8, YUY2 and AYUV + +## Sample language implementations + +C++ + +## Files + +Application.cpp +Application.h +D3DHelper.cpp +D3DHelper.h +DXVA2_HD.rc +DXVAHD_Sample.h +dxvahd_utils.cpp +dxvahd_utils.h +DXVA_HD.sln +DXVA_HD.vcproj +readme.txt +resource.h +settings.h +stdafx.h +substream.bmp +utils.h +video.cpp +video.h +winmain.cpp + +## To build the sample using the command prompt + +1. Open the Command Prompt window and navigate to the DXVA_HD directory. +2. Type msbuild DXVA_HD.sln. + +## To build the sample using Visual Studio (preferred method) + +1. Open Windows Explorer and navigate to the DXVA_HD directory. +2. Double-click the icon for the DXVA_HD.sln file to open the file in Visual Studio. +3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. + +## To run the sample + +1. Navigate to the directory that contains the new executable, using the command prompt or Windows Explorer. +2. Type DXVA_HD.exe at the command line, or double-click the icon for DXVA_HD.exe to launch it from Windows Explorer. + +Command line options: + +```cmd +-hh : Hardware Direct3D device and hardware DXVA-HD device. +-hs : Hardware Direct3D device and software DXVA-HD device. +-ss : Software Direct3D device and software DXVA-HD device. +``` + +## Modes + +The user can toggle between different modes by pressing the F1 through F9 keys. + +The arrow keys control different settings in each mode: + +F1 : Alpha values. + +- UP/DOWN: Main video planar alpha +- LEFT/RIGHT: Substream pixel alpha + +F2 : Resize the main video source rectangle. + +F3 : Move the main video source rectangle. + +F4 : Resize the main video destination rectangle. + +F5 : Move the main video destination rectangle. + +F6 : Change the background color or extended color information. + +- UP/DOWN: Change YCbCr standard and RGB color range. +- LEFT/RIGHT: Cycle through background colors. + +F7 : Ajust brightness and contrast. + +- UP/DOWN: Brightness +- LEFT/RIGHT: Contrast + +F8 : Adjust hue and saturation. + +- UP/DOWN: Hue +- LEFT/RIGHT: Saturation + +F9: Resize the target rectangle. + +HOME : Resets all mode settings to their default values. + +ALT + ENTER: Switch between windowed and full-screen mode. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/Decoder/README.md b/Samples/Win7Samples/multimedia/mediafoundation/Decoder/README.md new file mode 100644 index 00000000..cb1056fb --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/Decoder/README.md @@ -0,0 +1,51 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: Decoder sample +urlFragment: decoder +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample demonstrates how to implement a decoder in Media Foundation. +--- + +# Decoder sample + +Demonstrates how to implement a decoder in Media Foundation. + +This sample implements a "fake" MPEG-1 decoder. The decoder does not actually decode the video streqam. Instead, it simply scans the bitstream for start codes. Then it finds the time code for each payload and outputs a blank video frame with the time code. + +NOTE: An earlier version of this sample was built into the MPEG1Source sample. + +## Sample Language Implementations + +C++ + +## To build the sample using the command prompt + +1. Open the Command Prompt window and navigate to the Transcode directory. +2. Type msbuild Decoder.sln. + +## To build the sample using Visual Studio (preferred method) + +1. Open Windows Explorer and navigate to the Decoder directory. +2. Double-click the icon for the Decoder.sln file to open the file in Visual Studio. +3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. + +## To run the sample + +This sample builds a DLL that must be registered. + +To register the DLL: + +1. Open an elevated command prompt. +2. Naviage to the Debug or Release directory. +3. Type "regsvr32 decoder.dll". + +To unegister the DLL, type "regsvr32 /u decoder.dll" + +You can use the decoder DLL with the MPEG1Source sample to play an +MPEG-1 video file. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/MFCaptureToFile/README.md b/Samples/Win7Samples/multimedia/mediafoundation/MFCaptureToFile/README.md new file mode 100644 index 00000000..c26015b2 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/MFCaptureToFile/README.md @@ -0,0 +1,51 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: MFCaptureToFile sample +urlFragment: mfcapturetofile +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample demonstrates how to capture video from camera to a file. +--- + +# MFCaptureToFile sample + +Demonstrates how to capture video from camera to a file. + +## Sample Language Implementations + +C++ + +## Files + +capture.cpp +capture.h +maindialog.cpp +maindialog.h +MFCaptureToFile.rc +MFCaptureToFile.sln +MFCaptureToFile.vcproj +readme.txt +resource.h +stdafx.h +winmain.cpp + +## To build the sample using the command prompt + +1. Open the Command Prompt window and navigate to the MFCaptureToFile directory. +2. Type msbuild MFCaptureToFile.sln. + +## To build the sample using Visual Studio (preferred method) + +1. Open Windows Explorer and navigate to the MFCaptureToFile directory. +2. Double-click the icon for the MFCaptureToFile.sln file to open the file in Visual Studio. +3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. + +## To run the sample + +1. Navigate to the directory that contains the new executable using the command prompt or Windows Explorer. +2. Type MFCaptureToFile.exe at the command line, or double-click the icon for MFCaptureToFile.exe to launch it from Windows Explorer. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/MFPlayer2/README.md b/Samples/Win7Samples/multimedia/mediafoundation/MFPlayer2/README.md new file mode 100644 index 00000000..026203d3 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/MFPlayer2/README.md @@ -0,0 +1,76 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: MFPlayer2 sample +urlFragment: mfplayer2 +extendedZipContent: +- path: LICENSE + target: LICENSE +description: Demonstrates how to use the IMFPMediaPlayer API to perform media playback +--- + +# MFPlayer2 sample + +Demonstrates how to use the IMFPMediaPlayer API to perform media playback. + +This sample implements the following playback features: + +- Play, pause, stop +- Fast-forward and rewind +- Frame stepping +- Seeking +- Volume and mute +- Metadata +- Video zoom +- Video effects + +For a more basic example of using IMFPMediaPlayer, see the SimplePlay +sample. + +## Sample Language Implementations + +C++ + +Files: + +AudioSessionVolume.cpp +AudioSessionVolume.h +MainDialog.cpp +MainDialog.h +MFPlayer.h +MFPlayer.rc +MFPlayer.sln +MFPlayer.vcproj +Player2.cpp +Player2.h +readme.txt +resource.h +winmain.cpp +images\mute.bmp +images\play.bmp +images\slider.bmp +images\volume.bmp +WinUI\Slider.cpp +WinUI\Slider.h +WinUI\ThemedButton.cpp +WinUI\ThemedButton.h +WinUI\utils.h + +## To build the sample using the command prompt + +1. Open the Command Prompt window and navigate to the MFPlayer2 directory. +2. Type msbuild MFPlayer.sln. + +## To build the sample using Visual Studio (preferred method) + +1. Open Windows Explorer and navigate to the MFPlayer2 directory. +2. Double-click the icon for the MFPlayer.sln file to open the file in Visual Studio. +3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. + +## To run the sample + +1. Navigate to the directory that contains the new executable, using the command prompt or Windows Explorer. +2. Type MFPlayer.exe at the command line, or double-click the icon for MFPlayer.exe to launch it from Windows Explorer. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/asfparser/README.md b/Samples/Win7Samples/multimedia/mediafoundation/asfparser/README.md new file mode 100644 index 00000000..a348eaf4 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/asfparser/README.md @@ -0,0 +1,101 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: MF_ASFParser sample +urlFragment: mf-asfparser +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample demonstrates how to split the stream of an ASF file by using the ASF components provided by Media Foundation. +--- + +# MF_ASFParser sample + +- Sample: MF_ASFParser +- Sample location: \\Samples\Multimedia\MF_ASFParser +- Module: MF_ASFParser.exe +- Language: Win32 +- OS Version: Windows Vista or later + +File | Description +-----|------------- +MF_ASFParser.sln | Solution file +MF_ASFParser.vcproj | Project file +resource.h | Resource IDs +MF_ASFParser.rc | Resource file +Common.h | Global project header +Winmain.cpp | Entry point +ASFManager.h | CASFManager declaration. Wrapper for ASF components. +ASFManager.cpp | CASFManager class definition. +Decoder.h | CDecoder declaration. Wrapper for the decoder MFT. +Decoder.cpp | CDecoder class definition. +MediaController.h | CMediaController declaration. Handles decoded samples with GDI+ and Wavform Audio +MediaController.cpp | CMediaController class definition. +Utils.h | Debug utilities declaration. +Utils.cpp | Debug utilities definition. + +## Features Demonstrated + +This sample demonstrates how to split the stream of an ASF file (\*.wma/\*.wmv) by using the ASF components provided by Media Foundation. It shows how to: + +- Open an ASF file. +- Enumerate the audio and video streams contained in the file. +- Select an audio or a video stream for parsing. +- Seeking within the ASF Data Object. +- Generate compressed samples for the selected stream. +- Decode audio and video samples +- Play decoded audio samples using Wavform Audio APIs that ships with the Window Multimedia SDK. +- Get bitmap data for a key frame from a decoded video sample. + +## Relevant Documentation + +The following topics in Media Foundation SDK documentation provides information about the procedures demonstrated in this sample: + +- About ASF Files +- ASF Splitter +- ASF Content Information +- ASF Indexer +- Tutorial: Parsing an ASF Stream + +## Relevant APIs + +The sample demonstrates the use of the following Media Foundation APIs: + +- IMFASFContentInfo Interface +- IMFASFSplitter Interface +- IMFASFIndexer Interface +- MFASFContentInfo Function +- MFCreateASFSplitter Function +- MFCreateASFIndexer Function + +## Building the Sample + +To build this sample: + +1. From the Start->All Programs menu choose Microsoft Windows SDK -> CMD Shell +2. In the WinSDK CMD shell, navigate to Samples/Multimedia/MediaFoundationF/MF_ASFParser +3. Type vcbuild. + +This creates the executable module in the Debug and the Release folder + +## Usage + +1. To open an ASF file. click the Open Media File... button. This displays the Open dialog box. +2. Specify the media file and click Open. Information about the media file is shown on the Information pane. +3. In the Parser Configuration, select a stream to parse. +4. To generate samples in reverse, check Reverse. +5. To specify the start point, drag the slider to the desired location. +6. To begin parsing, click the Generate Samples button. The information about the samples are shown on the Information pane on the right. +7. To test the samples for the audio stream, click Test Audio button to play 5 secs clip. +8. To test the samples for the video stream, click Show Bitmap button. This opens another Window that displays the key frame as a bitmap. +9. To close the application, click the Close (x) button. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/evrpresenter/README.md b/Samples/Win7Samples/multimedia/mediafoundation/evrpresenter/README.md new file mode 100644 index 00000000..7ce54733 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/evrpresenter/README.md @@ -0,0 +1,58 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: Enhanced Video Renderer sample +urlFragment: enhanced-video-renderer +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample implements a custom presenter for the Enhanced Video Renderer. It can be used with the DirectShow EVR filter or the Media Foundation EVR sink. +--- + +# Enhanced Video Renderer sample + +This sample implements a custom presenter for the Enhanced Video Renderer (EVR). + +The sample presenter can be used with the DirectShow EVR filter or the Media Foundation EVR sink. + +This sample requires Windows Vista or later. + +## To use this sample (DirectShow) + +1. Build the sample. +2. Regsvr32 EvrPresenter.dll. +3. Build and run the EVRPlayer sample. +4. From the File menu, select EVR Presenter. +5. Select a file for playback. + +## To use this sample (Media Foundation) + +1. Build the sample. +2. Regsvr32 EvrPresenter.dll. +3. Build and run the MFPlayer2 sample. +4. From the File menu, select Open File +5. In the Open File dialog, check "Custom EVR Presenter." +6. Select a file for playback. + +## Classes + +The main classes in this sample are the following: + +D3DPresentEngine: + Creates the Direct3D device, allocates Direct3D surfaces for rendering, and presents the surfaces. + +EVRCustomPresenter: + Implements the custom presenter. + +Scheduler: + Schedules when a sample should be displayed. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/mft_audiodelay/README.md b/Samples/Win7Samples/multimedia/mediafoundation/mft_audiodelay/README.md new file mode 100644 index 00000000..0794e459 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/mft_audiodelay/README.md @@ -0,0 +1,43 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: MFT_AudioDelay sample +urlFragment: mft-audiodelay +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample implements an audio delay effect as a Media Foundation transform (MFT) and demonstrates how to write an audio MFT. +--- + +# MFT_AudioDelay sample + +Implements an audio delay effect as a Media Foundation transform (MFT). + +Demonstrates how to write an audio MFT. + +This MFT is a 1-input, 1-output transform with fixed streams. It accepts any PCM audio type. The input and output formats must be identical. + +The MFT maintains a circular buffer of the last N audio samples that were received as input. To produce the output data, each input sample is mixed with the next sample on the circular buffer. The percentage of each sample in the output is the "wet/dry" mix: + +`output_sample = (1.0 - wet) * input_sample + wet * delay_sample` + +where "wet" ranges [0..1] + +The length of the buffer determines the length of the delay. If the client drains the MFT, the MFT produces an "effect tail," which is the trailing end of the delay effect. + +The application can set the delay length and the wet/dry mix using the following attributes: + +- MF_AUDIODELAY_WET_DRY_MIX +- MF_AUDIODELAY_DELAY_LENGTH + +This sample requires Windows Vista or later. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/mft_grayscale/README.md b/Samples/Win7Samples/multimedia/mediafoundation/mft_grayscale/README.md new file mode 100644 index 00000000..643a1cd8 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/mft_grayscale/README.md @@ -0,0 +1,54 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: Grayscale transform sample +urlFragment: grayscale-transform +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample demonstrates how to write a Media Foundation transform that implements a simple grayscale video effect. +--- + +# Grayscale transform sample + +This sample demonstrates how to write a Media Foundation transform that implements a video effect. + +This transform implements a simple grayscale video effect. It supports several YUV formats (YUY2, UYVY, NV12). + +Usage: + +The sample builds a DLL. To use the sample, do the following: + +On Windows 7: + +1. Register the DLL with Regsvr32.exe. + + Note: You must run as administrator to register the DLL. + +2. Build and run the MFPlayer2 sample. + +3. From the "Options" menu, select "Video Effect" + +4. Open a video file. + +On Windows Vista: + +1. Register the DLL with Regsvr32.exe. + + Note: You must run as administrator to register the DLL. + +2. Build and run the PlaybackFX sample. + +3. Open a .wmv file. + +This sample requires Windows Vista or later. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/Samples/Win7Samples/multimedia/mediafoundation/mpeg1source/README.md b/Samples/Win7Samples/multimedia/mediafoundation/mpeg1source/README.md new file mode 100644 index 00000000..8367e8e1 --- /dev/null +++ b/Samples/Win7Samples/multimedia/mediafoundation/mpeg1source/README.md @@ -0,0 +1,48 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: MPEG-1 source sample +urlFragment: mpeg-1-source +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This sample contains an MPEG-1 source for Media Foundation. +--- + +# MPEG-1 source sample + +This sample contains an MPEG-1 source for Media Foundation. + +- The source parses MPEG-1 systems-layer streams and generates samples that contain MPEG-1 payloads. +- It does not support files that contain a raw MPEG-1 video or audio stream. +- It does not support seeking. + +This sample requires Windows Vista or later. + +## To use this sample + +1. Build the sample. +2. Regsvr32 MPEG1Source.dll +3. Use the BasicPlayback sample to play an MPEG-1 video file. + +## Classes + +Buffer: Resizable buffer used to hold the MPEG-1 data. + +MPEG1ByteStreamHandler: Bytestream handler for the MPEG-1 source. + +MPEG1Source: MPEG-1 source. Implements IMFMediaSource. + +MPEG1Stream: MPEG-1 stream. Implements IMFMediaStream. + +Parser: MPEG-1 elementary stream parser. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/Samples/Win7Samples/netds/rpc/data/inout/README.md b/Samples/Win7Samples/netds/rpc/data/inout/README.md new file mode 100644 index 00000000..6717d301 --- /dev/null +++ b/Samples/Win7Samples/netds/rpc/data/inout/README.md @@ -0,0 +1,74 @@ +--- +page_type: sample +languages: +- c +products: +- windows-api-win32 +name: INOUT sample +urlFragment: inout +extendedZipContent: +- path: LICENSE + target: LICENSE +description: The INOUT program demonstrates the use of [in,out] parameters. +--- + +# INOUT sample + +The INOUT program demonstrates the use of [in,out] parameters. + +## FILES + +The directory samples\rpc\data\inout contains the following files for building the sample distributed application INOUT: + +File Description + +README.TXT Readme file for the INOUT sample +INOUT.IDL Interface definition language file +INOUT.ACF Attribute configuration file +INOUTC.C Client main program +INOUTS.C Server main program +INOUTP.C Remote procedures +MAKEFILE Nmake file to build for Windows + +## BUILDING CLIENT AND SERVER APPLICATIONS + +The following environment variables should be already set for you: + + set CPU=i386 + set INCLUDE=%SDKROOT%\h + set LIB=%SDKROOT%\lib + set PATH=%SDKROOT%\system32;%SDKROOT%\bin + +where %SDKROOT% is the root directory for the 32-bit Windows SDK. + +For mips, set CPU=mips +For alpha, set CPU=alpha + +Build the sample distributed application: + + nmake cleanall + nmake + +This builds the executable programs inoutc.exe (client) and +inouts.exe (server). + +RUNNING THE CLIENT AND SERVER APPLICATIONS + +On the server, enter: + + inouts + +On the client, enter: + + net start workstation + inoutc + +Note: The client and server applications can run on the same Microsoft Windows NT computer when you use different screen groups. + +Several command-line switches are available to change settings for this program. For a listing of the switches available from the client program, enter: + + inoutc -? + +For a listing of switches available from the server program, enter: + + inouts -? diff --git a/Samples/Win7Samples/netds/winsock/connectbylist/README.md b/Samples/Win7Samples/netds/winsock/connectbylist/README.md new file mode 100644 index 00000000..308f0fdd --- /dev/null +++ b/Samples/Win7Samples/netds/winsock/connectbylist/README.md @@ -0,0 +1,26 @@ +--- +page_type: sample +languages: +- cpp +products: +- windows-api-win32 +name: WSAConnectByList sample +urlFragment: connect-by-list +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This IPv6 sample demonstrates the use of WSAConnectByList and dual-mode IPv4/IPv6 sockets. +--- + +# connectbylist.cpp + +This IPv6 sample demonstrates the use of WSAConnectByList and dual-mode IPv4/IPv6 sockets. + +WSAConnectByList is new to Windows Sockets in Windows Vista. + +This sample requires that TCP/IP version 6 be installed on the system, default configuration for Windows Vista. + +The client builds a socket address list and connects to the server. This is done for IPv4 (IPv6 v4-mapped address) and IPv6. + +Usage: +ConnectByList.exe diff --git a/Samples/Win7Samples/netds/winsock/ipxchat/README.md b/Samples/Win7Samples/netds/winsock/ipxchat/README.md new file mode 100644 index 00000000..c3edbb63 --- /dev/null +++ b/Samples/Win7Samples/netds/winsock/ipxchat/README.md @@ -0,0 +1,40 @@ +--- +page_type: sample +languages: +- c +products: +- windows-api-win32 +name: IPXCHAT sample +urlFragment: ipxchat-example-application +extendedZipContent: +- path: LICENSE + target: LICENSE +description: This program demonstrates the use of Windows Sockets to communicate over the IPX/SPX protocol. +--- + +# IPXCHAT example application + +This program demonstrates the use of Windows Sockets to communicate over the IPX/SPX protocol. + +Setup: + +IPXCHAT requires that an IPX protocol is loaded. The "IPX/SPX Compatible Transport" shipped in the box is the protocol which was used for testing this application. Make sure that the protocol is configured correctly for the same frame type on the two machines which are talking to each other. + +To use IPXCHAT: + +There are two sides to a sockets application, the server side (the listening side), and the client side (the calling side). On the first +machine you will need to set up IPXCHAT as the server. + +Start IPXCHAT and select Options->Listen. + +You will be prompted to enter a socket number. A default of 2FFF will be offered to you although you may change it to anything you want. Be aware that there are well known XNS sockets which you should stay away from. See Novell's "IPX Router Specification" for a list of these. + +When you select OK, IPXCHAT will initialize Windows Sockets and start listening on the specified socket. In the status box of the dialog you +will see a message "listening on .." where netnum will be a number specifying the network number, nodenum specifies +the node number, and socknum specifies the socket number. You will need these numbers to enter on the client side in order to connect. + +On the second machine (actually it can be the same machine as the server): + +Start IPXCHAT and select Options->Connect. + +You will be prompted to enter the Network Number, Node Number, and Socket Number indicated on the server (the three numbers in the status box of the server's listen dialog). Once you connect you should be able to type in the top edit control and it should appear on the bottom of your counterpart's edit control.