100 lines
1.8 KiB
C
100 lines
1.8 KiB
C
// #pragma comment(exestr, "@(#) r94ainfo.c 1.1 95/09/28 15:48:57 nec")
|
|
/*++
|
|
|
|
Copyright (C) 1991-1995 Microsoft Corporation
|
|
All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
ixinfo.c
|
|
|
|
Abstract:
|
|
|
|
Environment:
|
|
|
|
Kernel mode only.
|
|
|
|
Revision History
|
|
|
|
A002 1995/6/17 ataka@oa2.kb.nec.co.jp
|
|
- Marge 807-halr98mp-ixinfo.h to 1050-halx86-r98info.h
|
|
|
|
--*/
|
|
|
|
|
|
#include "halp.h"
|
|
|
|
NTSTATUS
|
|
HalpQueryInstalledBusInformation (
|
|
OUT PVOID Buffer,
|
|
IN ULONG BufferLength,
|
|
OUT PULONG ReturnedLength
|
|
);
|
|
|
|
|
|
#ifdef ALLOC_PRAGMA
|
|
#pragma alloc_text(PAGE,HaliQuerySystemInformation)
|
|
#pragma alloc_text(PAGE,HaliSetSystemInformation)
|
|
#endif
|
|
|
|
NTSTATUS
|
|
HaliQuerySystemInformation(
|
|
IN HAL_QUERY_INFORMATION_CLASS InformationClass,
|
|
IN ULONG BufferSize,
|
|
OUT PVOID Buffer,
|
|
OUT PULONG ReturnedLength
|
|
)
|
|
{
|
|
NTSTATUS Status;
|
|
PVOID InternalBuffer;
|
|
ULONG Length;
|
|
|
|
PAGED_CODE();
|
|
|
|
Status = STATUS_SUCCESS;
|
|
*ReturnedLength = 0;
|
|
Length = 0;
|
|
|
|
switch (InformationClass) {
|
|
case HalInstalledBusInformation:
|
|
Status = HalpQueryInstalledBusInformation (
|
|
Buffer,
|
|
BufferSize,
|
|
ReturnedLength
|
|
);
|
|
break;
|
|
|
|
default:
|
|
Status = STATUS_INVALID_LEVEL;
|
|
break;
|
|
}
|
|
|
|
//
|
|
// If non-zero Length copy data to callers buffer
|
|
//
|
|
|
|
if (Length) {
|
|
if (BufferSize < Length) {
|
|
Length = BufferSize;
|
|
}
|
|
|
|
*ReturnedLength = Length;
|
|
RtlCopyMemory (Buffer, InternalBuffer, Length);
|
|
}
|
|
|
|
return Status;
|
|
}
|
|
|
|
NTSTATUS
|
|
HaliSetSystemInformation (
|
|
IN HAL_SET_INFORMATION_CLASS InformationClass,
|
|
IN ULONG BufferSize,
|
|
IN PVOID Buffer
|
|
)
|
|
{
|
|
PAGED_CODE();
|
|
return STATUS_INVALID_LEVEL;
|
|
}
|
|
|
|
|