36#define _COMPONENT ACPI_BUS_COMPONENT
42#ifdef ACPI_DEBUG_OUTPUT
43 char prefix[80] = {
'\0'};
88 format_count = (
format->Length/
sizeof(
char)) - 1;
89 if (format_count > package->
Package.Count) {
90 ACPI_DEBUG_PRINT((ACPI_DB_WARN,
"Format specifies more objects [%d] than exist in package [%d].", format_count, package->package.count));
99 for (
i=0;
i<format_count;
i++) {
117 tail_offset +=
sizeof(
char*);
130 size_required +=
sizeof(
char*) + (
element->String.Length *
sizeof(
char)) +
sizeof(
char);
131 tail_offset +=
sizeof(
char*);
135 tail_offset +=
sizeof(
UINT8*);
156 if (
buffer->Length < size_required) {
157 buffer->Length = size_required;
160 else if (
buffer->Length != size_required || !
buffer->Pointer) {
170 for (
i=0;
i<format_count;
i++) {
210 head +=
sizeof(
char*);
246 unsigned long long *
data)
301 package = (ACPI_OBJECT *) buffer.Pointer;
303 if ((
buffer.Length == 0) || !package) {
305 "No return object (len %X ptr %p)\n",
313 "Expecting a [Package], found type %X\n",
319 if (!package->Package.Count) {
321 "[Package] has zero elements (%p)\n",
331 list->count = package->Package.Count;
335 for (
i = 0;
i <
list->count;
i++) {
337 element = &(package->Package.Elements[
i]);
342 "Expecting a [Reference] package element, found type %X\n",
348 if (!
element->Reference.Handle) {
381 char OemId[7] = { 0 };
382 char OemTableId[9] = { 0 };
383 WCHAR OemRevision[9] = { 0 };
417 DPRINT1(
"RtlAnsiStringToUnicodeString() for %s failed (Status 0x%08lx)\n", HardwareKeyNameA,
Status);
438 DPRINT1(
"ZwCreateKey() for %s failed (Status 0x%08lx)\n", HardwareKeyNameA,
Status);
447 DPRINT1(
"RtlAnsiStringToUnicodeString() for %s failed (Status 0x%08lx)\n", HardwareKeyNameA,
Status);
468 DPRINT1(
"ZwCreateKey() for %s failed (Status 0x%08lx)\n", HardwareKeyNameA,
Status);
517 DPRINT1(
"ZwSetValueKey() failed (Status 0x%08lx)\n",
Status);
533 ACPI_PHYSICAL_ADDRESS RsdpAddress;
553 DPRINT1(
"ZwCreateKey() for ACPI failed (Status 0x%08lx)\n",
Status);
560 DPRINT1(
"AcpiGetTable() for DSDT failed (Status 0x%08lx)\n", AcpiStatus);
568 DPRINT1(
"acpi_dump_table_to_registry() for DSDT failed (Status 0x%08lx)\n",
Status);
575 DPRINT1(
"AcpiGetTable() for FACS failed (Status 0x%08lx)\n", AcpiStatus);
583 DPRINT1(
"acpi_dump_table_to_registry() for FACS failed (Status 0x%08lx)\n",
Status);
590 DPRINT1(
"AcpiGetTable() for FADT failed (Status 0x%08lx)\n", AcpiStatus);
598 DPRINT1(
"acpi_dump_table_to_registry() for FADT failed (Status 0x%08lx)\n",
Status);
607 DPRINT1(
"AcpiOsMapMemory() failed\n");
614 !AcpiGbl_DoNotUseXsdt)
638 DPRINT1(
"AcpiOsMapMemory() failed\n");
647 DPRINT1(
"acpi_dump_table_to_registry() for RSDT failed (Status 0x%08lx)\n",
Status);
#define AE_BUFFER_OVERFLOW
#define ACPI_DEBUG_PRINT(pl)
#define ACPI_MODULE_NAME(Name)
#define return_ACPI_STATUS(s)
#define ACPI_FUNCTION_TRACE(a)
void AcpiOsFree(void *Memory)
void * AcpiOsMapMemory(ACPI_PHYSICAL_ADDRESS Where, ACPI_SIZE Length)
ACPI_PHYSICAL_ADDRESS AcpiOsGetRootPointer(void)
void AcpiOsUnmapMemory(void *LogicalAddress, ACPI_SIZE Size)
#define ACPI_RSDT_ENTRY_SIZE
#define ACPI_XSDT_ENTRY_SIZE
#define ACPI_TYPE_LOCAL_REFERENCE
union acpi_object ACPI_OBJECT
#define ACPI_ALLOCATE_BUFFER
#define ACPI_TYPE_INTEGER
#define ACPI_FULL_PATHNAME
#define ACPI_TYPE_PACKAGE
struct outqueuenode * tail
struct outqueuenode * head
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
ACPI_STATUS acpi_extract_package(ACPI_OBJECT *package, ACPI_BUFFER *format, ACPI_BUFFER *buffer)
ACPI_STATUS acpi_evaluate_integer(ACPI_HANDLE handle, ACPI_STRING pathname, ACPI_OBJECT_LIST *arguments, unsigned long long *data)
ACPI_STATUS acpi_evaluate_reference(ACPI_HANDLE handle, ACPI_STRING pathname, ACPI_OBJECT_LIST *arguments, struct acpi_handle_list *list)
static void acpi_util_eval_error(ACPI_HANDLE h, ACPI_STRING p, ACPI_STATUS s)
NTSTATUS acpi_create_volatile_registry_tables(void)
NTSTATUS acpi_create_registry_table(HANDLE ParentKeyHandle, ACPI_TABLE_HEADER *OutTable, PCWSTR KeyName)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei const GLvoid * pointer
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define OBJ_KERNEL_HANDLE
#define OBJ_CASE_INSENSITIVE
#define RTL_FIELD_SIZE(type, field)
#define memcpy(s1, s2, n)
const char * format_string(const WAVEFORMATEX *wfx)
#define InitializeObjectAttributes(p, n, a, r, s)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING _Out_ PNDIS_HANDLE SubKeyHandle
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
ACPI_STATUS AcpiEvaluateObject(ACPI_HANDLE Handle, ACPI_STRING Pathname, ACPI_OBJECT_LIST *ExternalParams, ACPI_BUFFER *ReturnBuffer)
ACPI_STATUS AcpiGetName(ACPI_HANDLE Handle, UINT32 NameType, ACPI_BUFFER *Buffer)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
#define REG_OPTION_VOLATILE
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
NTSTRSAFEVAPI RtlStringCbPrintfW(_Out_writes_bytes_(cbDest) _Always_(_Post_z_) NTSTRSAFE_PWSTR pszDest, _In_ size_t cbDest, _In_ _Printf_format_string_ NTSTRSAFE_PCWSTR pszFormat,...)
UINT64 XsdtPhysicalAddress
UINT32 RsdtPhysicalAddress
ACPI_STATUS AcpiGetTable(char *Signature, UINT32 Instance, ACPI_TABLE_HEADER **OutTable)
#define RTL_CONSTANT_STRING(s)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_UNSUCCESSFUL
struct acpi_object::@622 Package
const char * AcpiFormatException(ACPI_STATUS Status)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName