Skip to content

Converts the official Windows Driver/Win32 documentation to a convenient format with scraped code definitions

Notifications You must be signed in to change notification settings

m417z/windows-docs-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows Docs Scraper

A Python script that uses the official Windows Driver Kit DDI reference documentation sources or the official Win32 API reference documentation sources and stores them in a more convenient format, along with function prototypes which are scraped from the online documentation.

Scope

Scraped files:

  • nc-*.md: Callbacks
  • ne-*.md: Enums
  • nf-*.md: Functions
  • ni-*.md: IOCTLs
  • ns-*.md: Structs

Files which are intentionally ignored:

  • na-*.md: Headers
  • nl-*.md: Classes
  • nn-*.md: Interfaces

Example API reference entry

Function

NtWriteFile

Repository file

<windows-driver-docs-ddi>\wdk-ddi-src\content\ntifs\nf-ntifs-ntwritefile.md

A markdown documentation file with YAML Front Matter metadata.

Online documentation

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/content/ntifs/nf-ntifs-ntwritefile

Example output

Documentation

<output-folder>\ntifs\nf-ntifs-ntwritefile.md

Markdown file without the YAML Front Matter metadata.

Metadata

<output-folder>\ntifs\nf-ntifs-ntwritefile.json

JSON file with metadata extracted from the YAML Front Matter.

Prototype

<output-folder>\ntifs\nf-ntifs-ntwritefile.c

C file with the function prototype, scraped from the online documentation.

Usage

python scraper.py \
    --input <windows-driver-docs-ddi> \
    --output <output-folder> \
    --content-path wdk-ddi-src/content \
    --base-url https://learn.microsoft.com/windows-hardware/drivers/ddi/

About

Converts the official Windows Driver/Win32 documentation to a convenient format with scraped code definitions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages