Go to the source code of this file.
|
| HSTRING_TABLE WINAPI | pSetupStringTableInitialize (VOID) |
| |
| HSTRING_TABLE WINAPI | pSetupStringTableInitializeEx (DWORD dwMaxExtraDataSize, DWORD dwReserved) |
| |
| VOID WINAPI | pSetupStringTableDestroy (HSTRING_TABLE hStringTable) |
| |
| DWORD WINAPI | pSetupStringTableAddString (HSTRING_TABLE hStringTable, LPWSTR lpString, DWORD dwFlags) |
| |
| DWORD WINAPI | pSetupStringTableAddStringEx (HSTRING_TABLE hStringTable, LPWSTR lpString, DWORD dwFlags, LPVOID lpExtraData, DWORD dwExtraDataSize) |
| |
| HSTRING_TABLE WINAPI | pSetupStringTableDuplicate (HSTRING_TABLE hStringTable) |
| |
| BOOL WINAPI | pSetupStringTableGetExtraData (HSTRING_TABLE hStringTable, DWORD dwId, LPVOID lpExtraData, DWORD dwExtraDataSize) |
| |
| DWORD WINAPI | pSetupStringTableLookUpString (HSTRING_TABLE hStringTable, LPWSTR lpString, DWORD dwFlags) |
| |
| DWORD WINAPI | pSetupStringTableLookUpStringEx (HSTRING_TABLE hStringTable, LPWSTR lpString, DWORD dwFlags, LPVOID lpExtraData, DWORD dwReserved) |
| |
| BOOL WINAPI | pSetupStringTableSetExtraData (HSTRING_TABLE hStringTable, DWORD dwId, LPVOID lpExtraData, DWORD dwExtraDataSize) |
| |
| LPWSTR WINAPI | pSetupStringTableStringFromId (HSTRING_TABLE hStringTable, DWORD dwId) |
| |
| BOOL WINAPI | pSetupStringTableStringFromIdEx (HSTRING_TABLE hStringTable, DWORD dwId, LPWSTR lpBuffer, LPDWORD lpBufferLength) |
| |
◆ TABLE_DEFAULT_SIZE
| #define TABLE_DEFAULT_SIZE 256 |
◆ PSTRING_TABLE
◆ PTABLE_SLOT
◆ STRING_TABLE
◆ TABLE_SLOT
◆ pSetupStringTableAddString()
Definition at line 196 of file stringtable.c.
199{
202
204
206 if (pStringTable ==
NULL)
207 {
208 ERR(
"Invalid hStringTable!\n");
210 }
211
212
214 {
216 {
218 {
220 {
222 }
223 }
224 else
225 {
227 {
229 }
230 }
231 }
232 }
233
234
236 {
239
240
243 if (pNewSlots ==
NULL)
250
252 }
253
254
256 {
258 {
261 {
262 TRACE(
"Couldn't allocate memory for a new string!\n");
264 }
265
267
269
271 }
272 }
273
274 TRACE(
"Couldn't find an empty slot!\n");
275
277}
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
LPVOID WINAPI MyMalloc(DWORD dwSize)
VOID WINAPI MyFree(LPVOID lpMem)
struct _STRING_TABLE * PSTRING_TABLE
DWORD WINAPI pSetupStringTableAddString(HSTRING_TABLE hStringTable, LPWSTR lpString, DWORD dwFlags)
#define InterlockedExchangePointer(Target, Value)
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 memcpy(s1, s2, n)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Referenced by CM_Connect_MachineW(), CM_Create_DevNode_ExW(), CM_Get_Child_Ex(), CM_Get_Parent_Ex(), CM_Get_Sibling_Ex(), CM_Locate_DevNode_ExW(), PnpGetLocalHandles(), and pSetupStringTableAddString().
◆ pSetupStringTableAddStringEx()
Definition at line 303 of file stringtable.c.
308{
311
313
315 if (pStringTable ==
NULL)
316 {
317 ERR(
"Invalid hStringTable!\n");
319 }
320
321
323 {
325 {
327 {
329 {
331 }
332 }
333 else
334 {
336 {
338 }
339 }
340 }
341 }
342
343
345 {
346 FIXME(
"Resize the string table!\n");
348 }
349
350
352 {
354 {
357 {
358 TRACE(
"Couldn't allocate memory for a new string!\n");
360 }
361
363
366 {
367 TRACE(
"Couldn't allocate memory for a new extra data!\n");
371 }
372
374 lpExtraData,
375 dwExtraDataSize);
377
379
381 }
382 }
383
384 TRACE(
"Couldn't find an empty slot!\n");
385
387}
◆ pSetupStringTableDestroy()
◆ pSetupStringTableDuplicate()
Definition at line 404 of file stringtable.c.
405{
410
411 TRACE(
"%p\n", hStringTable);
412
414 if (pSourceTable ==
NULL)
415 {
416 ERR(
"Invalid hStringTable!\n");
418 }
419
421 if (pDestinationTable ==
NULL)
422 {
423 ERR(
"Could not allocate a new string table!\n");
425 }
426
428
431 {
432 MyFree(pDestinationTable);
434 }
435
437
440
442 {
444 {
448 {
453 }
454
456 {
460 {
465 }
466 }
467 }
468 }
469
471}
GLuint GLsizei GLsizei * length
◆ pSetupStringTableGetExtraData()
Definition at line 490 of file stringtable.c.
494{
496
497 TRACE(
"%p %x %p %u\n",
498 hStringTable, dwId, lpExtraData, dwExtraDataSize);
499
501 if (pStringTable ==
NULL)
502 {
503 ERR(
"Invalid hStringTable!\n");
505 }
506
507 if (dwId == 0 || dwId > pStringTable->
dwMaxSlots)
508 {
509 ERR(
"Invalid Slot id!\n");
511 }
512
513 if (pStringTable->
pSlots[dwId - 1].
dwSize < dwExtraDataSize)
514 {
515 ERR(
"Data size is too large!\n");
517 }
518
521 dwExtraDataSize);
522
524}
◆ pSetupStringTableInitialize()
◆ pSetupStringTableInitializeEx()
Definition at line 102 of file stringtable.c.
104{
106
108
110 if (pStringTable ==
NULL)
return NULL;
111
113
116 {
119 }
120
122
126
128
130}
◆ pSetupStringTableLookUpString()
Definition at line 543 of file stringtable.c.
546{
549
551
553 if (pStringTable ==
NULL)
554 {
555 ERR(
"Invalid hStringTable!\n");
557 }
558
559
561 {
563 {
565 {
568 }
569 else
570 {
573 }
574 }
575 }
576
578}
◆ pSetupStringTableLookUpStringEx()
Definition at line 599 of file stringtable.c.
604{
607
610
612 if (pStringTable ==
NULL)
613 {
614 ERR(
"Invalid hStringTable!\n");
616 }
617
618
620 {
622 {
624 {
626 {
627 if (lpExtraData)
630 }
631 }
632 else
633 {
635 {
636 if (lpExtraData)
639 }
640 }
641 }
642 }
644}
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 * u
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
◆ pSetupStringTableSetExtraData()
Definition at line 663 of file stringtable.c.
667{
669
670 TRACE(
"%p %x %p %u\n",
671 hStringTable, dwId, lpExtraData, dwExtraDataSize);
672
674 if (pStringTable ==
NULL)
675 {
676 ERR(
"Invalid hStringTable!\n");
678 }
679
680 if (dwId == 0 || dwId > pStringTable->
dwMaxSlots)
681 {
682 ERR(
"Invalid Slot id!\n");
684 }
685
687 {
688 ERR(
"Data size is too large!\n");
690 }
691
694 {
697 }
698
700 lpExtraData,
701 dwExtraDataSize);
702 pStringTable->
pSlots[dwId - 1].
dwSize = dwExtraDataSize;
703
705}
◆ pSetupStringTableStringFromId()
Definition at line 722 of file stringtable.c.
724{
727
728 TRACE(
"%p %x\n", hStringTable, dwId);
729
731 if (pStringTable ==
NULL)
732 {
733 ERR(
"Invalid hStringTable!\n");
735 }
736
737 if (dwId == 0 || dwId > pStringTable->
dwMaxSlots)
739
741}
static const WCHAR empty[1]
Referenced by CM_Add_Empty_Log_Conf_Ex(), CM_Add_ID_ExW(), CM_Create_DevNode_ExW(), CM_Delete_DevNode_Key_Ex(), CM_Disable_DevNode_Ex(), CM_Enable_DevNode_Ex(), CM_Free_Log_Conf_Ex(), CM_Get_Child_Ex(), CM_Get_Depth_Ex(), CM_Get_Device_ID_Size_Ex(), CM_Get_DevNode_Custom_Property_ExW(), CM_Get_DevNode_Registry_Property_ExW(), CM_Get_DevNode_Status_Ex(), CM_Get_First_Log_Conf_Ex(), CM_Get_Log_Conf_Priority_Ex(), CM_Get_Next_Log_Conf_Ex(), CM_Get_Next_Res_Des_Ex(), CM_Get_Parent_Ex(), CM_Get_Sibling_Ex(), CM_Move_DevNode_Ex(), CM_Open_DevNode_Key_Ex(), CM_Query_And_Remove_SubTree_ExW(), CM_Query_Arbitrator_Free_Data_Ex(), CM_Query_Arbitrator_Free_Size_Ex(), CM_Query_Resource_Conflict_List(), CM_Reenumerate_DevNode_Ex(), CM_Register_Device_Driver_Ex(), CM_Register_Device_Interface_ExW(), CM_Request_Device_Eject_ExW(), CM_Set_DevNode_Problem_Ex(), CM_Set_DevNode_Registry_Property_ExW(), CM_Setup_DevNode_Ex(), and CM_Uninstall_DevNode_Ex().
◆ pSetupStringTableStringFromIdEx()
Definition at line 760 of file stringtable.c.
764{
768
769 TRACE(
"%p %x %p %p\n", hStringTable, dwId,
lpBuffer, lpBufferLength);
770
772 if (pStringTable ==
NULL)
773 {
774 ERR(
"Invalid hStringTable!\n");
775 *lpBufferLength = 0;
777 }
778
779 if (dwId == 0 || dwId > pStringTable->
dwMaxSlots ||
781 {
782 WARN(
"Invalid string ID!\n");
783 *lpBufferLength = 0;
785 }
786
789 {
792 }
793
795
796 return bResult;
797}
static DWORD DWORD * dwLength
Referenced by CM_Get_Device_ID_ExW().