Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1999.
//
// File: E D C . H
//
// Contents: Routines to enumerate (via a callback) the set of "default"
// components that are installed under various conditions.
//
// Notes: We have default components and mandatory components.
// Default components (which also include the mandatory
// components) are installed during attended fresh installs.
// Mandatory components are potentially installed during
// upgrades to make sure that the basic (mandatory) networking
// components are present.
//
// Default components may also depend on on the suite or platform
// currently running. For example, WLBS is a default component
// on the Enterprise suite, but not on normal Professional or
// Server products. Representing this flexibility is the main
// reason a callback interface was chosen, instead of returning
// static arrays of components.
//
// Callers often need to know how many components will be
// enumerated before they actually enumerate them. To satisfy
// this, the callback is first called with the count of items
// to follow. The callback routine therefore is passed a
// message (EDC_INDICATE_COUNT or EDC_INDICATE_ENTRY) to indicate
// the purpose of the call.
//
// Author: shaunco 18 May 1999
//
//----------------------------------------------------------------------------
#pragma once
// EDC_ENTRY.dwEntryType values
//
#define EDC_DEFAULT 0x00000001
#define EDC_MANDATORY 0x00000002
struct EDC_ENTRY { PCWSTR pszInfId; const GUID* pguidDevClass; DWORD dwEntryType; USHORT wSuiteMask; USHORT wProductType; BOOL fInvertInstallCheck; };
enum EDC_CALLBACK_MESSAGE { EDC_INDICATE_COUNT, // ulData is a UINT
EDC_INDICATE_ENTRY, // ulData is a const EDC_ENTRY*
};
typedef VOID (CALLBACK* PFN_EDC_CALLBACK) ( IN EDC_CALLBACK_MESSAGE Message, IN ULONG_PTR MessageData, IN PVOID pvCallerData OPTIONAL);
VOID EnumDefaultComponents ( IN DWORD dwEntryType, IN PFN_EDC_CALLBACK pfnCallback, IN PVOID pvCallerData OPTIONAL);
|