windows-nt/Source/XPSP1/NT/base/pnp/cfgmgr32/cfgi.h
2020-09-26 16:20:57 +08:00

118 lines
1.9 KiB
C

/*++
Copyright (c) 1995-2001 Microsoft Corporation
Module Name:
cfgi.h
Abstract:
This module contains the internal structure definitions and APIs used by
the Configuration Manager.
Author:
Jim Cavalaris (jamesca) 03-01-2001
Environment:
User-mode only.
Revision History:
01-March-2001 jamesca
Creation and initial implementation.
--*/
#ifndef _CFGI_H_
#define _CFGI_H_
//
// Client machine handle structure and signature
//
typedef struct PnP_Machine_s {
PVOID hStringTable;
PVOID hBindingHandle;
WORD wVersion;
ULONG ulSignature;
WCHAR szMachineName[MAX_PATH + 3];
} PNP_MACHINE, *PPNP_MACHINE;
#define MACHINE_HANDLE_SIGNATURE 'HMPP'
//
// Client context handle signature
//
#define CLIENT_CONTEXT_SIGNATURE 'HCPP'
//
// Client string table priming string
//
#define PRIMING_STRING TEXT("PLT")
//
// Client side private utility routines
//
BOOL
INVALID_DEVINST(
IN PWSTR pDeviceID
);
VOID
CopyFixedUpDeviceId(
OUT LPTSTR DestinationString,
IN LPCTSTR SourceString,
IN DWORD SourceStringLen
);
CONFIGRET
PnPUnicodeToMultiByte(
IN PWSTR UnicodeString,
IN ULONG UnicodeStringLen,
OUT PSTR AnsiString OPTIONAL,
IN OUT PULONG AnsiStringLen
);
CONFIGRET
PnPMultiByteToUnicode(
IN PSTR AnsiString,
IN ULONG AnsiStringLen,
OUT PWSTR UnicodeString OPTIONAL,
IN OUT PULONG UnicodeStringLen
);
BOOL
PnPGetGlobalHandles(
IN HMACHINE hMachine,
PVOID *phStringTable OPTIONAL,
PVOID *phBindingHandle OPTIONAL
);
BOOL
PnPRetrieveMachineName(
IN HMACHINE hMachine,
OUT LPWSTR pszMachineName
);
BOOL
PnPGetVersion(
IN HMACHINE hMachine,
IN WORD* pwVersion
);
#endif // _CFGI_H_