diff options
| author | Barry Golden <[email protected]> | 2015-08-06 20:07:53 -0700 |
|---|---|---|
| committer | Barry Golden <[email protected]> | 2015-08-06 20:07:53 -0700 |
| commit | 7c089b4b332b8a8bd2e29672bbf4f6ee430b3e77 (patch) | |
| tree | 8a7e461efc0c2e77b9cd82b3968e38fd5efef7b4 | |
| parent | 9026073a419b5ef68fb46d4f7fae52dbef09dbe1 (diff) | |
Update README.md
58 files changed, 119 insertions, 158 deletions
diff --git a/audio/sysvad/ReadMe.md b/audio/sysvad/ReadMe.md index 66650ead..87dbe85b 100644 --- a/audio/sysvad/ReadMe.md +++ b/audio/sysvad/ReadMe.md @@ -40,9 +40,9 @@ In Visual Studio, click **Build** \> **Build Solution**. **4. Locate the built driver package** -In File Explorer, navigate to the folder that contains the files for the sample. For example, you would navigate to *C:\Windows-driver-samples\audio\sysvad*, if that's the folder you specified in the preceding Step 1. +In File Explorer, navigate to the folder that contains the sample files. For example, you would navigate to *C:\\Documents\\Windows-driver-samples\\audio\\sysvad*, if that's the folder you specified in the preceding Step 1. -In the folder, the location of the driver package varies depending on the configuration and platform settings that you selected in the **Configuration Manager**. For example, if you left the default settings unchanged, then the built driver package will be saved to a folder named *Debug* inside the same folder as the extracted files. Double-click the folder for the built driver package, and then double-click the folder named *package*. +In the folder, the location of the driver package varies depending on the configuration and platform settings that you selected in the **Configuration Manager**. For example, if you left the default settings unchanged, then the built driver package will be saved to a folder named *Debug* inside the same folder as the sample files. Double-click the folder for the built driver package, and then double-click the folder named *package*. The package should contain these files: diff --git a/avstream/avshws/ReadMe.md b/avstream/avshws/ReadMe.md index b15a4ea2..0f0a3ccb 100644 --- a/avstream/avshws/ReadMe.md +++ b/avstream/avshws/ReadMe.md @@ -17,7 +17,7 @@ Provision your target computer using instructions in, for example, [Preparing a Deploy the driver to the target computer ---------------------------------------- -Now you can deploy the Avshws driver that you’ve just built to the target computer, using guidance in [Deploying a Driver to a Test Computer](http://msdn.microsoft.com/en-us/library/windows/hardware/hh454834). Specifically, find the package file under the **Package** folder in the Avshws solution. Right-click **package** and select **Properties**. Under Configuration Properties, click **Driver install** and then **Deployment**. Here you must click the check box for **Enable deployment**, and then click the button to the right of **\<Configure Computer…\>**. In the next dialog you enter the **Target Computer Name** and can let the host computer automatically provision the target computer and set up debugger options. +Now you can deploy the Avshws driver that you've just built to the target computer, using guidance in [Deploying a Driver to a Test Computer](http://msdn.microsoft.com/en-us/library/windows/hardware/hh454834). Specifically, find the package file under the **Package** folder in the Avshws solution. Right-click **package** and select **Properties**. Under Configuration Properties, click **Driver install** and then **Deployment**. Here you must click the check box for **Enable deployment**, and then click the button to the right of **\<Configure Computer…\>**. In the next dialog you enter the **Target Computer Name** and can let the host computer automatically provision the target computer and set up debugger options. Finally, in Visual Studio, from the **Build** menu select **Deploy Solution** to deploy the sample to the target computer. On the target computer, you can see the deployed package in the **%Systemdrive%\\drivertest\\drivers** folder. diff --git a/avstream/sampledevicemft/README.md b/avstream/sampledevicemft/README.md index 3d5e3914..0a73f350 100644 --- a/avstream/sampledevicemft/README.md +++ b/avstream/sampledevicemft/README.md @@ -16,8 +16,6 @@ Related topics [Windows Store device apps for cameras](http://go.microsoft.com/fwlink/p/?LinkId=306683) -[Windows 8 device experience](http://go.microsoft.com/fwlink/p/?linkid=241442) - [Media Foundation Transforms](http://msdn.microsoft.com/en-us/library/windows/hardware/ms703138) [Roadmap for Developing Streaming Media Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff568130) diff --git a/biometrics/ReadMe.md b/biometrics/ReadMe.md index e9975dd2..0a366501 100644 --- a/biometrics/ReadMe.md +++ b/biometrics/ReadMe.md @@ -17,7 +17,7 @@ Build the sample For information on how to build a driver solution using Microsoft Visual Studio, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). -**Note** The WDK no longer contains the co-installers by default. You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). +**Note** You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). Run the sample -------------- diff --git a/bluetooth/bthecho/ReadMe.md b/bluetooth/bthecho/ReadMe.md index 83ba0940..fa41920e 100644 --- a/bluetooth/bthecho/ReadMe.md +++ b/bluetooth/bthecho/ReadMe.md @@ -105,7 +105,7 @@ Run the sample 3. Run bthprops.cpl from a command line or right click on the Bluetooth icon in the system tray and select ‘Show Devices' to bring up a list of installed Bluetooth devices. -4. In the ‘Bluetooth Devices’ window click the ‘Add a device’ button. +4. In the **Bluetooth Devices** window, click the **Add a device** button. 5. In the Add a Device wizard select the server machine (the machine where you installed the echo server) as a Bluetooth device. If the server machine does not appear, please check the echo server installation and make sure that you have enabled ‘Allow Bluetooth device to find this computer’ on the server machine as explained above. When the server machine is correctly displayed, select it and pick ‘Next’. diff --git a/bluetooth/serialhcibus/ReadMe.md b/bluetooth/serialhcibus/ReadMe.md index 31f0c358..46a30f38 100644 --- a/bluetooth/serialhcibus/ReadMe.md +++ b/bluetooth/serialhcibus/ReadMe.md @@ -6,11 +6,11 @@ The purpose of this sample is to demonstrate how to implement a basic bus driver ## Universal Windows Driver Compliant This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP. -**Note**: This sample driver is generic i.e. it is not designed for a specific device and allows for a vendor to adopt and enhance it for supporting Bluetooth +**Note** This sample driver is generic. It is not designed for a specific device and allows for a vendor to adopt and enhance it for supporting Bluetooth. -This sample driver, as is, may not properly function for a device until all vendor-specific device requirements (e.g. device initialization) have been incorporated +This sample driver, as is, may not properly function for a device until all vendor-specific device requirements (for example, device initialization) have been incorporated. -It is recommended to use WDK whose version matches the target Windows build version or newer for the development of the serial bus driver. +It is recommended to use the WDK version that matches the target Windows build version or newer for the development of the serial bus driver. **FILE MANIFEST** @@ -30,7 +30,7 @@ io.c – functions that perform IO read pump via UART controller Io.h – header for io.c -pdo.c – PDO (Bluetooth function) enumeration and IOCTL processing +pdo.c - PDO (Bluetooth function) enumeration and IOCTL processing public.h – header to share with application to support Radio On/Off (“Airplane mode”) diff --git a/filesys/miniFilter/NameChanger/ReadMe.md b/filesys/miniFilter/NameChanger/ReadMe.md index 3aff5c17..9a2e9929 100644 --- a/filesys/miniFilter/NameChanger/ReadMe.md +++ b/filesys/miniFilter/NameChanger/ReadMe.md @@ -43,7 +43,7 @@ The minifilter samples come with an INF file that will install the minifilter. T 1. Make sure that *filtername*.sys and *filtername*.inf are in the same directory. - **Note** This installation will make the necessary registry updates to register the minifilter service and place *filtername*.sys in the %SystemRoot%\\system32\\drivers directory. + **Note** This installation will make the necessary registry updates to register the minifilter service and place *filtername*.sys in the %SystemRoot%\\system32\\drivers directory. 2. In Windows Explorer, right-click *filtername*.inf, and click **Install**. diff --git a/filesys/miniFilter/delete/ReadMe.md b/filesys/miniFilter/delete/ReadMe.md index 0cf71ced..05782834 100644 --- a/filesys/miniFilter/delete/ReadMe.md +++ b/filesys/miniFilter/delete/ReadMe.md @@ -11,6 +11,6 @@ Design and Operation The *delete* minifilter illustrates how to detect deletion of files and streams. It monitors IRP\_MJ\_CREATE requests for the FILE\_DELETE\_ON\_CLOSE flag. Also, it detects IRP\_MJ\_SET\_INFORMATION requests for setting FileDispositionInformation. The sample also illustrates how to handle racing deletes (in the form of multiple parallel IRP\_MJ\_SET\_INFORMATION operations), and how to distinguish deletion of an entire file from deletion of just one stream of the file. -**Note** Because of the way in which the Windows operating system deletes files, it is not possible for the minifilter to detect in advance that a file or stream will be deleted. The minifilter can only detect operations that may cause a deletion, and then determine if the deletion took place after the operation completes. +**Note** Because of the way in which the Windows operating system deletes files, it is not possible for the minifilter to detect in advance that a file or stream will be deleted. The minifilter can only detect operations that may cause a deletion, and then determine if the deletion took place after the operation completes. For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide. diff --git a/general/SystemDma/wdm/ReadMe.md b/general/SystemDma/wdm/ReadMe.md index 6b15c480..a077fe8d 100644 --- a/general/SystemDma/wdm/ReadMe.md +++ b/general/SystemDma/wdm/ReadMe.md @@ -5,7 +5,7 @@ This sample demonstrates the usage of V3 System DMA. It shows how a driver could The sample consists of a legacy device driver and a Win32 console mode test application. The test application opens a handle to the device exposed by the driver and makes a DeviceIoControl call to initiate the example system DMA. To understand how the V3 system DMA calls are invoked please study SDmaWrite() in SDma.c. -**Note** This sample driver is not a PnP driver. This is a minimal driver meant to demonstrate an OS feature. Neither it nor its sample programs are intended for use in a production environment. Rather, they are intended for educational purposes and as a skeleton driver. +**Note** This sample driver is not a PnP driver. This is a minimal driver meant to demonstrate an OS feature. Neither it nor its sample programs are intended for use in a production environment. Rather, they are intended for educational purposes and as a skeleton driver. Run the sample -------------- diff --git a/general/cancel/ReadMe.md b/general/cancel/ReadMe.md index c2b09ead..2a1be648 100644 --- a/general/cancel/ReadMe.md +++ b/general/cancel/ReadMe.md @@ -21,5 +21,5 @@ To test this driver, run Testapp.exe, which is a simple Win32 multithreaded cons `Usage: testapp <NumberOfThreads>` -**Note** The `NumberOfThreads` command-line parameter is limited to a maximum of 10 threads; the default value if no parameter is specified is 1. The main thread waits for user input. If you press Q, the application exits gracefully; otherwise, it exits the process abruptly and forces all the threads to be terminated and all pending I/O operations to be canceled. Other threads perform I/O asynchronously in a loop. After every overlapped read, the thread goes into an alertable sleep and wakes as soon as the completion routine runs, which occurs when the driver completes the read IRP. You should run multiple instances of the application to stress test the driver. +**Note** The `NumberOfThreads` command-line parameter is limited to a maximum of 10 threads; the default value if no parameter is specified is 1. The main thread waits for user input. If you press Q, the application exits gracefully; otherwise, it exits the process abruptly and forces all the threads to be terminated and all pending I/O operations to be canceled. Other threads perform I/O asynchronously in a loop. After every overlapped read, the thread goes into an alertable sleep and wakes as soon as the completion routine runs, which occurs when the driver completes the read IRP. You should run multiple instances of the application to stress test the driver. diff --git a/general/echo/umdf2/ReadMe.md b/general/echo/umdf2/ReadMe.md index bb45c52a..ba3ffa36 100644 --- a/general/echo/umdf2/ReadMe.md +++ b/general/echo/umdf2/ReadMe.md @@ -14,15 +14,10 @@ Related technologies [User-Mode Driver Framework](http://msdn.microsoft.com/en-us/library/windows/hardware/ff560456) -Download and extract the sample -------------------------------- - -Click the download button on this page. Click **Save**, and then click **Open Folder**. Right click the zip file, and choose **Extract All**. Specify or browse to a folder for the extracted files. For example, you could extract to c:\\umdf2echo. - Open the driver solution in Visual Studio ----------------------------------------- -Navigate to the folder that has the extracted sample. Double click the solution file (umdf2echo.sln). In Microsoft Visual Studio, locate Solution Explorer. (If this is not already open, choose **Solution Explorer** from the **View** menu.) In Solution Explorer, you can see one solution that contains three projects. There is a driver project (Driver-\>AutoSync-\>echo), an application project (Exe-\>echoapp), and a package project named **package** (lower case). +In Microsoft Visual Studio, open the solution file (umdf2echo.sln). Choose **Solution Explorer** from the **View** menu. In Solution Explorer, you can see one solution that contains three projects. There is a driver project (Driver-\>AutoSync-\>echo), an application project (Exe-\>echoapp), and a package project named **package** (lower case). Set the configuration and platform in Visual Studio --------------------------------------------------- @@ -70,7 +65,7 @@ Build the sample using MSBuild As an alternative to building the driver sample in Visual Studio, you can build it in a Visual Studio Command Prompt window. In Visual Studio, on the **Tools** menu, choose **Visual Studio Command Prompt**. In the Visual Studio Command Prompt window, navigate to the folder that has the solution file, umdf2echo.sln. Use the MSBuild command to build the solution. Here is an example: -**msbuild /p:configuration="Release" /p:platform="Win32" umdf2echo.sln +**msbuild /p:configuration="Release" /p:platform="Win32" umdf2echo.sln** For more information about using MSBuild to build a driver package, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). diff --git a/general/echo/umdfSocketEcho/ReadMe.md b/general/echo/umdfSocketEcho/ReadMe.md index ed4ce05f..8015044b 100644 --- a/general/echo/umdfSocketEcho/ReadMe.md +++ b/general/echo/umdfSocketEcho/ReadMe.md @@ -32,7 +32,7 @@ To install the UMDF Echo sample driver from the command line, do the following: 2. Copy the UMDF coinstaller, WUDFUpdate\_*MMmmmm*.dll, from the \\redist\\wdf\\\<architecture\> directory to the same directory (for example, C:\\socketechoSample). - **Note**: You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. + **Note** You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. 3. Navigate to the directory that contains the INF file and binaries (for example, cd /d c:\\socketechoSample), and run DevCon.exe as follows: diff --git a/general/event/ReadMe.md b/general/event/ReadMe.md index 8b8bebaa..c091af5a 100644 --- a/general/event/ReadMe.md +++ b/general/event/ReadMe.md @@ -9,7 +9,7 @@ This sample demonstrates two different ways a Windows kernel-mode driver can not There are two advantages of IRP-based approach over the event-based approach. First, the driver can send a message to the application along with the event notification. Second, the driver routines don't have to run in the context of the process that made the request. Instead, the application can send a synchronous or asynchronous (overlapped) I/O control request to the driver. -**Note** This sample driver is not a Plug and Play driver. This is a minimal driver meant to demonstrate a feature of the operating system. Neither this driver nor its sample programs are intended for use in a production environment. Rather, they are intended for educational purposes and as a skeleton driver. +**Note** This sample driver is not a Plug and Play driver. This is a minimal driver meant to demonstrate a feature of the operating system. Neither this driver nor its sample programs are intended for use in a production environment. Rather, they are intended for educational purposes and as a skeleton driver. Run the sample diff --git a/general/ioctl/kmdf/ReadMe.md b/general/ioctl/kmdf/ReadMe.md index 4cdee4d4..848acd06 100644 --- a/general/ioctl/kmdf/ReadMe.md +++ b/general/ioctl/kmdf/ReadMe.md @@ -37,15 +37,13 @@ If the build succeeds, you will find the driver, nonpnp.sys, and the test applic To test this driver, copy the nonpnp.inf into the same folder as the nonpnpapp.exe and the wdfcoinstaller\<version\>.dll . -**Note** - -You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. +**Note** You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. Next, run nonpnpapp.exe, a simple Win32 multithreaded console mode application. The driver will be automatically loaded and started. When you exit the app, the driver will be stopped and removed. Usage: nonpnpapp.exe (-l) (-v version) -**Note**: This application first tries to open the device (\\Device\\FileIo). If the device doesn't exist, it takes that as a hint that the driver is not loaded and tries to load the driver using service control manager API. If the service is loaded successfully, it tries to open the device again. If successful, it makes all four different types of DeviceControl calls to the driver. After that it makes a WriteFile call with an arbitrary size buffer. The driver, in response, writes that buffer to a file opened in the Create request. The name of the file was provided by the application as part of the device name and the directory path is hardcoded to %WINDIR%\\temp. When the WriteFile returns, the application makes a ReadFile call to read the file through the driver, and then compares the data returned by the driver with the one it originally wrote. If you specify -l option in command line, the application does this Write and Read operation in an infinite loop. The -v command line option is used to specify the version of the KMDF coinstaller (wdfcoinstaller\<version\>.dll) to load. If none is specified then it loads the coinstaller for v1.0 (wdfcoinstaller01000.dll) +**Note** This application first tries to open the device (\\Device\\FileIo). If the device doesn't exist, it takes that as a hint that the driver is not loaded and tries to load the driver using service control manager API. If the service is loaded successfully, it tries to open the device again. If successful, it makes all four different types of DeviceControl calls to the driver. After that it makes a WriteFile call with an arbitrary size buffer. The driver, in response, writes that buffer to a file opened in the Create request. The name of the file was provided by the application as part of the device name and the directory path is hardcoded to %WINDIR%\\temp. When the WriteFile returns, the application makes a ReadFile call to read the file through the driver, and then compares the data returned by the driver with the one it originally wrote. If you specify -l option in command line, the application does this Write and Read operation in an infinite loop. The -v command line option is used to specify the version of the KMDF coinstaller (wdfcoinstaller\<version\>.dll) to load. If none is specified then it loads the coinstaller for v1.0 (wdfcoinstaller01000.dll) ### WDF SECTION diff --git a/general/ioctl/wdm/ReadMe.md b/general/ioctl/wdm/ReadMe.md index 94191a33..fcbf71f2 100644 --- a/general/ioctl/wdm/ReadMe.md +++ b/general/ioctl/wdm/ReadMe.md @@ -7,7 +7,7 @@ The sample shows how the user input and output buffers specified in the **Device The sample consists of a legacy device driver and a Win32 console test application. The test application opens a handle to the device exposed by the driver and makes all four different **DeviceIoControl** calls, one after another. To understand how the IRP fields are set the I/O manager, you should run the checked build version of the driver and look at the debug output. -**Note** This sample driver is not a Plug and Play driver. This is a minimal driver meant to demonstrate a feature of the operating system. Neither this driver nor its sample programs are intended for use in a production environment. Instead, they are intended for educational purposes and as a skeleton driver. +**Note** This sample driver is not a Plug and Play driver. This is a minimal driver meant to demonstrate a feature of the operating system. Neither this driver nor its sample programs are intended for use in a production environment. Instead, they are intended for educational purposes and as a skeleton driver. Run the sample diff --git a/general/obcallback/ReadMe.md b/general/obcallback/ReadMe.md index 7efc2741..d91a209d 100644 --- a/general/obcallback/ReadMe.md +++ b/general/obcallback/ReadMe.md @@ -20,12 +20,12 @@ C:\> notepad C:\> tlist (locate the process ID of notepad.exe) -C:\> kill –f 2329 (attempt to kill off the notepad.exe with a PID of 2329) -process notepad.exe (2329) – ‘Untitled – Notepad’ could not be killed +C:\> kill -f 2329 (attempt to kill off the notepad.exe with a PID of 2329) +process notepad.exe (2329) - 'Untitled – Notepad' could not be killed C:\> obcallbacktestctrl.exe -deprotect (remove the protections on the notepad process) -C:\> kill –f 2329 (attempt to kill off the process – which will succeed) +C:\> kill -f 2329 (attempt to kill off the process – which will succeed) C:\> obcallbacktestctrl.exe -uninstall (uninstall the kernel driver) ``` diff --git a/general/pcidrv/ReadMe.md b/general/pcidrv/ReadMe.md index 39d4a2d6..fcd56df2 100644 --- a/general/pcidrv/ReadMe.md +++ b/general/pcidrv/ReadMe.md @@ -141,7 +141,7 @@ Other menu options of myping applications are: - Exit: Terminate the application. -**Note** You can use this application only on a device installed in the standalone configuration. If you run it on a device that's installed as a miniport, you will get an error message. For such devices, you can use the system provided ping.exe. +**Note** You can use this application only on a device installed in the standalone configuration. If you run it on a device that's installed as a miniport, you will get an error message. For such devices, you can use the system provided ping.exe. RESOURCES --------- diff --git a/general/toaster/toastDrv/ReadMe.md b/general/toaster/toastDrv/ReadMe.md index 108811a4..326d40a9 100644 --- a/general/toaster/toastDrv/ReadMe.md +++ b/general/toaster/toastDrv/ReadMe.md @@ -56,9 +56,9 @@ Build the sample using MSBuild As an alternative to building the Toaster sample in Visual Studio, you can build it in a Visual Studio Command Prompt window. In Visual Studio, on the **Tools** menu, choose **Visual Studio Command Prompt**. In the Visual Studio Command Prompt window, navigate to the folder that has the solution file, Toaster.sln. Use the MSBuild command to build the solution. Here are some examples: -**msbuild /p:configuration=”Win7 Debug” /p:platform=”x64” Toaster.sln** +**msbuild /p:configuration="Debug" /p:platform="x64" Toaster.sln** -**msbuild /p:configuration=”Win8 Release” /p:platform=”Win32” Toaster.sln** +**msbuild /p:configuration="Release" /p:platform="Win32" Toaster.sln** For more information about using MSBuild to build a driver package, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). diff --git a/general/toaster/umdf2/ReadMe.md b/general/toaster/umdf2/ReadMe.md index 7f2b6a56..9dcdd158 100644 --- a/general/toaster/umdf2/ReadMe.md +++ b/general/toaster/umdf2/ReadMe.md @@ -45,7 +45,7 @@ Build the sample using MSBuild ------------------------------ As an alternative to building the driver sample in Visual Studio, you can build it in a Visual Studio Command Prompt window. In Visual Studio, on the **Tools** menu, choose **Visual Studio Command Prompt**. In the Visual Studio Command Prompt window, navigate to the folder that has the solution file, Umdf2toaster.sln. Use the MSBuild command to build the solution. Here is an example: -**msbuild /p:configuration=”Win8 Release” /p:platform=”Win32” Umdf2toaster.sln** +**msbuild /p:configuration="Release" /p:platform="Win32" Umdf2toaster.sln** For more information about using MSBuild to build a driver package, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). diff --git a/general/tracing/evntdrv/ReadMe.md b/general/tracing/evntdrv/ReadMe.md index a560a0a4..4e64ecae 100644 --- a/general/tracing/evntdrv/ReadMe.md +++ b/general/tracing/evntdrv/ReadMe.md @@ -5,7 +5,7 @@ Eventdrv is a sample kernel-mode trace provider and driver. The driver does not Evntdrv registers as a provider by calling the [**EtwRegister**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff545603) API. If the registration is successful, it logs a StartEvent with the device's name, the length of the name, and the status code. Then, when the sample receives a DeviceIOControl call, it logs a SampleEventA event. Finally, when the driver gets unloaded, it logs an UnloadEvent event with a pointer to the device object -**Note** The Windows Pre-Processor (WPP) Tracing tools such as TraceView.exe cannot be used to start, stop, or view traces. +**Note** The Windows Pre-Processor (WPP) Tracing tools such as TraceView.exe cannot be used to start, stop, or view traces. Run the sample @@ -19,7 +19,7 @@ Run the sample Installing the manifest creates registry keys that enable tools to find the resource and message files that contain event provider information. For further details about the WevtUtil.exe tool, see the MSDN Library. - **Note** Using a Visual Studio Command windows sets up the environment variables you need to run the tracing tools for this sample. + **Note** Using a Visual Studio Command windows sets up the environment variables you need to run the tracing tools for this sample. 2. Make a folder in the system directory called ETWDriverSample (for example, C:\\ETWDriverSample). diff --git a/general/tracing/tracedriver/ReadMe.md b/general/tracing/tracedriver/ReadMe.md index 3e95d383..064fb133 100644 --- a/general/tracing/tracedriver/ReadMe.md +++ b/general/tracing/tracedriver/ReadMe.md @@ -29,7 +29,7 @@ To test the Tracedrv event tracing provider, use the following procedure. tracelog -start TestTracedrv -guid tracedrv.ctl -f tracedrv.etl -flag 1 ``` - **Note** Note: Without the -flag parameter, Tracedrv will not generate any trace messages. + **Note** Without the -flag parameter, Tracedrv will not generate any trace messages. 5. To generate trace messages, run Tracectl.exe. This executable file is built when you build the solution. Each time you type a character, other than **Q** or **q**, Tracectl sends an IOCTL to the driver that signals it to generate trace messages. To stop Tracectl, type **Q** or **q**. 6. To stop the trace session, use the following Tracelog command. diff --git a/hid/firefly/ReadMe.md b/hid/firefly/ReadMe.md index 1a144aba..a1e97063 100644 --- a/hid/firefly/ReadMe.md +++ b/hid/firefly/ReadMe.md @@ -20,14 +20,12 @@ Build the sample For information on how to build a driver using Microsoft Visual Studio, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). When you build the sample, MSBuild.exe creates luminous.lib, firefly.sys, flicker.exe, and sauron.dll. Copy these files as well as the KMDF coinstaller (wdfcoinstallerMMmmm.dll) and the INF file (firefly.inf) to a floppy disk or a temporary directory on the target system. -**Note** - -You can obtain redistributable framework updates by downloading the **wdfcoinstaller.msi** package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. +**Note** You can obtain redistributable framework updates by downloading the **wdfcoinstaller.msi** package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. Installation ------------ -To install the driver on Windows 7 and later operating systems: +To install the driver: 1. Plug the Microsoft USB Optical mouse into your target machine and verify that the mouse works. The drivers for this mouse come with the operating system so the device will start working automatically when you plug in. 2. You may need to make Group Policy changes in order to replace the existing mouse driver. If you are unable to perform steps 3-9, do the following: @@ -58,7 +56,7 @@ Usage: Flicker \<-0 | -1 | -2\> -2 flashes light -The following description applies to Windows Media Player 12 running on Windows 7: +The following description applies to Windows Media Player 12 running on Windows 7: **Testing the DLL** diff --git a/hid/hidusbfx2/ReadMe.md b/hid/hidusbfx2/ReadMe.md index c999817b..f3c8f58f 100644 --- a/hid/hidusbfx2/ReadMe.md +++ b/hid/hidusbfx2/ReadMe.md @@ -212,23 +212,14 @@ To start installing the sample, you must: - **Hidkmdf.sys** - The WDF coinstaller from the *\<WDK ROOT\>\\redist\\wdf\\\<platform\>* directory. - **Note** + **Note** You can obtain redistributable framework updates by downloading the **wdfcoinstaller.msi** package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your WDK installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. - You can obtain redistributable framework updates by downloading the **wdfcoinstaller.msi** package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your WDK installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. - -2. Plug in the device and follow these steps, depending on the operating system that you are using. - - On Windows 7 and later operating systems: - 1. Launch Device Manager by executing command devmgmt.msc in a command window, or from the **Hardware and Sound** program group in **Control Panel**. - 2. Select **OSR USB-FX2 device** from **Other Devices** category and select **Update Driver Software...** from the right-click menu. - 3. Select **Browse my computer for software** and provide the location of the driver files. - 4. Select **Install this driver software anyway** when the Windows Security dialog box appears. - 5. After the driver is installed, you should see the device in Device Manager under Human Interface Devices. - - On Windows Vista and Windows Server 2008: - 1. In the **Found New Hardware** dialog box, select **Locate and install driver software (recommended)**. - 2. Select **Don't search online**. - 3. Select **I don't have the disc. Show me other options**. - 4. Select **Browse my computer for driver software (advanced)**. - 5. Enter the location of the driver files, and select **Install this driver software anyway** when the **Windows Security** dialog box appears. After the driver is installed, you'll see the device in Device Manager under Human Interface Devices. +2. Plug in the device and follow these steps: + 1. Launch Device Manager by executing command devmgmt.msc in a command window, or from the **Hardware and Sound** program group in **Control Panel**. + 2. Select **OSR USB-FX2 device** from **Other Devices** category and select **Update Driver Software...** from the right-click menu. + 3. Select **Browse my computer for software** and provide the location of the driver files. + 4. Select **Install this driver software anyway** when the Windows Security dialog box appears. + 5. After the driver is installed, you should see the device in Device Manager under Human Interface Devices. Testing ------- diff --git a/input/hiddigi/SynapticsTouch/readme.md b/input/hiddigi/SynapticsTouch/readme.md index 190da736..d52fd4fd 100644 --- a/input/hiddigi/SynapticsTouch/readme.md +++ b/input/hiddigi/SynapticsTouch/readme.md @@ -15,13 +15,13 @@ Related technologies [Windows Pointer Device](http://msdn.microsoft.com/en-us/library/windows/hardware/jj151570) -##System requirements +System requirements ------------------- -**Client:** Windows 10 Technical Preview +**Client:** Windows 10 -**Server:** Windows 10 Technical Preview +**Server:** Windows 10 -**Phone:** Windows 10 Technical Preview +**Phone:** Windows 10 File Manifest diff --git a/input/kbfiltr/ReadMe.md b/input/kbfiltr/ReadMe.md index 9f5e2099..ac5088f5 100644 --- a/input/kbfiltr/ReadMe.md +++ b/input/kbfiltr/ReadMe.md @@ -39,7 +39,7 @@ The test application, *kbftest.exe* is also built as part of the solution under Locate the built driver package ------------------------------- -In File Explorer, navigate to the folder that contains your built driver package. The location of this folder varies depending on what you set for configuration and platform. For example, if your settings are Win7 Debug and x64, the package is your solution folder under x64\\Win7Debug\\Package. +In File Explorer, navigate to the folder that contains your built driver package. The location of this folder varies depending on what you set for configuration and platform. For example, if your settings are **Debug** and **x64**, the package is your solution folder under \\Debug\\Package. The package contains these files: @@ -69,9 +69,9 @@ Using MSBuild As an alternative to building the Kbfiltr Filter Driver sample in Visual Studio, you can build it in a Visual Studio Command Prompt window. In Visual Studio, on the **Tools** menu, choose **Visual Studio Command Prompt**. In the Visual Studio Command Prompt window, navigate to the folder that has the solution file, kbfiltr.sln. Use the [MSBuild](http://go.microsoft.com/fwlink/p/?linkID=262804) command to build the solution. Here are some examples: -**msbuild /p:configuration=”Win7 Debug” /p:platform=”x64” kbfiltr.sln** +**msbuild /p:configuration="Debug" /p:platform="x64" kbfiltr.sln** -**msbuild /p:configuration=”Win8 Release” /p:platform=”win32” kbfiltr.sln** +**msbuild /p:configuration="Release" /p:platform="Win32" kbfiltr.sln** For more information about using [MSBuild](http://go.microsoft.com/fwlink/p/?linkID=262804) to build a driver package, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). @@ -82,8 +82,7 @@ The computer where you install the driver is called the *target computer* or the The process of moving the driver package to the target computer and installing the driver is called *deploying the driver*. You can deploy kbfiltr sample driver automatically or manually. -Automatic deployment --------------------- +### Automatic deployment Before you automatically deploy a driver, you must provision the target computer. For instructions, see [Configuring a Computer for Driver Deployment, Testing, and Debugging](http://msdn.microsoft.com/en-us/library/windows/hardware/). @@ -91,8 +90,7 @@ Before you automatically deploy a driver, you must provision the target computer 2. Check **Enable deployment**, and check **Remove previous driver versions before deployment**. For **Target Computer Name**, select the name of a target computer that you provisioned previously. Select **Install and Verify**, and choose **Default Driver Package Installation Task** in the list. Click **OK**. 3. On the **Build** menu, choose **Deploy Package** or **Build Solution**. -Manual deployment ------------------ +### Manual deployment Before you manually deploy a driver, you must turn on test signing and install a certificate on the target computer. You also need to copy the [DevCon](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544707) tool to the target computer. For instructions, see [Preparing a Computer for Manual Driver Deployment](http://msdn.microsoft.com/en-us/library/windows/hardware/dn265571). @@ -113,7 +111,7 @@ On the target computer, in a Command Prompt window, enter **devmgmt** to open De Testing ------- -To use the test application provided with the sample, it must be copied to the target computer manually. Save the kbftest.exe file from the folder where the build result is placed (for example, exe\\x64\\Win7Debug). This file is copied somewhere on the target, possibly where the driver package files are located. The test application is the executed on the target computer in a Command Prompt using **kbftest** as the command. +To use the test application provided with the sample, it must be copied to the target computer manually. Save the kbftest.exe file from the folder where the build result is placed (for example, exe\\Debug). This file is copied somewhere on the target, possibly where the driver package files are located. The test application is the executed on the target computer in a Command Prompt using **kbftest** as the command. -**Tip** To avoid DLL dependencies for kbftext.exe, and the need to copy additional files, select the statically linked run-time library when building. +**Tip** To avoid DLL dependencies for kbftext.exe, and the need to copy additional files, select the statically linked run-time library when building. diff --git a/network/ndis/filter/ReadMe.md b/network/ndis/filter/ReadMe.md index 386115a1..6967f1b6 100644 --- a/network/ndis/filter/ReadMe.md +++ b/network/ndis/filter/ReadMe.md @@ -20,13 +20,11 @@ Before you automatically deploy a driver, you must provision the target computer 4. On the target computer, open **Control Panel**. Click **Network and Internet** and then open **Network and Sharing Center**. 5. Under **View your active networks**, click the connection listed under **Connections:** and click **Properties**. If you have previously installed this sample, highlight it in the list. 6. Click **Install**, then **Service**, then **Add**. - **Note** You may see multiple instances of the **NDIS Sample LightWeight Filter** service. If so, highlight the newest one. + **Note** You may see multiple instances of the **NDIS Sample LightWeight Filter** service. If so, highlight the newest one. 7. Click **Have Disk**. 8. In the **Install from Disk** dialog, browse to the DriverTest\\Drivers directory. Highlight the netlwf.inf file and click **Open**, then click OK. This should show **NDIS Sample LightWeight Filter** in a list of **Network Services**. Highlight **NDIS Sample LightWeight Filter** and click **OK**. Click **OK**. Click **Close**. Click **Close**. This installs the Ndislwf filter driver service. -**Note** - -If you've installed the Ndislwf sample on the target computer before, you can use the [PnPUtil](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550419) tool to delete the older versions from the driver store. +**Note** If you've installed the Ndislwf sample on the target computer before, you can use the [PnPUtil](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550419) tool to delete the older versions from the driver store. Manual deployment ----------------- @@ -47,9 +45,7 @@ Ndislwf is installed as a service (called **NDIS Sample LightWeight Filter** in 5. Click **Install**, then **Service**, then **Add**, then **Have Disk**. 6. Browse to the installation directory. Highlight the netlwf.inf file and click **Open**, then click OK. This should show **NDIS Sample LightWeight Filter** in a list of Network Services. Highlight this and click OK. Click OK. This installs the Ndislwf filter driver. -**Note** - -If you've installed the Ndislwf sample on the target computer before, you can use the [PnPUtil](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550419) tool to delete the older versions from the driver store. +**Note** If you've installed the Ndislwf sample on the target computer before, you can use the [PnPUtil](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550419) tool to delete the older versions from the driver store. Viewing sample output in the debugger ------------------------------------- @@ -60,7 +56,7 @@ If you chose to deploy your driver automatically, then kernel debugging is alrea On the host computer, in **Visual Studio**, in the **Debug** menu, choose **Attach to Process**. For **Transport**, choose **Windows Kernel Mode Debugger**. For **Qualifier**, choose the name of your target computer. Click **Attach**. -**Note** If you see a dialog box that asks you to allow the debugger to communicate through the firewall, click the boxes for all types of networks. Click **Allow Access**. +**Note** If you see a dialog box that asks you to allow the debugger to communicate through the firewall, click the boxes for all types of networks. Click **Allow Access**. For more information, see [Setting Up Kernel-Mode Debugging in Visual Studio](http://msdn.microsoft.com/en-us/library/windows/hardware/hh439376). diff --git a/network/ndis/mux/ReadMe.md b/network/ndis/mux/ReadMe.md index cc864aec..eb0cbedf 100644 --- a/network/ndis/mux/ReadMe.md +++ b/network/ndis/mux/ReadMe.md @@ -44,7 +44,7 @@ With the default configured VLAN ID of zero, the driver does not insert tag head ### Configuring VLANs -The VLAN ID for each VELAN (virtual miniport) can be configured as follows. Right-click on the virtual miniport Local Area Connection icon and choose Properties. Click on the Configure button to bring up the Device Manager UI for the virtual device. Select the Advanced property sheet – this should contain a “VLAN ID” parameter that is configurable to the desired VLAN ID. Choosing a value of 0 (zero) disables receive-side filtering based on VLAN ID. +The VLAN ID for each VELAN (virtual miniport) can be configured as follows. Right-click on the virtual miniport Local Area Connection icon and choose Properties. Click on the Configure button to bring up the Device Manager UI for the virtual device. Select the Advanced property sheet, this should contain a VLAN ID parameter that is configurable to the desired VLAN ID. Choosing a value of 0 (zero) disables receive-side filtering based on VLAN ID. ### Programming Tour @@ -52,13 +52,13 @@ When it loads, i.e. from its DriverEntry function, the MUX driver registers as a ### Binding and VELAN Creation -NDIS calls MUX’s BindAdapter function, `PtBindAdapter`, for each underlying NDIS adapter to which it is configured to bind. This function allocates an `ADAPT` structure to represent the lower adapter, and calls `NdisOpenAdapter` to set up a binding to it. In the context of `BindAdapterHandler`, after successfully opening a binding to the underlying adapter, the driver queries the reserved keyword "UpperBindings" to get a list of device names for the virtual adapters that this particular binding is to expose – see `PtBootStrapVElans` for more details. Note that the MUX driver does not create bindings (i.e. call `NdisOpenAdapter`) from any context other than its BindAdapter function – this is recommended behavior for all drivers of this type. +NDIS calls MUX’s BindAdapter function, `PtBindAdapter`, for each underlying NDIS adapter to which it is configured to bind. This function allocates an `ADAPT` structure to represent the lower adapter, and calls `NdisOpenAdapter` to set up a binding to it. In the context of `BindAdapterHandler`, after successfully opening a binding to the underlying adapter, the driver queries the reserved keyword "UpperBindings" to get a list of device names for the virtual adapters that this particular binding is to expose – see `PtBootStrapVElans` for more details. Note that the MUX driver does not create bindings (i.e. call `NdisOpenAdapter`) from any context other than its BindAdapter function. This is recommended behavior for all drivers of this type. For each device name specified in the “UpperBindings” key, the MUX driver allocates a VELAN data structure to represent the virtual miniport, calls `NdisIMInitializeDeviceInstanceEx`. In response, NDIS eventually calls the MUX miniport’s MiniportInitialize entry point, MPInitialize, for each VELAN. After MPInitialize successfully returns, NDIS takes care of getting upper-layer protocols to bind to the newly created virtual adapter(s). ### Unbinding and Halting -NDIS calls MUX’s `UnbindAdapter` handler, `PtUnbindAdapter`, to request it to unbind from a lower adapter. In processing this, MUX calls `NdisIMDeInitializeDeviceInstance` for each VELAN instantiated on the indicated adapter – see `PtStopVElan` for details. This call results in NDIS first unbinding any protocols bound to the indicated VELAN, and then calling the MiniportHalt routine, `MPHalt`, for that VELAN. `MPHalt` waits for any outstanding receives/sends on the VELAN to finish before unlinking the VELAN from the ADAPT. +NDIS calls MUX's `UnbindAdapter` handler, `PtUnbindAdapter`, to request it to unbind from a lower adapter. In processing this, MUX calls `NdisIMDeInitializeDeviceInstance` for each VELAN instantiated on the indicated adapter – see `PtStopVElan` for details. This call results in NDIS first unbinding any protocols bound to the indicated VELAN, and then calling the MiniportHalt routine, `MPHalt`, for that VELAN. `MPHalt` waits for any outstanding receives/sends on the VELAN to finish before unlinking the VELAN from the ADAPT. `PtUnbindAdapter` itself blocks until all VELANs associated with the ADAPT structure have been unlinked from it. This is to make sure that no thread running in the context of a miniport-edge entry point for a VELAN will ever access an invalid lower binding handle. Once all VELANs have been unlinked, `PtUnbindAdapter` closes the lower binding by calling `NdisCloseAdapter`. Note that the MUX driver does not close its lower binding from any context other than its `UnbindAdapter` function – this is recommended behavior for all drivers of this type. @@ -80,7 +80,7 @@ Some power management OIDs are forwarded to the lower miniport. See “Handling Data sent down on a VELAN miniport is forwarded to the lower adapter. The MUX driver itself does not generate any data of its own. The MUX driver clones a `NET_BUFFER_LIST` for each `NetBufferList` passed to its `MPSendNetBufferLists` function, and saves a pointer to the original `NET_BUFFER_LIST` in the reserved area of the `NET_BUFFER_LIST` structure. When the lower adapter completes the send (`PtSendNBLComplete`), MUX picks up the original packet and calls `NdisMSendNetBufferListsComplete` to complete the original send request. -If a non-zero VLAN ID is configured for the VELAN, and/or the packet has non-zero Ieee8021QInfo per-packet information, then the MUX driver inserts an NDIS buffer containing a tag header to the front of the packet before sending it down – see function `MPHandleSendTagging` for details. +If a non-zero VLAN ID is configured for the VELAN, and/or the packet has non-zero Ieee8021QInfo per-packet information, then the MUX driver inserts an NDIS buffer containing a tag header to the front of the packet before sending it down, see function `MPHandleSendTagging` for details. ### Receiving Data @@ -88,7 +88,7 @@ Data received from a lower adapter is indicated up on zero or more VELANs. The ` The driver’s `MPReturnNetBufferLists` function is called either by NDIS or by MUX itself when protocols are done with a received `NET_BUFFER_LIST`. This function returns the original `NET_BUFFER_LIST` indicated by the lower driver, if any, by calling `NdisReturnNetBufferLists.` -The driver indicates up received frames that do not have an IEEE 802.1Q tag header in them – see function `PtHandleRcvTagging`. It always strips off tag headers, if present, on received frames. If a non-zero VLAN ID is configured, then it checks received frames that contain tag headers for matching VLAN Ids – only matching frames are indicated up to protocols. Any VLAN/priority information present in incoming frames is copied to per-packet information fields of indicated `NET_BUFFER_LIST` structures. +The driver indicates up received frames that do not have an IEEE 802.1Q tag header in them, see function **PtHandleRcvTagging**. It always strips off tag headers, if present, on received frames. If a non-zero VLAN ID is configured, then it checks received frames that contain tag headers for matching VLAN Ids, only matching frames are indicated up to protocols. Any VLAN/priority information present in incoming frames is copied to per-packet information fields of indicated `NET_BUFFER_LIST` structures. ### Status Indications @@ -114,7 +114,7 @@ Queries/sets received on a VELAN miniport that are to be forwarded to the underl ### Handling Global Reconfiguration -All modifications to VELAN configuration are accompanied by PnP reconfigure notifications, i.e. `NetEventReconfigure` events passed to the MUX’s `PnPEventHandler`, `PtPNPHandler`. This driver takes a broad approach to handling reconfiguration, which is to simply re-examine all the “UpperBindings” keys for all currently bound adapters, and start off VELANs for any that do not exist – see `PtBootStrapVElans` for details. +All modifications to VELAN configuration are accompanied by PnP reconfigure notifications, for example, `NetEventReconfigure` events passed to the MUX’s `PnPEventHandler`, `PtPNPHandler`. This driver takes a broad approach to handling reconfiguration, which is to simply re-examine all the “UpperBindings” keys for all currently bound adapters, and start off VELANs for any that do not exit, see `PtBootStrapVElans` for details. ### Canceling Sends @@ -177,5 +177,5 @@ Precomp.h | Precompile header file Protocol.c | Protocol related routines for the MUX driver Public.h | Contains the common declarations shared by driver and user applications -For more information, see **NDIS Intermediate Drivers** in the network devices design guide. +For more information, see [NDIS Intermediate Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff565773) in the network devices design guide. diff --git a/network/ndis/ndisprot/6x/ReadMe.md b/network/ndis/ndisprot/6x/ReadMe.md index cdf35d7c..55843a0c 100644 --- a/network/ndis/ndisprot/6x/ReadMe.md +++ b/network/ndis/ndisprot/6x/ReadMe.md @@ -32,7 +32,7 @@ options | Description Prottest exercises the IOCTLs supported by NDISPROT, and sends and/or receives data on the selected device. In order to use prottest, the user must have administrative privilege. Users should pass down a big enough buffer in order to receive the entire received data. If the length of the buffer passed down is smaller than the length of the received data, NDISPROT will only copy part of the data and discard the rest when the given buffer is full. -Use the **–e** option to enumerate all devices to which NDISPROT is bound: +Use the **-e** option to enumerate all devices to which NDISPROT is bound: **C:\\prot\>prottest -n 2 \\DEVICE\\{9273DA7D-5275-4B9A-AC56-68A49D121F1F}** @@ -40,7 +40,7 @@ Use the **–e** option to enumerate all devices to which NDISPROT is bound: **DoReadProc finished: read 2 packets** -**Note** With a checked version of ndisprot.sys, you can control the volume of debug information generated by changing the variable `ndisprotDebugLevel`. Refer to debug.h for more information. +**Note** With a checked version of ndisprot.sys, you can control the volume of debug information generated by changing the variable `ndisprotDebugLevel`. Refer to debug.h for more information. For more information, see [NDIS Protocol Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff566821) in the network devices design guide. diff --git a/network/ndis/ndisprot_kmdf/ReadMe.md b/network/ndis/ndisprot_kmdf/ReadMe.md index 422a7ace..7a9ee69c 100644 --- a/network/ndis/ndisprot_kmdf/ReadMe.md +++ b/network/ndis/ndisprot_kmdf/ReadMe.md @@ -16,7 +16,7 @@ Build the sample For information on how to build a driver solution using Microsoft Visual Studio, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). -The 60 subdirectory (src\\network\\ndis\\ndisprot\_kmdf\\60) indicates that the built sample will be NDIS 6.0 compatible and will work on Windows Vista and later operating systems. +The 60 subdirectory (src\\network\\ndis\\ndisprot\_kmdf\\60) indicates that the built sample will be NDIS 6.0 compatible. Installation ------------ @@ -26,9 +26,7 @@ Use the following steps to install the sample. 1. When you build the sample, the build engine produces ndisprot.inf in the build target directory. Copy nprt6wdf.sys, protnotify.dll, and ndisprot.inf to a directory. 2. Copy the KMDF coinstaller (wdfcoinstaller*MMmmm*.dll) to the same directory. - **Note** - - You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. + **Note** You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. 3. In Control Panel, in the **Network and Internet** group, open **Network Connections**, select an adapter, and then open **Properties**. diff --git a/network/ndis/netvmini/6x/ReadMe.md b/network/ndis/netvmini/6x/ReadMe.md index a056a846..76020b5d 100644 --- a/network/ndis/netvmini/6x/ReadMe.md +++ b/network/ndis/netvmini/6x/ReadMe.md @@ -9,7 +9,7 @@ This sample driver demonstrates an NDIS virtual miniport driver. If a single ins To test the miniport driver, install more than one miniport driver instance. You can repeat the installation to install more than one instance of the miniport. -**Note** This sample provides an example of minimal driver intended for education purposes. The driver and its sample test programs are not intended for use in a production environment. +**Note** This sample provides an example of minimal driver intended for education purposes. The driver and its sample test programs are not intended for use in a production environment. For more information on creating NDIS Miniport Drivers, see [NDIS Miniport Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff565949). diff --git a/network/radio/RadioManagerSample/ReadMe.md b/network/radio/RadioManagerSample/ReadMe.md index e62f096c..e391e051 100644 --- a/network/radio/RadioManagerSample/ReadMe.md +++ b/network/radio/RadioManagerSample/ReadMe.md @@ -7,7 +7,7 @@ The operating system contains a set of APIs which are used as a software mechani When the user turns the radio off (either by using the specific radio software switch or the airplane mode switch), radio transmission must be turned off. The device can be powered off as long as the radio switch does not disappear from the UI. It is very important that the radio manager developer ensures that when the device is powered off, the radio switch does not disappear from the UI. If the radio switch disappears from the UI when the radio is turned off by the user, then user has no way to turn the radio back on! If it is desired to conserve power by cutting power to the device when the radio is turned off, but the device cannot be completely powered off because it disappears from the UI, then the solution would be to put the device in a low power state (e.g. D3). -**Important** The radio manager MUST be given a name. This is the name of the radio switch that is displayed to the user in the Wireless page of PC Settings. The name must be simple, yet descriptive of what the radio is. For example, for NFC radios, the value of the name field should be "NFC", and for GPS radios, the value of the name field should be "GPS" or "GNSS", whichever is more appropriate. The name must not include the word "radio" or the manufacturer's name or some other word related to the functionality of the radio (e.g. "Location" OR "port"). +**Important** The radio manager must be given a name. This is the name of the radio switch that is displayed to the user in the Wireless page of PC Settings. The name must be simple, yet descriptive of what the radio is. For example, for NFC radios, the value of the name field should be "NFC", and for GPS radios, the value of the name field should be "GPS" or "GNSS", whichever is more appropriate. The name must not include the word "radio" or the manufacturer's name or some other word related to the functionality of the radio (e.g. "Location" OR "port"). Installation @@ -57,9 +57,9 @@ IsMultiComm IsAssociatingDevice -\*\*\* It is required that the registry key has AT LEAST a Name value, otherwise the Sample Radio Manager will fail to initialize. \*\*\* +**Note** It is required that the registry key has AT LEAST a Name value, otherwise the Sample Radio Manager will fail to initialize. -**Important** The radio manager must be given a name and the registry key must have, as a minimum, a Name value. Otherwise, the Sample Radio Manager will fail to initialize. This is the name of the radio switch that is displayed to the user in the Wireless page of PC Settings. The name must be simple, yet descriptive of what the radio is. For example, for NFC radios, the value of the name field should be "NFC", and for GPS radios, the value of the name field should be "GPS" or "GNSS", whichever is more appropriate. The name must not include the word "radio" or the manufacturer's name or some other word related to the functionality of the radio (e.g. "Location" OR "port"). +**Important** The radio manager must be given a name and the registry key must have, as a minimum, a Name value. Otherwise, the Sample Radio Manager will fail to initialize. This is the name of the radio switch that is displayed to the user in the Wireless page of PC Settings. The name must be simple, yet descriptive of what the radio is. For example, for NFC radios, the value of the name field should be "NFC", and for GPS radios, the value of the name field should be "GPS" or "GNSS", whichever is more appropriate. The name must not include the word "radio" or the manufacturer's name or some other word related to the functionality of the radio (e.g. "Location" OR "port"). When the Radio Manager is initialized, it uses these registry keys to retrieve the "radio" information. The radio state values can be any of the following enum values: diff --git a/network/trans/ReadMe.md b/network/trans/ReadMe.md index 9dd3585e..5f7ea8a8 100644 --- a/network/trans/ReadMe.md +++ b/network/trans/ReadMe.md @@ -82,7 +82,7 @@ wfpsamplercalloutdriver.cat | A signed catalog file, which serves as the signatu WFPSamplerCalloutDriver.inf | An information (INF) file that contains information needed to install the driver. WFPSamplerCalloutDriver.sys | The WFPSampler driver. -**Note** The build process might also put WdfCoinstaller010*xx*.dll in the driver folder, but this file is not really part of the driver package. The INF file does not reference any coinstallers. +**Note**�The build process might also put WdfCoinstaller010*xx*.dll in the driver folder, but this file is not really part of the driver package. The INF file does not reference any coinstallers. Because the package does not contain a KMDF coinstaller, it is important that you set the KMDF minor version according to your target operating system when you built the driver. @@ -147,7 +147,8 @@ Installing the driver - For automatic deployment, this will be DriverTest\\Drivers. 2. Enter **WFPSamplerInstall.cmd** to run the installation script. - **Note** If you need to uninstall a previous version of the driver, enter **WFPSamplerInstall.cmd -r**. + + **Note** If you need to uninstall a previous version of the driver, enter **WFPSamplerInstall.cmd -r**. Running the user-mode application --------------------------------- diff --git a/network/trans/msnmntr/ReadMe.md b/network/trans/msnmntr/ReadMe.md index 9c980db4..fcc9c420 100644 --- a/network/trans/msnmntr/ReadMe.md +++ b/network/trans/msnmntr/ReadMe.md @@ -5,7 +5,7 @@ This sample application and driver demonstrate the stream inspection capabilitie The sample consists of a user mode application (Monitor.exe) that registers traffic of interest. In this case, all Transmission Control Protocol (TCP) data segments that are sent and received by an application of your choice. -**Note** Originally this sample was written to monitor the MSN Messenger application. Now it can monitor any application that you specify. +**Note** Originally this sample was written to monitor the MSN Messenger application. Now it can monitor any application that you specify. Monitor.exe adds filters and callouts to Windows through the Windows Filtering Platform (WFP) Win32 API. A kernel-mode WFP callout driver (Msnmntr.sys) intercepts TCP traffic and parses out communication patterns. Monitor.exe controls the operations of the callout driver through I/O controls (IOCTLs). diff --git a/pofx/WDF/ReadMe.md b/pofx/WDF/ReadMe.md index 883cc5cd..2f8009c3 100644 --- a/pofx/WDF/ReadMe.md +++ b/pofx/WDF/ReadMe.md @@ -27,9 +27,7 @@ The driver can be installed on a root-enumerated device using the devcon.exe too 1. Obtain the devcon.exe tool from the WDK 2. Copy the driver binary, INF file and the KMDF coinstaller to a directory on your test machine. - **Note** - - You can obtain redistributable framework updates by downloading the Wdfcoinstaller.msi package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. + **Note** You can obtain redistributable framework updates by downloading the Wdfcoinstaller.msi package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. 3. Run the command "devcon.exe install SingleComponentFStateSample.inf root\\SingleComponentFStateDevice". @@ -55,7 +53,7 @@ The driver can be installed on a root-enumerated device using the devcon.exe too 1. Obtain the devcon.exe tool from the WDK 2. Copy the driver binary, INF file and the KMDF coinstaller to a directory on your test machine. - **Note** The WDK no longer contains the co-installers by default. You can obtain the co-installers by downloading theWdfcoinstaller.msi package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). + **Note** You can obtain the co-installers by downloading theWdfcoinstaller.msi package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). 3. Run the command "devcon.exe install WdfMultiComp.inf WDF\\WdfMultiComp". Testing @@ -96,7 +94,7 @@ The power framework helper library does not have any hardware-specific informati - Accessing component hardware to process I/O requests. - Accessing component hardware to change the component's F-state. -As mentioned earlier, the hardware access shown is this sample is entirely simulated in software. This sample does not work with a real device – it installs on a root-enumerated software device. +As mentioned earlier, the hardware access shown is this sample is entirely simulated in software. This sample does not work with a real device, it installs on a root-enumerated software device. S0-idle power management support -------------------------------- diff --git a/print/XPSDrvSmpl/ReadMe.md b/print/XPSDrvSmpl/ReadMe.md index bbf1948b..f90ae5cf 100644 --- a/print/XPSDrvSmpl/ReadMe.md +++ b/print/XPSDrvSmpl/ReadMe.md @@ -25,7 +25,7 @@ To build a driver solution using Windows Driver Kit (WDK) 10 and Visual Studio 2 a. In the **Solution Explorer**, right click on the solution and choose **Add** > **New Project**. Choose **Driver Install Package** under Visual C++/Windows Driver/Package. b. In the **Solution Explorer**, right click the Package project and select **Properties**. c. In the left pane, click **Configuration Properties** \> **Driver Install** \> **Package Files**. - d. In the right pane, use the ellipsis button (...) to browse to the set of files that needs to be added to the driver package. All the data files that you added in **Step 2-c**, except the INF file, should be added. This configuration is per-architecture, so this configuration must be repeated for each architecture that will be built. + d. In the right pane, use the ellipsis button (...) to browse to the set of files that needs to be added to the driver package. All the data files that you added in **Step 2-c**, except the INF file, should be added. This configuration is per-architecture, so this configuration must be repeated for each architecture that will be built. e. Click **OK**. 4. Open the INF file and edit it to match the built output. a. Open the INF file. @@ -34,7 +34,7 @@ To build a driver solution using Windows Driver Kit (WDK) 10 and Visual Studio 2 At this point, Visual Studio 2015 will be able to build a driver package and output the files to disk. In order to configure driver signing and deployment, see [Developing, Testing, and Deploying Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554651(v=vs.85).aspx). -**Note** If you compile your sample driver with Microsoft Visual Studio version 10, or 11 with the \_DEBUG flag set, then you should not use CComVariant on the following two XPS Print Filter Pipeline properties: +**Note** If you compile your sample driver with Microsoft Visual Studio version 10, or 11 with the \_DEBUG flag set, then you should not use CComVariant on the following two XPS Print Filter Pipeline properties: - XPS\_FP\_USER\_TOKEN - XPS\_FP\_PRINTER\_HANDLE diff --git a/print/autoconfig/ReadMe.md b/print/autoconfig/ReadMe.md index 821e1897..72f10042 100644 --- a/print/autoconfig/ReadMe.md +++ b/print/autoconfig/ReadMe.md @@ -27,7 +27,7 @@ But to build a signed driver package using Windows Driver Kit (WDK) 10 and Visua 3. In **Configuration Manager**, select the **Configuration** and **Platform** that you want to build your driver for. -**Note** When the driver builds, it will be placed in the output folder for the architecture you selected. +**Note** When the driver builds, it will be placed in the output folder for the architecture you selected. At this point, Visual Studio will be able to build a driver package and output the files to disk. In order to configure driver signing and deployment, see [Developing, Testing, and Deploying Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554651(v=vs.85).aspx). diff --git a/print/v4PrintDriverSamples/PrinterExtensionSample/ReadMe.md b/print/v4PrintDriverSamples/PrinterExtensionSample/ReadMe.md index e7ab1d25..ca5f6837 100644 --- a/print/v4PrintDriverSamples/PrinterExtensionSample/ReadMe.md +++ b/print/v4PrintDriverSamples/PrinterExtensionSample/ReadMe.md @@ -3,7 +3,7 @@ Printer Extension Sample This sample demonstrates how to use .NET to build a customized, desktop UI for a v4 print driver. This .NET app uses PrintTicket, PrintCapabilities and Bidi in order to communicate with the print system and is suitable for inclusion in a v4 print driver. -**Note** This sample is for the v4 print driver model. +**Note** This sample is for the v4 print driver model. Related topics -------------- diff --git a/print/v4PrintDriverSamples/v4PrintDriver-ConstraintScript/ReadMe.md b/print/v4PrintDriverSamples/v4PrintDriver-ConstraintScript/ReadMe.md index 60c78353..71a6f72b 100644 --- a/print/v4PrintDriverSamples/v4PrintDriver-ConstraintScript/ReadMe.md +++ b/print/v4PrintDriverSamples/v4PrintDriver-ConstraintScript/ReadMe.md @@ -10,7 +10,7 @@ The Constraints.js file in this sample demonstrates the implementation of JavaSc This sample does not demonstrate **ConvertPrintTicketToDevMode** or **ConvertDevModeToPrintTicket**, which utilize a property bag to store data in the private section of the DEVMODE structure. -**Note** This sample is for the v4 print driver model. +**Note** This sample is for the v4 print driver model. Related topics -------------- diff --git a/print/v4PrintDriverSamples/v4PrintDriver-HostBasedSampleDriver/ReadMe.md b/print/v4PrintDriverSamples/v4PrintDriver-HostBasedSampleDriver/ReadMe.md index 4a438be7..6d3b77d0 100644 --- a/print/v4PrintDriverSamples/v4PrintDriver-HostBasedSampleDriver/ReadMe.md +++ b/print/v4PrintDriverSamples/v4PrintDriver-HostBasedSampleDriver/ReadMe.md @@ -3,7 +3,7 @@ USB Host-Based Print Driver Sample This driver sample demonstrates how to support host-based devices that use the v4 print driver model, and are connected via USB. -**Note** This sample is for the v4 print driver model. +**Note** This sample is for the v4 print driver model. Windows enables manufacturers to support Bidirectional Communication (Bidi) for USB devices, by using a combination of both a Bidi XML file and a Javascript file known as a USB Bidi extender. The *usb\_host\_based\_sample.js* file that is included with the sample, plays the role of the USB Bidi extender. diff --git a/print/v4PrintDriverSamples/v4PrintDriver-USBMon-Bidi-Extension/ReadMe.md b/print/v4PrintDriverSamples/v4PrintDriver-USBMon-Bidi-Extension/ReadMe.md index 753af28b..2f7ec05d 100644 --- a/print/v4PrintDriverSamples/v4PrintDriver-USBMon-Bidi-Extension/ReadMe.md +++ b/print/v4PrintDriverSamples/v4PrintDriver-USBMon-Bidi-Extension/ReadMe.md @@ -10,9 +10,9 @@ The following files are included in the sample: For more information, see [USB Bidi Extender](http://msdn.microsoft.com/en-us/library/windows/hardware/jj659903(v=vs.85).aspx). -**Note** This sample is for the v4 print driver model. +**Note** This sample is for the v4 print driver model. -**Note** When you make calls to printerStream.read() in the sample, the printer returns an array which includes an additional element that represents the array length. The following JavaScript code can be used to copy the returned array into a new array, and also to remove the additional element. +**Note** When you make calls to printerStream.read() in the sample, the printer returns an array which includes an additional element that represents the array length. The following JavaScript code can be used to copy the returned array into a new array, and also to remove the additional element. ``` var readBuffer = []; diff --git a/print/v4PrintDriverSamples/v4PrintDriver-WSDMon-Bidi-Extension/ReadMe.md b/print/v4PrintDriverSamples/v4PrintDriver-WSDMon-Bidi-Extension/ReadMe.md index 514015d7..6556ab25 100644 --- a/print/v4PrintDriverSamples/v4PrintDriver-WSDMon-Bidi-Extension/ReadMe.md +++ b/print/v4PrintDriverSamples/v4PrintDriver-WSDMon-Bidi-Extension/ReadMe.md @@ -5,9 +5,7 @@ This sample demonstrates how to use an XML extension file to support bidirection The v4 print driver model continues to employ the WSDMon Bidi Extension file format, as well as the SNMP Bidi Extension file format. -**Note** - -Third-party port monitors and language monitors are not supported in the v4 driver model or with print class drivers. +**Note** Third-party port monitors and language monitors are not supported in the v4 driver model or with print class drivers. The WSDMON port monitor is a printer port monitor that supports printing to network printers that comply with the Web Services for Devices (WSD) technology. The WSDMON port monitor listens for WSD events and updates the printer status accordingly. @@ -41,7 +39,7 @@ WSDMON supports the following Xcv commands: - ServiceID -**Note** This sample is for the v4 print driver model. +**Note** This sample is for the v4 print driver model. For more information, see [V4 Driver Connectivity Architecture](http://msdn.microsoft.com/en-us/library/windows/hardware/) and [Bidirectional Communication Schema](http://msdn.microsoft.com/en-us/library/windows/hardware/ff545169(v=vs.85).aspx). diff --git a/sd/sdiomars/ReadMe.md b/sd/sdiomars/ReadMe.md index 297d4509..322ac5a4 100644 --- a/sd/sdiomars/ReadMe.md +++ b/sd/sdiomars/ReadMe.md @@ -18,7 +18,5 @@ The mars board driver exemplifies several different functions that are essential For more information, see [Secure Digital (SD) Card Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff537945). -**Note** - -This sample provides an example of a minimal driver. Neither the driver nor the sample programs are intended for use in a production environment. Rather, they are intended for educational purposes and as a skeleton driver. +**Note** This sample provides an example of a minimal driver. Neither the driver nor the sample programs are intended for use in a production environment. Rather, they are intended for educational purposes and as a skeleton driver. diff --git a/setup/devcon/ReadMe.md b/setup/devcon/ReadMe.md index 20c2c6e7..a018d3bd 100644 --- a/setup/devcon/ReadMe.md +++ b/setup/devcon/ReadMe.md @@ -14,7 +14,7 @@ You can build the sample in two ways: using the Visual Studio Integrated Develop **Building the sample using Visual Studio** -1. Open Visual Studio. From the **File** menu, select **Open Project/Solution**. Within your WDK installation, navigate to the folder where you extracted DevCon. For example c:\\DevConSample\\C++ and open the devcon.sln project file. +1. Open Visual Studio. From the **File** menu, select **Open Project/Solution**. Navigate to the DevCon sample folder and open the devcon.sln project file. 2. Right-click the solution in the **Solution Explorer** and select **Configuration Manager**. 3. From the **Configuration Manager**, select the **Active Solution Configuration** (for example, Debug or Release) and the **Active Solution Platform** (for example, Win32) that correspond to the type of build you are interested in. 4. From the **Build** menu, click **Build Solution** (Ctrl+Shift+B). @@ -73,9 +73,6 @@ This command allows you to uninstall a Driver Package from the machine. The main cmdDPEnum This command allows you to enumerate all of the 3rd party Driver Packages currently installed on the machine and also shows you how to get some common properties from a Driver Package (Provider, Class description, DriverVer date and version). -cmdDPEnumLegacy -This command shows you how to enumerate 3rd party Driver Packages on Windows Server 2003 and earlier operating systems. - Reboot This function shows how to correctly reboot the machine from a hardware install program. In particular it passes flags to **ExitWindowsEx** that cause the reboot to be associated with hardware installation. You should never reboot the machine unnecessarily. diff --git a/smartcrd/ReadMe.md b/smartcrd/ReadMe.md index a4c9f9fa..d9454735 100644 --- a/smartcrd/ReadMe.md +++ b/smartcrd/ReadMe.md @@ -17,7 +17,7 @@ Build the sample For information on how to build a driver solution using Microsoft Visual Studio, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). -**Note** You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). +**Note** You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). Run the sample -------------- diff --git a/storage/filters/addfilter/ReadMe.md b/storage/filters/addfilter/ReadMe.md index ea8d4979..3981aa20 100644 --- a/storage/filters/addfilter/ReadMe.md +++ b/storage/filters/addfilter/ReadMe.md @@ -10,7 +10,7 @@ This initial sample does not check the filter for validity before it is added to The minifilter identifies implicit locks when it sees a non-shared write open request on a volume object. In this scenario, the minifilter closes its metadata file and sets a trigger that corresponds to the volume in its instance object. Later, each close operation is examined to identify if the implicit lock on the volume is being released and, if so, a re-open of the minifilter's metadata file is triggered. -**Important** If you attempt to add a non-existing filter to a boot device and then restart, the system might show the INACCESSIBLE\_BOOT\_DEVICE error message. If this message appears, you will be unable to start the computer. To fix this problem, when the startup menu is displayed when the computer starts up, go to the Advanced Options screen and select **Use Last Known Good Profile**. +**Important** If you attempt to add a non-existing filter to a boot device and then restart, the system might show the INACCESSIBLE\_BOOT\_DEVICE error message. If this message appears, you will be unable to start the computer. To fix this problem, when the startup menu is displayed when the computer starts up, go to the Advanced Options screen and select **Use Last Known Good Profile**. The sample is intended for use with upper filter drivers only. diff --git a/storage/msdsm/ReadMe.md b/storage/msdsm/ReadMe.md index 4d4971a8..d43f1b68 100644 --- a/storage/msdsm/ReadMe.md +++ b/storage/msdsm/ReadMe.md @@ -32,8 +32,8 @@ You can build a driver from the command line using the Visual Studio Command Pro 1. Open a Visual Studio Command Prompt window at the **Start** screen. From this window you can use MsBuild.exe to build any Visual Studio project by specifying the project (.VcxProj) or solutions (.Sln) file. 2. Navigate to the project directory and enter the **MSbuild** command for your target. For example, to perform a clean build of a Visual Studio driver project called *filtername*.vcxproj, navigate to the project directory and enter the following MSBuild command: - - **msbuild /t:clean /t:build .\\<*samplename*>.vcxproj**. + + **msbuild /t:clean /t:build .\\<*samplename*>.vcxproj**. Installation and Operation -------------------------- @@ -50,7 +50,7 @@ The following annotated DSM INF file illustrates the correct format for your DSM ; ``` -In the Version section, make sure the DriverVer is correct for your DSM. Ideally it should match the version in the RC file. You must specify a different catalog file since the MPIO core drivers now come pre-signed: +In the Version section, make sure the DriverVer is correct for your DSM. Ideally it should match the version in the .rc file. You must specify a different catalog file since the MPIO core drivers now come pre-signed: ``` [Version] @@ -96,7 +96,7 @@ AddReg = mydsm_addreg This next section contains the Hardware ID strings for your devices. You can have more than one. Sample format: "VENDOR PRODUCT " - remember to use spaces in a field (vendor, product ID) to pad this to be eight characters for the vendor name (as registered with STA) and sixteen for the product ID (unless the supported devices share a common prefix, in which case the product ID can be less than 16 characters). -**Note** Underscores that are part of the inquiry string (applies to vendor ID as well as product ID fields) must NOT be replaced with spaces. +**Note** Underscores that are part of the inquiry string (applies to vendor ID as well as product ID fields) must NOT be replaced with spaces. In this sample, there are two different strings: @@ -199,7 +199,7 @@ You should be aware of the following when you install the MPIO DSM sample: It is expected that the adapter that hosts the system volumes (boot/paging) will not restart, but that should not be problem if you are not multipathing the boot volume. However, if you are multipathing the boot volume, you will need to restart the system. -**Note** Other filter drivers installed as port filters may interfere with the proper operation of the MPIO port filter. Microsoft does not recommend the use of such filter drivers which may be supplied by HBA miniport vendors. +**Note** Other filter drivers installed as port filters may interfere with the proper operation of the MPIO port filter. Microsoft does not recommend the use of such filter drivers which may be supplied by HBA miniport vendors. -**Note** Since your DSM binary is not signed, you will get Unsigned Driver Pop-Ups. Ignore these and accept the installation of the new driver. Once your package has been successfully qualified by WHQL, your binaries will get signed and your customers will not get unsigned driver popups. +**Note** Since your DSM binary is not signed, you will get Unsigned Driver Pop-Ups. Ignore these and accept the installation of the new driver. Once your package has been successfully qualified by WHQL, your binaries will get signed and your customers will not get unsigned driver popups. diff --git a/storage/ramdisk/ReadMe.md b/storage/ramdisk/ReadMe.md index 1ef67580..66e97691 100644 --- a/storage/ramdisk/ReadMe.md +++ b/storage/ramdisk/ReadMe.md @@ -8,11 +8,11 @@ Build the sample ### Open the driver solution in Visual Studio ### -Navigate to the folder that has the extracted sample. Double click the solution file, ramdisk.sln. In Microsoft Visual Studio, locate Solution Explorer. (If this is not already open, choose **Solution Explorer** from the **View** menu.) In Solution Explorer, you can see one solution that has two projects. There is a driver project named **WdfRamdisk** and a package project named **package** (lower case). +In Visual Studio, open the solution file, ramdisk.sln, and locate Solution Explorer (if this is not already open, choose **Solution Explorer** from the **View** menu). In Solution Explorer, you can see one solution that has two projects. There is a driver project named **WdfRamdisk** and a package project named **package** (lower case). ### Set the configuration and platform in Visual Studio -In Visual Studio, in Solution Explorer, right click **Solution ‘ramdisk’ (2 projects)**, and choose **Configuration Manager**. Set the configuration and the platform. Make sure that the configuration and platform are the same for both the driver project and the package project. Do not check the **Deploy** boxes. Here are some examples of configuration and platform settings. +In Visual Studio, in Solution Explorer, right click **Solution 'ramdisk'(2 projects)**, and choose **Configuration Manager**. Set the configuration and the platform. Make sure that the configuration and platform are the same for both the driver project and the package project. Do not check the **Deploy** boxes. Here are some examples of configuration and platform settings. ### Build the sample using Visual Studio ### diff --git a/tools/sdv/samples/SDV-FailDriver-KMDF/ReadMe.md b/tools/sdv/samples/SDV-FailDriver-KMDF/ReadMe.md index fcac7d69..003e71a0 100644 --- a/tools/sdv/samples/SDV-FailDriver-KMDF/ReadMe.md +++ b/tools/sdv/samples/SDV-FailDriver-KMDF/ReadMe.md @@ -3,7 +3,7 @@ SDV-FailDriver-KMDF The SDV-FailDriver-KMDF sample driver contains intentional code errors that are designed to show the capabilities and features of [Static Driver Verifier](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808) (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a KMDF driver. -**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. +**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. Run the sample -------------- diff --git a/tools/sdv/samples/SDV-FailDriver-NDIS/ReadMe.md b/tools/sdv/samples/SDV-FailDriver-NDIS/ReadMe.md index ec690399..67d821a1 100644 --- a/tools/sdv/samples/SDV-FailDriver-NDIS/ReadMe.md +++ b/tools/sdv/samples/SDV-FailDriver-NDIS/ReadMe.md @@ -3,7 +3,7 @@ SDV-FailDriver-NDIS The SDV-FailDriver-NDIS sample driver contains intentional code errors that are designed to show the capabilities and features of [Static Driver Verifier](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808) (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in an NDIS driver. -**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. +**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. Run the sample -------------- diff --git a/tools/sdv/samples/SDV-FailDriver-STORPORT/ReadMe.md b/tools/sdv/samples/SDV-FailDriver-STORPORT/ReadMe.md index 054e2908..d0c36133 100644 --- a/tools/sdv/samples/SDV-FailDriver-STORPORT/ReadMe.md +++ b/tools/sdv/samples/SDV-FailDriver-STORPORT/ReadMe.md @@ -3,7 +3,7 @@ SDV-FailDriver-STORPORT The SDV-FailDriver-Storport sample driver contains intentional code errors that are designed to show the capabilities and features of [Static Driver Verifier](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808) (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a Storport driver. -**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. +**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. Run the sample -------------- diff --git a/tools/sdv/samples/SDV-FailDriver-WDM/ReadMe.md b/tools/sdv/samples/SDV-FailDriver-WDM/ReadMe.md index 4aa553f1..43630cad 100644 --- a/tools/sdv/samples/SDV-FailDriver-WDM/ReadMe.md +++ b/tools/sdv/samples/SDV-FailDriver-WDM/ReadMe.md @@ -3,7 +3,7 @@ SDV-FailDriver-WDM The SDV-FailDriver-WDM sample driver contains intentional code errors that are designed to show the capabilities and features of [Static Driver Verifier](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808) (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a WDM driver. -**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. +**Caution** These sample drivers contain intentional code errors that are designed to show the capabilities and features of SDV. These sample drivers are not functional and are not intended as examples for real driver development projects. Run the sample -------------- diff --git a/usb/kmdf_fx2/ReadMe.md b/usb/kmdf_fx2/ReadMe.md index b58a2a01..81edf40a 100644 --- a/usb/kmdf_fx2/ReadMe.md +++ b/usb/kmdf_fx2/ReadMe.md @@ -366,7 +366,7 @@ To trace, you can use the in-box tools, logman and tracerpt, or download XPerf ( `logman start sample -o osrusbfx2.etl -ets -p OSRUSBFX2` -2. Generate activity through the osrusbfx2 test application, such as `osrusbfx2.exe –a`. +2. Generate activity through the osrusbfx2 test application, such as `osrusbfx2.exe -a`. 3. Stop tracing by using the following command: `Logman stop sample` @@ -381,7 +381,7 @@ To trace, you can use the in-box tools, logman and tracerpt, or download XPerf ( `xperf -start sample -f osrusbfx2.etl -on OSRUSBFX2` -2. Generate activity through the osrusbfx2 test application, such as `osrusbfx2.exe –a`. +2. Generate activity through the osrusbfx2 test application, such as `osrusbfx2.exe -a`. 3. Stop tracing by using the following command: `xperf -stop sample` diff --git a/usb/usbsamp/ReadMe.md b/usb/usbsamp/ReadMe.md index 5519d726..c7a20320 100644 --- a/usb/usbsamp/ReadMe.md +++ b/usb/usbsamp/ReadMe.md @@ -10,7 +10,8 @@ For information about USB, see [Universal Serial Bus (USB) Drivers](http://msdn. ## Universal Windows Driver Compliant This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP. -**Hardware requirements** +Hardware requirements +--------------------- The sample driver can be loaded as the function driver for any of these devices: @@ -52,8 +53,7 @@ The computer where you install the driver is called the *target computer* or the The process of moving the driver package to the target computer and installing the driver is called *deploying the driver*. You can deploy the USBSAMP sample automatically or manually. -Automatic deployment --------------------- +### Automatic deployment Before you automatically deploy a driver, you must provision the target computer. For instructions, see [Configuring a Computer for Driver Deployment, Testing, and Debugging](http://msdn.microsoft.com/en-us/library/windows/hardware/). @@ -61,8 +61,7 @@ Before you automatically deploy a driver, you must provision the target computer 2. Check **Enable deployment**, and check **Remove previous driver versions before deployment**. For **Target Computer Name**, select the name of a target computer that you provisioned previously. Select **Install and Verify**. Click **OK**. 3. On the **Build** menu, choose **Deploy Package** or **Build Solution**. -Manual deployment ------------------ +### Manual deployment Before you manually deploy a driver, you must turn on test signing and install a certificate on the target computer. You also need to copy the [DevCon](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544707) tool to the target computer. For instructions, see [Preparing a Computer for Manual Driver Deployment](http://msdn.microsoft.com/en-us/library/windows/hardware/dn265571). @@ -81,9 +80,9 @@ Build the sample using MSBuild As an alternative to building the USBSAMP sample in Visual Studio, you can build it in a Visual Studio Command Prompt window. In Visual Studio, on the **Tools** menu, choose **Visual Studio Command Prompt**. In the Visual Studio Command Prompt window, navigate to the folder that has the solution file, Usbsamp.sln. Use the MSBuild command to build the solution. Here are some examples: -**msbuild /p:configuration=”Win7 Debug” /p:platform=”x64” Usbsamp.sln** +**msbuild /p:configuration="Debug" /p:platform="x64" Usbsamp.sln** -**msbuild /p:configuration=”Win8 Release” /p:platform=”Win32” Usbsamp.sln** +**msbuild /p:configuration="Release" /p:platform="Win32" Usbsamp.sln** For more information about using MSBuild to build a driver package, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644). diff --git a/usb/usbview/ReadMe.md b/usb/usbview/ReadMe.md index b627f091..cd117f82 100644 --- a/usb/usbview/ReadMe.md +++ b/usb/usbview/ReadMe.md @@ -3,7 +3,7 @@ USBView sample application Usbview.exe is a Windows GUI application that allows you to browse all USB controllers and connected USB devices on your system. The left pane in the main application window displays a connection-oriented tree view, and the right pane displays the USB data structures pertaining to the selected USB device, such as the Device, Configuration, Interface, and Endpoint Descriptors, as well as the current device configuration. -**Important** If you need UsbView as a tool, do not download this sample. Instead get UsbView.exe from the [Windows Driver Kit (WDK)](http://go.microsoft.com/fwlink/p?linkid=391063) in the Windows Kits\\*\<version\>*\\Tools\\*\<arch\>* folder. If you need to see the source code for UsbView, open the **Browse code** tab. +**Important** If you need UsbView as a tool, do not download this sample. Instead get UsbView.exe from the [Windows Driver Kit (WDK)](http://go.microsoft.com/fwlink/p?linkid=391063) in the Windows Kits\\*\<version\>*\\Tools\\*\<arch\>* folder. If you need to see the source code for UsbView, open the **Browse code** tab. This functional application sample demonstrates how a user-mode application can enumerate USB host controllers, USB hubs, and attached USB devices, and query information about the devices from the registry and through USB requests to the devices. diff --git a/video/KMDOD/ReadMe.md b/video/KMDOD/ReadMe.md index 232a8f65..2e03e292 100644 --- a/video/KMDOD/ReadMe.md +++ b/video/KMDOD/ReadMe.md @@ -3,7 +3,7 @@ Kernel mode display-only miniport driver (KMDOD) sample The kernel mode display-only miniport driver (KMDOD) sample implements most of the device driver interfaces (DDIs) that a display-only miniport driver should provide to the Windows Display Driver Model (WDDM). The code is useful to understand how to write a miniport driver for a display-only device, or how to develop a full WDDM driver. -For more info on how a KMDOD works, see [Kernel Mode Display-Only Driver (KMDOD) Interface](http://msdn.microsoft.com/en-us/library/windows/hardware/jj673962). For more info on WDDM drivers, see [Windows Vista Display Driver Model (WDDM) Design Guide](http://msdn.microsoft.com/en-us/library/windows/hardware/ff570593). +For more info on how a KMDOD works, see [Kernel Mode Display-Only Driver (KMDOD) Interface](http://msdn.microsoft.com/en-us/library/windows/hardware/jj673962). For more info on WDDM drivers, see [Windows Display Driver Model (WDDM) Design Guide](http://msdn.microsoft.com/en-us/library/windows/hardware/ff570593). This code can also help you to understand the use and implementation of display-related DDIs. The INF file shows how to make a display miniport driver visible to other WDDM components. @@ -35,7 +35,7 @@ In some cases you might need to install the driver manually, as follows. `Bcdedit.exe -set TESTSIGNING ON` - **Note** After you change the TESTSIGNING boot configuration option, restart the computer for the change to take effect. + **Note** After you change the TESTSIGNING boot configuration option, restart the computer for the change to take effect. For more info, see [The TESTSIGNING Boot Configuration Option](http://msdn.microsoft.com/en-us/library/windows/hardware/ff553484). diff --git a/wmi/wmisamp/ReadMe.md b/wmi/wmisamp/ReadMe.md index d2449f80..b32c2b04 100644 --- a/wmi/wmisamp/ReadMe.md +++ b/wmi/wmisamp/ReadMe.md @@ -15,9 +15,7 @@ Installation In Visual Studio, you can press F5 to build the sample and then deploy it to a target machine. For more information, see [Deploying a Driver to a Test Computer](http://msdn.microsoft.com/en-us/library/windows/hardware/hh454834). -**Note** - -You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. +**Note** You can obtain redistributable framework updates by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). This package performs a silent install into the directory of your Windows Driver Kit (WDK) installation. You will see no confirmation that the installation has completed. You can verify that the redistributables have been installed on top of the WDK by ensuring there is a redist\\wdf directory under the root directory of the WDK, %ProgramFiles(x86)%\\Windows Kits\\8.0. Testing ------- @@ -38,5 +36,5 @@ WmiMofCk validates that the classes, properties, methods and events specified in - Usage: wmimofck -h\<C Header output file\> -x\<Hexdump output file\> -t\<VBScript test output file\> \<binary mof input file\> -**Note** A byproduct of compiling the .mof file is a .vbs file. This is a VBScript file that is run from the command line on the target machine running the new device driver. It will cause WMI to query all data blocks and properties, and put the results into a .log file. This can be very useful for testing WMI support in your driver. For more sophisticated testing, the VBScript can be extended by hand. +**Note** A byproduct of compiling the .mof file is a .vbs file. This is a VBScript file that is run from the command line on the target machine running the new device driver. It will cause WMI to query all data blocks and properties, and put the results into a .log file. This can be very useful for testing WMI support in your driver. For more sophisticated testing, the VBScript can be extended by hand. diff --git a/wpd/WpdBasicHardwareDriver/ReadMe.md b/wpd/WpdBasicHardwareDriver/ReadMe.md index 856efb06..238860a9 100644 --- a/wpd/WpdBasicHardwareDriver/ReadMe.md +++ b/wpd/WpdBasicHardwareDriver/ReadMe.md @@ -29,7 +29,7 @@ Related topics Installation ------------ -To test this sample, you must have a test computer that is running Windows Vista or later. This test computer can be a second computer or, if necessary, your development computer. +To test this sample, you must have a test computer. This can be a second computer or, if necessary, your development computer. To install the WpdBasicHardwareDriver sample, do the following: @@ -37,7 +37,7 @@ To install the WpdBasicHardwareDriver sample, do the following: 2. Copy the UMDF coinstaller, WUDFUpdate\_*MMmmmm*.dll, from the \\redist\\wdf\\\<architecture\> directory to the same directory (for example, C:\\wpdbasichardwaredriver). - **Note** Starting in Windows 8.1, the WDK no longer contains the co-installers by default. You can obtain the co-installers by downloading and installing the “Windows Driver Framework (WDF)” package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). + **Note** You can obtain the co-installers by downloading and installing the “Windows Driver Framework (WDF)” package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396). 3. Navigate to the directory that contains the INF file and binaries (for example, cd /d c:\\wpdbasichardwaredriver), and run DevCon.exe as follows: **devcon.exe install wpdbasichardwaredriver.inf WUDF\\WpdBasicHardware** diff --git a/wpd/WpdServiceSampleDriver/ReadMe.md b/wpd/WpdServiceSampleDriver/ReadMe.md index 24fcc336..3cdb63e4 100644 --- a/wpd/WpdServiceSampleDriver/ReadMe.md +++ b/wpd/WpdServiceSampleDriver/ReadMe.md @@ -5,7 +5,7 @@ The WpdServiceSampleDriver shows how to extend the WpdHelloWorldDriver sample so A device service is an extension of a functional object. In addition to logically grouping device capabilities, a device service provides applications that can programmatically discover those capabilities. -> **Note** This driver was written in the simplest way to demonstrate concepts. Therefore, the sample driver might perform operations or be structured in a way that are inefficient in a production driver. Additionally, this sample does not use real hardware. Instead, it simulates a device by using data structures in memory. Therefore the driver might be implemented in a way that is unrealistic for production hardware. +**Note** This driver was written in the simplest way to demonstrate concepts. Therefore, the sample driver might perform operations or be structured in a way that are inefficient in a production driver. Additionally, this sample does not use real hardware. Instead, it simulates a device by using data structures in memory. Therefore the driver might be implemented in a way that is unrealistic for production hardware. For a complete description of this sample and its underlying code and functionality, refer to the [WPD Service Sample Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff597714) description in the Windows Driver Kit documentation. |
